专栏首页Jerry的SAP技术分享SAP OData service的执行是如何从Gateway系统转交到backend系统

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.

通过http://ldcigm2.herr.corp:50018/sap/opu/sdata/sap/customer_briefing?sap-client=001 我们可以拿到customer briefing的service document。 Service document里面只定义了哪些entity暴露了哪些操作,真正metadata的full definition xml用这个URL down: http://ldcigm2.jerry.corp:50018/sap/opu/sdata/sap/customer_briefing/KaTeX parse error: Expected 'EOF', got '&' at position 24: …?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里面通过http://ldcigm2.jerry.corp:50018/sap/opu/sdata/sap/CUSTOMER_BRIEFING/CustomerCollection(133)?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上设个断点,发现断点已经被触发了。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 关于事务码SEGW里节点字段的属性说明

    Subject: regarding Sortable and Filterable flag for OpportunityNotes

    Jerry Wang
  • My appointment应用点了Edit后的roundtrip分析

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • SAP CRM Fiori My appointment点了Edit按钮后的三个roundtrip详解

    my appointment edit之后有3个sequential 的roundtrip

    Jerry Wang
  • SAP CRM Fiori My appointment点了Edit按钮后的三个roundtrip详解

    my appointment edit之后有3个sequential 的roundtrip

    Jerry Wang
  • My appointment应用点了Edit后的roundtrip分析

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • CL_THTMLB_COLOR_UTIL

    用Chrome打开webclient ui时,能观察到形如uif_callbacl...crm_handle=CL_THTMLB_COLOR_UTIL的http...

    Jerry Wang
  • Pre and post exit in ABAP method and Nodejs

    Use pre or post exit to put your enhancement to be executed before or after the ...

    Jerry Wang
  • SAP CRM Fiori My Appointment应用里点了Edit按钮后三个Roundtrip分析

    2.a 拿ETAG request: sap/fiori/cuscrmmycalendar/sap/opu/odata/sap/CRM_APPOINTMENT_...

    Jerry Wang
  • 一些SAP UI5的控件无法按照预期渲染的错误分析方法和解决方案

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • SAP UI5的source code map(源代码映射)机制

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券