且构网

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

在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新

更新时间:2022-09-03 13:11:51

My series of Cloud Application Studio Blogs

How to detect EditMode in an Embedded Component

Step by step to enable your custom BO with attachment upload functionality

Step by step to create an Adobe Print form in Cloud application Studio

How to render PDF which displays picture from the image attachment of your custom BO

How to get current logged on business user’s employee information and assigned organization unit via ABSL

How to implement dynamic access control based on custom BO using OWL

How to make Code List Restriction work when control field and restricted field are not on the same BO

How to implement custom number range using custom business object

Two approaches to create Code List in Cloud Studio

Create Dynamic Code List via Custom Business Object Association

Step by step to develop Thing Type based navigation and BO Object based navigation

Put Extension field into embedded component and make it visible in Standard UI

One possible cause that embedded component fails to display in UI

Step by step to create HTML Mashup and make it visible in UI

Step by step to enable Text Collection for your custom BO

Automatically send an Email notification to line manager via Workflow in Account application

Step by step to create Object Value Selector in Cloud Application Studio

Two approaches to fill an UI field with dedicated logic implemented in Cloud Application Studio

How to execute BO action on multiple selected BO instances in AdvancedListPane

How to add custom validation logic on mobile phone field in Contact TI

An example about how I analyze why some OBN button does not work

Step by step to create OBN button which navigates from standard UI to custom UI

Service Request ticket split – how to bring the selected service request item to new custom UI

Step by step to create two drop down list with dependency

Expose Custom BO logic implemented by ABSL via Custom OData service

Step by step to create web service in Cloud Application studio and bind it to a custom action in standard BO

Use Restful Service to consume S4 functionality in SAP Cloud for Customer

I have a requirement recently to trigger the creation of the corresponding S/4HANA outbound delivery document in SAP Cloud for Customer.


The basic idea is to replicate Sales order created in SAP C4C into S/4HANA, trigger the production and delivery process. Once the production is finished in S/4HANA, it is required to trigger the outbound delivery creation in C4C Sales Order UI.


(1) The easiest part is to implement the outbound delivery creation in S/4HANA using function module BAPI_OUTB_DELIVERY_CREATE_SLS.在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新The idea is first to read Sales Order line item detail via function module BAPISDORDER_GETDETAILEDLIST, then BAPI_OUTB_DELIVERY_CREATE_SLS did the job.


Replace your actual Sales Order ID with the hard coded value in line 21.


在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新Create a new SICF service node and wrap the above ABAP code into the method HANDLE_REQUEST of the service node’s handler class.


For more detail about ABAP SICF handler class, please refer to my blogs:


ABAP ICF handler and Java Servlet

Export WebClient UI table to PDF


(2) Create a new action triggerOutboundDelivery in Business Object CustomerQuote which is the data model of Sales Order TI page in C4C.在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新It’s time now to consume the S/4HANA SICF service created in previous step as a restful service in this custom BO action implementation.


Some necessary model must be created as prerequisite before we start to implement service consumption in ABSL code.

Create a new External Web Service Integration named “JerryExternal”:

在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新Paste the service url created in previous step into service maintenance window here and choose “REST” as web service type:

在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新A new communication scenario is also generated meanwhile:在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新Right click Communication Scenario and choose “Manage Communication Arrangement” to finish the left Communication Arrangement maintenance task.

在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新The configuration UI will be launched by a new browser window.


Select the Communication Scenario created in SAP Cloud application studio and create a new Communication arrangement based on it:

在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新Maintain the credentials of communication user and activate this arrangement.在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新Now we can start to program in Sales order’s action triggerOutboundDelivery using ABSL.

The restful service consumption is fired by ABSL utility method WebServiceUtilities.ExecuteRESTService. We can figure out its signature via code auto completion:在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新Here below is my complete implementation for BO action:

在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新ctivate the method implementation and now we can test:

Choose Sales Order 9000000325 and press “Trigger Delivery” button,在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新he S/4HANA SICF service implementation is called as expected, with Sales Order ID from C4C successfully passed.

在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新


在SAP C4C里使用ABSL结合Restful服务的方式消费SAP S/4HANA的标准功能,用于SAP和沈阳自动所关于工业4.0 联合创新