针对SAP OData 模型Addresssable属性的不同处理
生活随笔
收集整理的這篇文章主要介紹了
针对SAP OData 模型Addresssable属性的不同处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Created by Jerry Wang on Dec 04, 2014
Opportunity Odata model里有三個entity set mark成address = true:
SAP help里的解釋是mark成address = true的entity set能夠直接通過url訪問,比如如下兩個例子:document history和maxhit.
而對于其他通過$expand訪問的entity set, 比如Attachments,product等等,雖然表面上也是通過url直接訪問:
?
但是根據SAP help里的定義,framework在訪問這些entity set時,總是先拿到root entity set,即Oppportunity,再執行expand操作。?
?
下面的例子是Framework處理documentHistory的讀操作:框架直接call GET_ENTITYSET method直接根據傳入的guid將history返回: 但是對于這個expand的url而言: https://wdciw01.wdf.sap.corp:7080/sap/opu/odata/sap/CRM_OPPORTUNITY/Opportunities(guid'3440B5B1-73AE-1ED4-9ED9-F49FBCEA5CC2')?$expand=Products,ChangeDocs,Competitors,OpportunityLogSet&sap-client=001 框架的處理是先從Opportunity出發:待expand 操作的四個entityset維護在輸入參數lo_expand_root的internal table里:
line 28先讀取Opp header,再call line 41的read function 讀取需要expand的sub entity set信息:
總結
以上是生活随笔為你收集整理的针对SAP OData 模型Addresssable属性的不同处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Fiori as a Service -
- 下一篇: 为什么你们的Note.js 里面没有sa