1.直接在节点上增加VALUE NODE。

2.写GET,SET,I,P的相关实现

  method GET_ZH12.
DATA: lr_current TYPE REF TO if_bol_bo_property_access,
lr_coll TYPE REF TO if_bol_entity_col,
lr_iter TYPE REF TO if_bol_bo_col_iterator,
ls_text TYPE crmst_text_btil,
ls_admin_h TYPE crmst_adminh_btil,
lr_texth TYPE REF TO cl_crm_bol_entity,
lr_text TYPE REF TO cl_crm_bol_entity,
lr_entity TYPE REF TO cl_crm_bol_entity.
*************************************************************************************************** IF iterator IS BOUND.
lr_current = iterator->get_current( ).
ELSE.
lr_current = collection_wrapper->get_current( ).
ENDIF. CALL METHOD lr_current->get_properties
IMPORTING
es_attributes = ls_admin_h. TRY.
lr_entity ?= lr_current.
lr_coll = lr_entity->get_related_entities( iv_relation_name = 'BTHeaderTextSet' ). "#EC NOTEXT
lr_current = lr_coll->get_current( ).
CHECK lr_current IS BOUND. lr_texth ?= lr_current.
lr_coll = lr_texth->get_related_entities( iv_relation_name = 'BTTextHAll' ). "#EC NOTEXT IF lr_coll IS NOT BOUND OR lr_coll->size( ) = . ELSE.
IF lr_coll->size( ) > .
lr_iter = lr_coll->if_bol_bo_col~get_iterator( ).
IF lr_iter IS BOUND.
lr_text ?= lr_iter->find_by_property( EXPORTING iv_attr_name = 'TDID' iv_value = 'ZH12' ).
ENDIF.
ENDIF.
ENDIF. IF lr_text IS BOUND.
TRY.
lr_text->get_property_as_value( EXPORTING iv_attr_name = 'CONC_LINES'
IMPORTING ev_result = value ). "#EC NOTEXT
CATCH cx_crm_cic_parameter_error.
ENDTRY.
ELSE.
IF lr_texth->is_changeable( ) = abap_true.
TRY.
lr_text = lr_texth->create_related_entity( iv_relation_name = 'BTTextHAll' ).
CALL METHOD lr_text->if_bol_bo_property_access~get_properties
IMPORTING
es_attributes = ls_text. ls_text-tdobject = 'CRM_ORDERH' .
ls_text-tdname = ls_admin_h-guid .
ls_text-tdid = 'ZH12'.
ls_text-tdspras = 'E' . CALL METHOD lr_text->if_bol_bo_property_access~set_properties
EXPORTING
is_attributes = ls_text. lr_text->deactivate_sending( ).
CATCH cx_crm_genil_model_error cx_crm_genil_duplicate_rel.
RETURN.
ENDTRY.
ENDIF.
ENDIF. CATCH cx_sy_ref_is_initial cx_sy_move_cast_error
cx_crm_genil_model_error.
RETURN.
ENDTRY. endmethod.
  method SET_ZH12.
DATA: lr_current TYPE REF TO if_bol_bo_property_access,
lr_texth TYPE REF TO cl_crm_bol_entity,
lr_text TYPE REF TO cl_crm_bol_entity,
lr_dref TYPE REF TO data,
lr_copy TYPE REF TO data,
lr_iter TYPE REF TO if_bol_bo_col_iterator,
ls_text TYPE crmst_text_btil,
ls_admin_h TYPE crmst_adminh_btil,
lr_coll TYPE REF TO if_bol_entity_col,
lr_entity TYPE REF TO cl_crm_bol_entity.
DATA:ls_crmst_adminh_btil TYPE crmst_adminh_btil,
ls_crmt_orgman_wrk TYPE crmt_orgman_wrk. FIELD-SYMBOLS: <nval> TYPE any,
<oval> TYPE any.
*************************************************************************************************** IF iterator IS BOUND.
lr_current = iterator->get_current( ).
ELSE.
lr_current = collection_wrapper->get_current( ).
ENDIF. CALL METHOD lr_current->get_properties
IMPORTING
es_attributes = ls_admin_h. TRY.
lr_entity ?= lr_current.
lr_coll = lr_entity->get_related_entities( iv_relation_name = 'BTHeaderTextSet' ). "#EC NOTEXT
lr_current = lr_coll->get_current( ).
CHECK lr_current IS BOUND. lr_texth ?= lr_current.
lr_coll = lr_texth->get_related_entities( iv_relation_name = 'BTTextHAll' ). "#EC NOTEXT
IF lr_coll->size( ) > .
lr_iter = lr_coll->if_bol_bo_col~get_iterator( ).
IF lr_iter IS BOUND.
lr_text ?= lr_iter->find_by_property( EXPORTING iv_attr_name = 'TDID' iv_value = 'ZH12' ).
ENDIF.
ENDIF.
***********************************add by dq-yuw
IF lr_text IS NOT BOUND. IF lr_texth->is_changeable( ) = abap_true.
TRY.
lr_text = lr_texth->create_related_entity( iv_relation_name = 'BTTextHAll' ).
CALL METHOD lr_text->if_bol_bo_property_access~get_properties
IMPORTING
es_attributes = ls_text. ls_text-tdobject = 'CRM_ORDERH' .
ls_text-tdname = ls_admin_h-guid .
ls_text-tdid = 'ZH12'.
ls_text-tdspras = 'E' . CALL METHOD lr_text->if_bol_bo_property_access~set_properties
EXPORTING
is_attributes = ls_text. lr_text->deactivate_sending( ).
CATCH cx_crm_genil_model_error cx_crm_genil_duplicate_rel.
RETURN.
ENDTRY.
ENDIF. ENDIF.
************************************************************** TRY.
lr_dref = lr_text->get_property( 'CONC_LINES' ). "#EC NOTEXT
CATCH cx_crm_cic_parameter_error.
RETURN.
ENDTRY. CATCH cx_sy_ref_is_initial cx_sy_move_cast_error
cx_crm_genil_model_error.
RETURN.
ENDTRY.
CHECK lr_dref IS BOUND. ASSIGN lr_dref->* TO <oval>.
CREATE DATA lr_copy LIKE <oval>.
ASSIGN lr_copy->* TO <nval>. TRY.
CALL METHOD if_bsp_model_util~convert_from_string
EXPORTING
data_ref = lr_copy
value = value.
CATCH cx_sy_conversion_error.
RAISE EXCEPTION TYPE cx_bsp_conv_failed
EXPORTING
name = 'TEXT'. "#EC NOTEXT
ENDTRY. IF <nval> NE <oval>.
lr_text->set_property( iv_attr_name = 'CONC_LINES' "#EC NOTEXT
iv_value = <nval> ).
ENDIF. endmethod.
METHOD GET_P_ZH12.

  CASE IV_PROPERTY.
WHEN IF_BSP_WD_MODEL_SETTER_GETTER=>FP_FIELDTYPE.
RV_VALUE = CL_BSP_DLC_VIEW_DESCRIPTOR=>FIELD_TYPE_TEXTAREA.
WHEN IF_BSP_WD_MODEL_SETTER_GETTER=>FP_TEXTAREA_ROWS.
RV_VALUE = .
ENDCASE. ENDMETHOD.

UI 增加文本的更多相关文章

  1. 文字如何实现完美UI?文本排版设计告诉你

    一部手机,电量充足,网络通畅,就足以让我们打发一天的时光,尽情沉浸在手机时代的缤纷世界里.这个信息资源无穷尽的手机网络世界,是设计师和开发者们在不停的探索中一路一步精心打造.如何进一步美化这个世界,优 ...

  2. js实现点击增加文本输入框

    html代码: <ul id="ulid21" > <li id="li11" >问卷选项设置:</li> </ul& ...

  3. IOS开发UI基础文本属性Attributes

    文本属性Attributes 1.NSKernAttributeName: @10 调整字句 kerning 字句调整 2.NSFontAttributeName : [UIFont systemFo ...

  4. redmine增加文本输入框默认格式

    需求:击一个按钮,在文本输入区域自动生成如下图的内容: 1. 详细描述: 2. 详细步骤: 3. 期望结果: 4. 实际结果: 实现过程: 1 打开文件\apps\redmine\public\jav ...

  5. JTextArea利用JScrollpane增加文本域滚轮(滚动条)

    JTextArea加滚轮的几种方法 JTextArea txaDisplay = new JTextArea(); JScrollPane scroll = new JScrollPane(txaDi ...

  6. UI设计文本框解决Placeholder的在IE10 以下 IE 9 IE8 IE 7 的兼容问题

    创建JS文件 placeholderfriend.js (function($) { /** * 牛叉的解决方案 */ var placeholderfriend = { focus: functio ...

  7. C# 多线程详解 Part.02(UI 线程和子线程的互动、ProgressBar 的异步调用)

           我们先来看一段运行时会抛出 InvalidOperationException 异常的代码段: private void btnThreadA_Click(object sender, ...

  8. 【Unity】UGUI聊天消息气泡 随文本内容自适应

    游戏中需要用做UGUI做聊天界面.其中聊天气泡ChatItem的UI要求能随着聊天内容文本的长度自适应的. 网上搜了一下聊天气泡的UI,发现都不太符合咱的需求,具体来说是文本宽度不足一行时,文本宽度自 ...

  9. NopCommerce 增加 Customer Field

    预期效果: Customer表新增一个Column 该新增字段可以在Admin段 新增 修改 列表查询及显示 示例步骤: 0.数据库表修改 alter table [Customer] add Mem ...

随机推荐

  1. 接口测试工具-Jmeter使用笔记(七:用户定义的变量)

    使用场景:一组API根据业务流程制作成测试脚本,想要移植到其他测试环境时,由于数据库发生了变更,有些初始化数据也相应发生了变化,例如环境地址.请求路径等等.博主甚至把服务器地址和接口的部分共同请求路径 ...

  2. wordpress调用the_excerpt()不带<p>标签

    我们知道wordpress调用摘要内容用<?php the_excerpt(); ?>就可以,但是它会自动添加一个p标签,例如<p>这里是description</p&g ...

  3. python框架之Django(10)-Form组件

    介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来.与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入 ...

  4. python之requests模块快速上手

    安装 pip3 install requests 使用 发送请求 import requests r = requests.get('http://www.baidu.com') 还可以如下方式发送不 ...

  5. [js]js设计模式-原型模式

    构造函数模型- 对象的属性和方法每人一份 function createJs(name, age) { this.name = name; this.age = age; this.writeJs = ...

  6. 关于绕过域名(ip)校验的一些小知识

    这篇文章最开始只是想写一个关于绕过referer的方法,写着写着发现和ssrf以及url跳转的一些手法类似,于是把这两种也加上了 对referer做校验一般是对csrf进行防范的手段之一,但是很多时候 ...

  7. Java IO--BIO

    一.java io 概述 1.1 相关概念 Java IO Java IO即Java 输入输出系统.不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这 ...

  8. JavaScript 原型链学习(一)原型对象

    在JavaScript中创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有的实例共享的属性和方法.如果按照字面意思来理解 ...

  9. jqueryd的post传递表单以及取消表单的默认传递

    //取消表单的默认传递: <form method="post" onsubmit="return false;"> 在FORM属性里添加 onsu ...

  10. Reading Lines from File in C++

    Reading Lines from File in C++ In C++, istringstream has been used to read lines from a file. code: ...