SAP WebClient UI开发工具中attribute文件夹展开的实现原理分析_百度...
发布网友
发布时间:2024-08-25 18:52
我来回答
共1个回答
热心网友
时间:2024-08-25 19:14
在CRM WebClient UI工作台中,当为特定上下文节点展开“属性”文件夹时,字段列表的组装逻辑是怎样的?
调试入口点为CL_BSP_WD_GUI_LIST_TREE~ON_EXPAND_NO_CHILDREN。
“属性”文件夹下会出现三种类型的字段:
(1) 直接属性
通过具有命名约定的方法名以GET_开头,并带有IMPORTING参数ATTRIBUTE_PATH和RETURNING参数VALUE的公共方法列表获取上下文节点类。
然后从中提取属性名称并存储到内部表lt_direct_attribute中。
一旦提取了当前上下文节点类的直接属性,将使用相同的提取逻辑递归调用超类。
以UI组件BT116H_SRVO和上下文节点BTADMH为例,从子类到父类的继承层次是:CL_BT116H_S_DETAILS_CN00 -> CL_CRM_UIU_BTADMINH_CN -> CL_CRM_UIU_BT_EASYCNDENTRY_FCN -> CL_BSP_WD_CONTEXT_NODE -> CL_BSP_MODEL。例如,存在一个带有指定签名的GET_BILL_BLOCK_STATUS方法,因此BILL_BLOCK_STATUS被视为此上下文节点的一个直接属性:
(2) 显式属性
通过调用方法get_implicite_cnode_attr获取属性。定义在DDIC结构CRMST_ADMINH_BTIL中的属性被视为显式属性。
该结构在Genil模型编辑器中与上下文节点BTAdminH绑定。
(3) AET属性(应用增强工具)
实际上,AET属性可以被视为一种特殊类型的隐式属性,因为它们以相同方式物理附加到EEW结构,就像隐式属性一样。AET字段通过调用get_extension_cnode_attr方法检索。
这些字段通过API cl_axt_uif_access->get_ext_attributes检索,并在UI组件工作台上标记为EXT前缀。
使用以下报告可以打印出给定UI组件上下文节点的属性列表: