乾坤大挪移:CRM WebClient UI 和 SAP Fiori UI 混搭并存

举报
汪子熙 发表于 2021/10/23 10:02:01 2021/10/23
【摘要】 SAP CRM里有个功能可以创建HANA live report,消费HANA Studio里创建的模型。最后创建好的report长这个样子:具体创建步骤可以参考我的博客Step by Step to create HANA live report in Webclient UI这些report肉眼上看去显示在WebClient UI里,而WebClient 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有多少条记录:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。