SAP WebClient UI开发工具中attribute文件夹展开的实现原理分析

简介: SAP WebClient UI开发工具中attribute文件夹展开的实现原理分析

For project reason I need to figure out the logic how the field list is assembled when folder “Attributes” for a given context node is expanded in CRM WebClient UI workbench:


image.png


Debugging entry point is CL_BSP_WD_GUI_LIST_TREE~ON_EXPAND_NO_CHILDREN:


image.png


There are three kinds of fields which will appear under “Attributes” folder:


(1) direct attribute


get the public method list of context node class with naming convention that method name starts with GET_, and have one importing parameter ATTRIBUTE_PATH and one returning parameter VALUE.


image.png


And then extract the attribute name and stored it to internal table lt_direct_attribute.


image.png


Once the direct attribute of the current context node class has been extracted, there is a recursive call with the same extraction logic on the super class.


image.png


Since I am using UI component BT116H_SRVO, context node BTADMH to debug, the inheritance hierarchy from children to parent in this example is:

CL_BT116H_S_DETAILS_CN00 -> CL_CRM_UIU_BTADMINH_CN -> CL_CRM_UIU_BT_EASYCNDENTRY_FCN -> CL_BSP_WD_CONTEXT_NODE -> CL_BSP_MODEL

For example, there is a method GET_BILL_BLOCK_STATUS with the specified signature,


image.png


so BILL_BLOCK_STATUS is regarded as one direct attribute for this context node:


image.png


(2) implicit attribute

Retrieved from method get_implicite_cnode_attr,


image.png


Attributes defined in DDIC structure CRMST_ADMINH_BTIL are regarded as implicit attribute.


image.png


This structure is bound to context node BTAdminH in Genil model editor.


image.png


(3) AET attribute ( Application Enhancement Tool )


In fact AET attribute could be regarded as a special kind of implicit attribute as it is physically appended to EEW structure just the same way as implicit attribute. AET fields are retrieved via method get_extension_cnode_attr:


image.png


Those fields are retrieved with API cl_axt_uif_access=>get_ext_attributes and marked with prefix EXT in UI component workbench:


image.png


image.png

You can use the following report to print out the attribute list of a given UI component’s context node:

image.png

相关文章
|
21天前
|
人工智能 搜索推荐 Serverless
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
46 7
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
|
1月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
28 0
|
1月前
|
JSON 前端开发 测试技术
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
21 0
|
1月前
在 CRM WebClient UI Attachment 区域,创建支持 Web Service 的 Word 文档
在 CRM WebClient UI Attachment 区域,创建支持 Web Service 的 Word 文档
21 0
|
1月前
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
20 0
|
3月前
|
存储 前端开发
SAP UI5 federatedLogout 函数源代码分析
SAP UI5 federatedLogout 函数源代码分析
22 0
|
3月前
|
缓存 JavaScript 前端开发
如何理解 SAP UI5 的 sap.ui.define 函数?
如何理解 SAP UI5 的 sap.ui.define 函数?
45 0
|
21天前
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
15 1
什么是 SAP ABAP 里的 Subscreen
|
2月前
|
JSON 数据格式
SAP UI5 Class sap.ui.model.Context 的作用介绍
SAP UI5 Class sap.ui.model.Context 的作用介绍
30 0
|
2月前
关于 CRM WebClient UI 能够被 AET 工具扩展与否的讨论
关于 CRM WebClient UI 能够被 AET 工具扩展与否的讨论
28 0