您好,登錄后才能下訂單哦!
這篇文章主要介紹“SAP CRM Fiori應用冗余round trip的原因是什么”,在日常操作中,相信很多人在SAP CRM Fiori應用冗余round trip的原因是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SAP CRM Fiori應用冗余round trip的原因是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
有同事抱怨每次他們保存一個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就和出問題的系統上一樣,能夠重現那三個多余的讀操作了。
到此,關于“SAP CRM Fiori應用冗余round trip的原因是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。