且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

OData服务在SAP CRM,Cloud for Customer和S/4HANA上的实现比较

更新时间:2022-09-01 20:29:47

I have once worked on OData Service in different SAP product such as C4C, CRM and S/4 HANA and observed some technical differences among them. Now I share the difference in this blog.

OData Service in CRM

In CRM we develop OData service in tcode SEGW – SAP Gateway Service Builder.OData服务在SAP CRM,Cloud for Customer和S/4HANA上的实现比较Attributes for each node are modeled, together with the hierarchy relationships among nodes. Once Generation button is pressed, runtime Artifacts like data provider class DPC and runtime data provider class MPC are automatically generated based on the modelling done in this tcode. The classes without post-fix will be overwritten during generation while the latter which inherit from them will not, this means it is correct to write the application logic within the _EXT classes.OData服务在SAP CRM,Cloud for Customer和S/4HANA上的实现比较In tcode /IWFND/MAINT_SERVICE, it is allowed to route a given OData service to multiple Business Suite backend systems. In the runtime different RFC destination will be used to delegate the OData request to actual backend system according to the different PFCG role assignment of the logon user. See one example below.OData服务在SAP CRM,Cloud for Customer和S/4HANA上的实现比较OData Service in S/4 HANA

In S/4 HANA, it is still allowed to develop OData service via tcode SEGW. Meanwhile thanks to the power of CDS view, it is support to automatically generate a OData service without any ABAP coding. Suppose you need to develop a Fiori application which only needs to provide the read-only access on for example Service Order in the system. For this requirement not a single line of ABAP code is needed. Instead all the necessary development task is to create CDS view, and that’s all. Once all views are done, activate the view containing annotation @OData.publish: true, and the OData service will automatically be generated.OData服务在SAP CRM,Cloud for Customer和S/4HANA上的实现比较The left task is to create a UI5 project via WebIDE with smart template to consume this generated OData service. More details could be found from these blogs of mine:

Create a CRM Service Order Fiori application within a couple of minutes

My CDS view self study tutorial – Part 4 how does annotation @OData.publish work


OData Service in C4C

You can find a list of all standard OData service in C4C from SAP help.


Further reading 1

You can find a list of all other blogs related to OData written by Jerry.


Consume standard C4C OData service via ABAP code

Leverage C4C Odata notification to monitor C4C Opportunity change in CRM system

OData Service backend implementation in C4C, CRM and S4 HANA

JMeter beginner – how to use JMeter to measure performance of OData service accessed parallelly

Regarding cookie manipulation in CL_HTTP_CLIENT to avoid CSRF token validation failure issue

Further reading 2

Jerry’s blogs regarding the comparison how CRM and Cloud for Customer implement a given feature using different approaches:


OData Service backend implementation in C4C, CRM and S4 HANA

Excel export in CRM and C4C

Saved query in C4C, CRM and S/4 HANA

Direct navigation in CRM WebUI, CRM Fiori and C4C

Formatted Text Edit in CRM and Cloud for Customer

How Table column resize works in CRM and Cloud for Customer