乾坤大挪移:CRM WebClient UI 和 SAP Fiori UI 混搭并存
SAP CRM里有个功能可以创建HANA live report,消费HANA Studio里创建的模型。
最后创建好的report长这个样子:
具体创建步骤可以参考我的博客Step by Step to create HANA live report in Webclient UI
这些report肉眼上看去显示在WebClient UI里,而WebClient UI似乎不能这么灵活的显示这些风格特异的图标。这是怎么实现的呢?
红色方框里的UI区域实际上是一个UI5应用:
Webclient UI的BSP应用直接通过Iframe把这个UI5应用crm_ana_od_ui5嵌进去。
Netweaver里有个mini JavaScript engine CL_JAVA_SCRIPT, 对于Js code的编译和执行都是用system call完成。
只能当玩具用:report SJSEU
执行结果:120
在SAP C4C的UI Designer里,event handler里可以写Ruby Script, UI保存时Ruby Script会自动被C4C后台的ABAP程序转换成JavaScript,最后在浏览器里执行的是JavaScript:
关于更多Ruby script在SAP C4C中的应用,请参考我的博客Ruby Script in C4C Oberon View。
i18n(其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。对程序来说,在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。
SAP CRM
WebClient UI上显示的文本不会硬编码,而是维护在OTR(Online Text Repository)里,代码里通过如下API取出。
所有支持语言列表:
SAP UI5
UI5思路和WebClient UI类似,多语言的文本维护在i18n properties文件里。详细原理介绍参考我的博客。
Hybris
Hybris和UI5一样也采用了properties文件来维护同一个文本基于不同语言的版本:
服务器端的日志里能观察到在Hybris启动时,具体是哪一个properties文件被加载:
SAP CRM里Account明细页面:
SAP C4C里Account明细页面:
在Hybris storefront注册一个帐号:
注册成功之后能在backoffice里看到成功生成的customer,里面的Customer ID是自动生成的,类似ABAP里的uuid.
在Hybris Administration console里使用flexible search试图去查询该customer:
查询到一条记录:
该记录的uuid和backoffice里看到的一致:
查看flexible search对应的SQL语句,发现select from里用到的"{customer}"被翻译成了真正的数据库表users. 大括号里定义的customer在Hybris里称为code
从code到真正DB表的映射在xml文件里定义:
Hybris Administration console里可以查看每个DB table有多少条记录:
- 点赞
- 收藏
- 关注作者
评论(0)