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. JavaScript 模拟 Dictionary

    function Dictionary() { var items = {}; //判断是否包含Key值 this.has = function(key) { return key in items; ...

  2. PHP中new self()和new static()的区别探究

    1.new static()是在PHP5.3版本中引入的新特性. 2.无论是new static()还是new self(),都是new了一个新的对象. 3.这两个方法new出来的对象有什么区别呢,说 ...

  3. TensorFlow(1)注解入门代码

    学习当然要从官方的入门文档开始. 但是这篇入门对于从0开始的初学者似乎有些困难,尤其是对于神经网络知识还是一知半解的. 敲完理解一遍还是懵逼. TensorFlow经典入门代码学习备注如下. impo ...

  4. nodejs之querystring(查询字符串)

    querystring模块经常用在URL参数的处理,一共有四个方法: 1. stringify (字符串转对象) 2. parse (对象转字符串) 3. escape (对字符串进行URL编码) 4 ...

  5. 屏幕适配(UGUI)非UI

    using UnityEngine; public enum Suit_UIType { Background, Effect, } [RequireComponent(typeof(Transfor ...

  6. GALV_maptravel研究分析(1)

    强大的地图传送式插件~~ 我以自带demo进行分析,本篇地图Init setting map 1.---------------------------------- 实例 创建地图 Galv.MAP ...

  7. Java Hello World源代码notepad++版

    Notepad++中写Java Hello World代码并运行,步骤如下: 1. 在E:\CodeDemo\Java文件夹下(你也可以选择自己的文件夹)新建一个txt文本文件. 如果没有NotePa ...

  8. Linux 磁盘分区管理

    Linux 磁盘管理进阶 磁盘分区介绍 基本分区(primary partion) 基本分区也称主分区,引导分区.每块磁盘分区主分区与扩展分区加起来不能大于四个. 基本分区创建后可以立即使用,但是有分 ...

  9. 从一组数找第K大元素

    最近做面试题,经常与到一个问题,如何高效的从一组数中找到第K大的元素. 其实我们最容易想到的肯定是蛮力法. 1. 我们可以对这个乱序数组按照从大到小先行排序,然后取出前k大,总的时间复杂度为O(n*l ...

  10. phpstorm 配置git上传代码到 码云

    方法一: 1.安装git,一路next下去. git安装完自带右键菜单 2.看一下phpstorm里的路径是否正确. 3.使用phpstorm管理代码库 新建,从码云上已有的公开项目克隆一份到本地: ...