`
JerryWang_SAP
  • 瀏覽: 528138 次
  • 性別: Icon_minigender_1
  • 來自: 西安
文章分類
社區版塊
存檔分類
最新評論

SAP OData service的執行是如何從Gateway系統轉交到backend系統

閱讀更多

下面是我今天研究的后臺OData數據的model以及如何在IE里面consume:

SPRO里面:

這個model provider class定義了LWM_CUSTOMER_BRIEFING這個model的所有structure,以及structure之間的相互關系。

現在沒有一個圖形化界面的tool來做modelling,我們只能在CL_LWM_CB_ADAPTER_MDP的DEFINE里面定義model的structure。具體做法是預先定義好后臺要使用的entity的data type,

Customer briefing 所有使用到的DDIC object全部放在這個package里面:LWM_CRM_CUSTOMER_BRIEFING

在DEFINE里面,通過ABAP 代碼創建一個個entity,給它們綁上DDIC object,同時建立相互關系,如association.

通過ldcigm2.herr.corp:50018?我們可以拿到customer briefing的service document。

Service document里面只定義了哪些entity暴露了哪些操作,真正metadata的full definition xml用這個URL down:

http://ldcigm2.jerry.corp:50018/sap/opu/sdata/sap/customer_briefing/$metadata?sap-client=001&$format=xml

service document也能通過SICF進去之后,從sap node出發,點test拿到。

比如這部分就說明CustomerCollection這個節點能夠執行“search”的action:

然后我們在IE里面測試:

http://ldcigm2.jerry.corp:50018/sap/opu/sdata/sap/CUSTOMER_BRIEFING/CustomerCollection?sap-client=001&$format=xml&search

返回所有的Customer信息,Customer node的property就是在figure1里面看到的那些。

Search 所有name property中包含“UT_Customer” 的Customer

http://ldcigm2.jerry.corp:50018/sap/opu/sdata/sap/CUSTOMER_BRIEFING/CustomerCollection?sap-client=001&$format=xml&search=UT_Customer

返回Partner ID = 133的customer的detail 信息

http://ldcigm2.jerry.corp:50018/sap/opu/sdata/sap/CUSTOMER_BRIEFING/CustomerCollection(133)?sap-client=001&$format=xml

所有這些操作都在service provider class CL_LWM_CB_ADAPTER_RDP里面實現,

如果我們直接在IE里面通過ldcigm2.jerry.corp:50018?sap-client=001&$format=xml

的URL consume OData service:

Gateway 系統上首先會根據OData service expose出來的external name找到internal使用的service ID:

然后根據service ID找到對應的CRM 系統的destination:

通過RFC直接call CRM系統上的一個remote function module:

?

在CRM的這個FM上設個斷點,發現斷點已經被觸發了。

0
2
分享到:
評論
Global site tag (gtag.js) - Google Analytics 开心农场种蔬菜赚钱 财神捕鱼游戏网址 优乐江西麻将辅助器ios 申城棋牌官方下载 刘伯温精选三肖中特 金融投资行业股票 申城棋牌上海棋院网 下载天天捕鱼手机版 重庆麻将怎么算胡牌 20选8走势图开奖结果 深圳股市行情 多乐游戏中心下载 捕鸟达人下载安装 重庆麻将怎么胡牌 36选7福利 炒股培训 九游互娱免费透视