前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP CRM Fiori应用冗余round trip的原因分析

SAP CRM Fiori应用冗余round trip的原因分析

原创
作者头像
Jerry Wang
修改2020-02-27 10:56:36
5220
修改2020-02-27 10:56:36
举报

Sent: Wednesday, July 22, 2015 7:54 PM

有同事抱怨每次他们保存一个appointment时,除了正常的batch 操作外,还有3个莫名的read 操作。

The callstack clearly shows that the three roundtrips are NOT issued by customer extension, or else the customer js file could be observed in the callstack.

Set a breakpoint on the top most callstack, h function. Check the content of e.target.data:

This is actually the batch request payload which could be observed in Chrome network tab:

This finding gives me more confidence that these roundtrips are issued by framework, not standard or customer application code.

So I just continue debugging until I reach this suspicious stack:

in line 1957, this.bRefreshAfterChange = true.

However, in our internal system ( where everything works fine, there is no duplicate read operations ), this.bRefreshAfterChange = false, which has suppressed the refresh operation. This is the reason why the read operation could not be found in my internal system, since they are not executed at all. But in customer system, _isRefreshNeeded returns true, which leads to the execution of all subsequent read operations.

So why is this difference between two systems? In Chrome development tool, search the boolean variable name and we found one function setRefreshAfterChange defined for ODataModel. Just set a breakpoint in this method and re-launch the application in my internal system from beginning:

Breakpoint is triggered:

However, this line in customer system is missing, which is the root cause - our latest standard code didn't reach customer system.

出问题的系统上的标准代码里少了这一行,我在local的Eclipse里试过,如果注释掉,behavior就和出问题的系统上一样,能够重现那三个多余的读操作了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Sent: Wednesday, July 22, 2015 7:54 PM
相关产品与服务
批量计算
批量计算(BatchCompute,Batch)是为有大数据计算业务的企业、科研单位等提供高性价比且易用的计算服务。批量计算 Batch 可以根据用户提供的批处理规模,智能地管理作业和调动其所需的最佳资源。有了 Batch 的帮助,您可以将精力集中在如何分析和处理数据结果上。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档