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. SpringMVC(四):什么是HandlerAdapter

    一.什么是HandlerAdapter Note that a handler can be of type Object. This is to enable handlers from other ...

  2. selenium定位下拉框

    下拉选择框(Select) <div> <p>下拉选择框框 Select</p> <select id="proAddItem_kind" ...

  3. ASP.NET CORE 2.0 Uses SignalR Technology

    https://www.codeproject.com/Articles/1208322/ASP-NET-CORE-Uses-SignalR-Technology

  4. python2精确除法

    python2和python3除法的最大区别: python2: print 500/1000 python2结果:取整数部分,小数并没有保留 0 Process finished with exit ...

  5. 使用dbeaver查mysql的表会导致锁表的问题

    查询完成之后接着需要使用rollback,不然其它session没法执行语句.

  6. 无需激活直接同步登入discuz,php代码(直接可用)

    <?php /** * 抽奖 * @param int $total */ function getReward($total=1000) { $win1 = floor((0.12*$tota ...

  7. 视图模型-Lambda表达式

    EF中通过改变实体对象达到操作数据库表数据的目的,在对数据库实体操作时,肯定少不了和Linq.Lambda打交道,熟悉SQL的话,上手 Linq并不难,from in where select... ...

  8. 20190402Linux常用命令week1.1

    Linux常用命令详解week1.1 基础命令:lsmanpwdcdmkdirechotouchcpmvrmrmdircatmorelessheadtailclearpoweroffreboot 命令 ...

  9. keepalived + nginx 搭建负载均衡集群

    第一章 keepalived 1.1 keepalived 服务说明 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现 ...

  10. 基于PI+QT实现OpenCV图像处理操作(基本环境搭建)

    这篇博客就是在PI上直接写出来的!cheers!! PI3的性能已经非常强劲,而作为一个能够独立运行的运算单元,使用它来做图像处理,将是非常适合的.为了挖掘机器的最大潜能,我没有采用比较常见的pyth ...