SAP Hybris Commerce product读取的调试截图

举报
汪子熙 发表于 2022/02/18 20:48:28 2022/02/18
【摘要】 通过debugger观察到Product facade调用ProductService,Service又调用DAO通过flexible search去DB根据product code 358639取数据。类似SE16,也可以直接在Hybris Admin console里执行执行flexible search:搜到1条记录:从DB里取出的product数据和在debugger里观察到的一致。...

通过debugger观察到Product facade调用ProductService,Service又调用DAO通过flexible search去DB根据product code 358639取数据。

类似SE16,也可以直接在Hybris Admin console里执行执行flexible search:

搜到1条记录:




从DB里取出的product数据和在debugger里观察到的一致。可以看看Hybris里product有哪些重要的field:



在ABAP应用里,我们application developer用Open SQL访问database, 这些Open SQL会被Database interface转换成database provider specific的SQL然后执行。

CRM和C4C里还支持enterprise search / simple search,

实现原理实际上是application call一个RFC到TREX server上拿到查询结果。

Hybris里有类似的功能:FlexibleSearch service

FlexibleSearch service使用Hybris自己发明的一套基于SQL syntax的language,类似ABAP的open SQL.

看个例子:

select * from {Product} where {code} = ‘cris03’

这条flexible search语言被预编译成和SQL语句语法类似的查询语句:
SELECT * FROM products item_t0 WHERE ( item_t0.p_code = ‘cris03’) AND (item_t0.TypePkString IN (?,?,?,?,?,?,?) )

上述语句里7个问号代表的变量的值,可以在execution statistics里找到:

其实就是7个catalog:

搜索结果,对应两条记录:

这两条记录同样可以在backoffice里搜索得到:

如果写作这样也是可以的,
没错。这种方式是通过绝对路径来load sap-ui-core.js这个重要的文件。
如果是改成这种相对路径的方式:

http://scn.sap.com/thread/3506469
按F12打开development tool后,能够在Sources tab里看到这个sap-ui-core.js.

那么我如果本地用tomcat 运行ui5 程序,我怎么知道这个sap-ui-core.js从本地什么地方load的呢?

我们可以使用Chrome development tool里的Network tab,输入sap-ui作为filter:

然后单击其中一个文件,在http response的field x-sap-ResourceUrl 里就能找到答案了。

到本地的folder去找找,看能不能找到这个文件?

我们会发现这个folder只是temp folder,这是我们在Eclipse里run as server时,Eclipse自动把UI5 core library里的js解出来,放在这个temp folder供加载用的。

但是这只是我们在Eclipse里开发并且做单元测试的情况。如果客户使用我们的UI5,并不是用这种方式加载sap-ui-core.js. 具体方式可以等on board之后学习,因为这就需要netweaver的知识了。

关于问到的web.xml里关于Servlet的一些知识点:

可以随便用关键字tomcat+Servlet搜索一些文章来看。
我自己也写过一篇:http://scn.sap.com/community/developer-center/front-end/blog/2014/12/04/explore-the-comsapui5resourceresourceservlet

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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