smart filter无法从smart business应用获得值的问题分析
Reproduce steps:
Logon to UXT/928, add PFCG role “Z_SVA_TEST_ROLE” and “SAP_BR_ANALYTICS_SPECIALIST” to your user in T-Code SU01.
Go to UXT/928 ER9/001 Launchpad, click tile “KPI Workspace”, find KPI tile “Sales Volume Analysis PoC”.
Click Evaluation “Sales Volume Analysis Smart Filter” on the right side, check the input parameters, we have:
P_ExchangeRateType : ‘M’
P_DisplayCurrency : ‘USD’
Go to the corresponding tile of this evaluation:
https://wdciw04.wdf.sap.corp:1300/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=928#FioriApplication-executeAPFConfigurationS4HANA?EvaluationId=.E.1467351258702&sap-apf-configuration-id=14646748206141813511663134550497.14673442047384852617933698117356&/
Click filters on the Smart Filter Bar, you could see there’s no filters added.
Add an analysis step, you could see errors, because P_ExchangeRateType and P_DisplayCurrency are mandatory input parameters for back-end CDS view.
You could go to APF modeler, search app “Sales Volume Analysis Test”, and go to configuratoin “Test Sales Volume Smart Filter 2” to see the settings for Smart Filter.
The corresponding CDS view used for Smart Filter is: Z_SalesVolumeParameter
原來的話,如果用individual filters,那么在Smart Business Tile里面Evaluation里面設置的input parameter和filter的值都是可以傳給APF的,APF的filter接收到這些值后將它們作為參數傳給CDS來讀數據。
但是換了Smart Filter之后好像不行了。
Related tile:
我手動把這個tile配到launchpad上:
然后點tile, 進去發現filter的value 是有值的,自動從你evaluation里指定的value 帶過來了:
我把tile配出來,點擊進去,url為: https://jerry.sap.corp:1300/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=928#FioriApplication-executeAPFConfigurationS4HANA?EvaluationId=.E.1467351258702&sap-apf-configuration-id=14646748206141813511663134550497.14673442047384852617933698117356&sap-xapp-state=AS54KUQ4D1TKPUK5RGZPKM9V4KDOAQ268UP099DM
你可以在這個文件的這一行設個斷點:
斷點 停下來之后看看callstack。我之前也沒遇到過這個具體的error message.
錯誤的原因是,這個component.js已經成功download了:
module download之后,總會被立即執行,執行到這行語句時出錯:
這是一個時序競爭問題。從紅色方框能看出,如果f.pending為true的話,無論f是同步load還是異步load,都會出錯。正確的scenario是,sap.apf被load時,f.pending為false, 然后進到藍色方框的代碼里,被改為true, 然后開個promise去下載。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的smart filter无法从smart business应用获得值的问题分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ie浏览器在电脑哪里
- 下一篇: ABAP Netweaver上调用Jav