Jerry答网友提问:SAPCRMWebClientUI里的EXT,STRUCT等含义_第1页
Jerry答网友提问:SAPCRMWebClientUI里的EXT,STRUCT等含义_第2页
Jerry答网友提问:SAPCRMWebClientUI里的EXT,STRUCT等含义_第3页
Jerry答网友提问:SAPCRMWebClientUI里的EXT,STRUCT等含义_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Jerry 答网友提问:SAP CRM WebClient UI 里的EXT , STRUCT 等含义展开全文具体说明参见我 前一篇文章:2020年关于SAP知识问答的一个新的尝试 网友的提问:Jerry的解答:以上截图是CRM系统里BSP_WD_CPMWB这个事务码进入 之后,任意打开一个上下文节点 (Context Node)看到的信息:STRUCT的含义?在Jerry之前的文章 Jerry的 WebClient UI 42篇原创文章合 集提到这样一张图:在 UI 层的 CRM BSP component 的 MVC 设计里,Model,即 Context node,绑定的是 Busine

2、ss Object Layer 的模型,因此 Context node Attributes文件夹下面,以STRUCT开头的字段, 意味着这个字段是绑定到BOL模型节点里的一个字段的,二者存在一一对应关系,如下图箭头所示。而下图蓝色字段 LOCKED,前面没有STRUCT前缀,说明这个字段并非来自 BOL模型节点,而是开发者直接创建的,这种字段一般用于应用逻辑里存储临时状态,或是代表当前应用的某个标志 位,没有对应的底层存储,在SAP很多产品里也称这种字段为 transient field 或者 calculated field.展开某个字段,看到的GET, GET_M, GET,GET_V

3、, GET_P,GET_A是什么意思?要回答这个问题,得从 CRM WebClient UI页面的渲染方式 说起。如上图这种视图源代码,使用的标签页不是 HTML支持的原 生标签,浏览器是无法识别和解析的,因此需要有一个中间 层,或者说转换器,将这些SAP封装过的标签转换成浏览器 支持的原生HTML标签。按照这个转换器所处位置的不同,分为服务器端渲染和浏览 器端渲染两种方式。 SAP CRM WebClient UI基于SAP BSP 技术Business Server Page,光听名字就知道是在服务器端渲染了。而SAP UI5,是典型的浏览器端渲染(即客户端渲 染),我们在其XML视图里书

4、写的那些标签同样无法直接被 浏览器使用,需要每个标签对应的渲染器,在浏览器端用 JavaScript代码生成对应原生的 HTML标签。回到 CRM WebClient UI,对于 Attributes 里的这些 STRUCT 字段们,我们在渲染出的最终页面里,有的是一般的输入字 段,有的是超链接,有的是下拉框,有的不可编辑,SAP开发的转换器怎么知道要将每个字段渲染成什么样呢? 奥妙就在这些 GET方法里。这里有一个小小的设计模式的思 路在内,即SAP CRM WebClient UI的框架代码,负责服务 器端渲染80%的工作量,即把整个页面的框架搭出来,包括 一个页面有多少字段,字段之间的相

5、对位置等。剩下20%的工作量,比如每个字段的类型,外观等属性,这些信息框架 不可能知道,也不应该知道,这些应该由应用程序提供接口 (也可以理解成回调),在接口里实现这些属性,然后由框架 调用这些接口。我们可以把这个模式看成是设计模式里的一看具体的例子。双击进入CONFIG这个字段的 GET_P方法里。P的意思是 Property,属性。UI框架在渲染CONFIG这个字段时,会调 用GET_P_CONFIG 这个接口,询问应用:你想把 CONFIG 这个字段渲染成什么类型(下图第4行的fieldtype) ?应用程序通过第五行的 field_type_checkbox回答框架:我想 把CONFI

6、G字段渲染成checkbox,拜托了。UI框架拿到这个信息后,就可以做对应的渲染工作了。如果想研究 UI拿到这个字段类型后如何渲染的细节,在GET_P方法里打断点,然后打开一个页面,单步调试记录:GET:如果应用逻辑里需要根据某种条件动态决定该字段 是否可编辑,将逻辑写在这个接口里。纯粹的GET_P方法:这里面奥妙很多,尤其是这个CONVERT_TO_STRING 方法,将底层数据库表里对应的字 段根据BOL模型里的字段类型渲染成最终对用户友好易读 的字符串。比如底层数据库表里存储的是不含任何时区的时 间戳(timestamp),那么这个方法会根据用户设置里的时区, 自动转换成该时区的本地时间。GET_V:如果想实现自定义的F4 Value Help,在此实现GET_A:如果某字段的启用与否,依赖于某个BusinessSwitch的开与关,在此实现。在SFW开头的系列事务码里查看和操作 Business

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论