专栏首页Jerry的SAP技术分享SAP WebClient UI界面元素ID生成的逻辑分析

SAP WebClient UI界面元素ID生成的逻辑分析

If we open a WebClient UI page with Chrome and inspect its UI element via Chrome development tool, we could observe that the id attribute has some prefix for example C#_W#_V#_V#… where # represents a number.

Where is this id generated? Set a breakpoint on method CL_CHTMLB_CONFIG_UTILITY~RENDER_FROM_XML and we can find the method GENERATE_TAG_ID which did the job:

All the ID of the page in the view hierarchy will be concatenated as the prefix of current element’s ID.

If the current page is the first child of its parent, it has ID 1 assigned ( line 22 ), or else WebUI framework will increase the counter held internally and assign the latest value to the current UI element as ID ( line 16 ).

Finally the ID is concatenated with seperator “_”.

This ID will appear in the rendered HTML native code. The capital characters contained in the ID are defined as constant attribute in CL_BSP_WD_CONTROLLER.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SAP CDS view自学教程之一:如何测试基于SAP CDS view自动生成的OData服务

    I am a newbie of CDS view related topic and recently I have to learn it. I will ...

    Jerry Wang
  • 使用SAP Transaction Launcher将ABAP Webdynpro嵌入到WebClient UI中

    THINK twice why you want to include an ABAP webdynpro component into CRM UI, as ...

    Jerry Wang
  • SAP OData性能分析工具

    As mentioned by title, this blog does not introduce the OData trace functionalit...

    Jerry Wang
  • 楼宇自动化系统中基于模糊巡逻机器人的开发(CS AI)

    楼宇自动化系统(BAS)具有监视和控制所有楼宇子系统运行的功能,如暖通空调(暖通空调控制)、用电管理、火警控制、保安和门禁控制以及电器开关控制。在BAS中,几乎...

    小童
  • SAP CDS view自学教程之一:如何测试基于SAP CDS view自动生成的OData服务

    I am a newbie of CDS view related topic and recently I have to learn it. I will ...

    Jerry Wang
  • Kubernetes Scheduler Extender浅析

    Scheduler 组件可以视为一种监视 watche 和将 Pod 分配 assign 到 Node 的特殊类型控制器 controller。在 Kubern...

    runzhliu
  • 聊聊flink LocalEnvironment的execute方法

    flink-java-1.6.2-sources.jar!/org/apache/flink/api/java/DataSet.java

    codecraft
  • 多目标进化算法应用于提高医药数据领域学习器的性能(CS AI)

    原文标题完整翻译:多目标进化算法应用于提高在医药数据领域使用整体特征选择和离散化模型的学习器的性能

    Donuts_choco
  • 聊聊flink LocalEnvironment的execute方法

    flink-java-1.6.2-sources.jar!/org/apache/flink/api/java/DataSet.java

    codecraft
  • Redis 为什么这么快?(9)

    因为单线程已经够用了,CPU不是redis的瓶颈。Redis的瓶颈最有可能是机器内存或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用...

    兜兜毛毛

扫码关注云+社区

领取腾讯云代金券