下面是我今天研究的后台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://diablo.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的原创文章,请关注公众号"汪子熙":

SAP OData service的执行是如何从Gateway系统转交到backend系统相关推荐

  1. 实战 Deep Insert (SAP OData Service 实战系列)

    在实际开发中我们经常会遇到需要保存多层实体结构到后台系统的场景,比如SAP各种凭证都是抬头和行项目一起保存,我今天就介绍一下创建深度插入OData实体的详细步骤. 今天的例子是创建客户发票凭证,需要同 ...

  2. 使用ABAP SAT工具分析SAP OData service实现明细

    Created by Wang, Jerry, last modified on Mar 26, 2015 使用SAT运行OData service测试report: 直接运行report: 确保OD ...

  3. 找出SAP OData service出错根源的小技巧

    SAP的Fiori应用是通过OData和后台交互的.在使用Fiori应用时您可能会遇到这样的错误消息: 这个错误消息没有包含有助于partner或者客户定位问题根源的线索. 下面是如何在后台找出问题根 ...

  4. SAP OData Service group - get entity set

    Created by Wang, Jerry on Jan 12, 2015 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  5. 使用jMeter对基于SAP ID service进行Authentication的Restful API进行并发测试

    这篇文章本来Jerry只在SAP社区上写了英文版的,可以通过点击文末的"阅读原文"获得.后来有两位做Marketing Cloud开发的德国同事,写邮件询问关于文章的更多细节,声称 ...

  6. 如何用SAP WebIDE的Fiori创建向导基于ABAP OData service快速创建UI5应用

    如果我们手上已经有可以正常工作的OData服务,无论位于ABAP on-premise系统还是public上的internet OData service,都可以用SAP WebIDE里的Fiori创 ...

  7. 使用SAP云平台的destination消费Internet上的OData service

    通过SAP云平台上的destination我们可以消费Internet上的OData service或者其他通过HTTP方式暴露出来的服务. 创建一个新的destination: 维护如下属性: 点击 ...

  8. 使用SAP OData服务创建销售订单

    以SAP Cloud for Customer的OData服务为例.尽管我们可以直接用SAP提供的标准OData服务,这个链接能看到SAP C4C提供的所有的OData服务: https://help ...

  9. SAP OData编程指南

    OData(Open Data Protocol)协议是一个开放的工业标准,用于定义RESTFul API的设计和使用.我的文章标题前加上SAP的前缀,只是为了表明这篇文章介绍的是Jerry在SAP项 ...

最新文章

  1. 开源图形库 FreeImage
  2. .NET开发辅助工具-ANTS Performance Profiler【转载】
  3. Windows上Tomcat启动,服务中没有Tomcat
  4. mysql多源复制相同数据库名称_mysql数据库多源复制方案
  5. 解读ASP.NET 5 MVC6系列(9):日志框架
  6. 【代码笔记】iOS-点击城市中的tableView跳转到旅游景点的tableView,下面会有“显示”更多。...
  7. 传奇霸业维护服务器,37传奇霸业8月18日部分区服维护计划
  8. JavaScript Array 对象(length)方法 (contact、push,pop,join,map、reverse、slice、sort)
  9. 什么样的 python 可以可谓专业 PyPI 项目?刚刚学到三个概念:pep8、Sphinx、pytest与GitHub Action的集成
  10. 趣图图解 SOLID 软件开发原则
  11. 微信APP支付开发指引
  12. 墨卡托投影、高斯-克吕格投影、UTM投影及我国分带方法
  13. 算法评测在本地生活地图技术领域的探索和实践
  14. html绘图插件,canvas,svg,vml绘图插件
  15. 用VS新建多层架构时引用第三方dll 时清理解决方案时,放bin文件夹下的bll被清空问题
  16. android设置文件存储大小,Android实现把文件存放在SDCard的方法
  17. 可任意切换分频倍数的时钟分频电路
  18. c语言合法浮点数,c语言中什么是浮点数
  19. jstack 命令的使用和问题排查分析思路
  20. 软件开发之版本控制方式

热门文章

  1. OPGL+GLFW+GLEW配置详细步骤
  2. VMware install MikroTik RouterOS
  3. Alpha阶段发布说明
  4. 通过一般处理程序实现【文件上传】
  5. 如何使用WCF调试器WcfTestClient.exe
  6. UVa 489 - Hangman Judge
  7. 仿VS窗体效果+outlookbar效果
  8. 在打开的Web表单模态窗口中,避免点击服务端控件时弹出新窗口的技巧
  9. you must reset your password using alter table
  10. android 异步回调中操作UI线程,UI同步、卡死阻塞等性能问题