SAP CRM Fiori應用冗餘round trip的原因分析

i042416發表於2020-03-07

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

有同事抱怨每次他們儲存一個appointment時,除了正常的batch 操作外,還有3個莫名的read 操作。

SAP CRM Fiori應用冗餘round trip的原因分析 SAP CRM Fiori應用冗餘round trip的原因分析

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.

SAP CRM Fiori應用冗餘round trip的原因分析

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

SAP CRM Fiori應用冗餘round trip的原因分析

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

SAP CRM Fiori應用冗餘round trip的原因分析

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:

SAP CRM Fiori應用冗餘round trip的原因分析

in line 1957, this.bRefreshAfterChange = true.

SAP CRM Fiori應用冗餘round trip的原因分析

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.

SAP CRM Fiori應用冗餘round trip的原因分析

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:

SAP CRM Fiori應用冗餘round trip的原因分析

Breakpoint is triggered:

SAP CRM Fiori應用冗餘round trip的原因分析


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就和出問題的系統上一樣,能夠重現那三個多餘的讀操作了。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2678931/,如需轉載,請註明出處,否則將追究法律責任。

相關文章