In this blog, we will see how to extend S4HANA Cloud(S4HC) solution using side-by-side extensibility leveraging the services provided on SAP Cloud Platform(SCP). To demonstrate this there is an UI5 application designed and integrated with workflow approval process on SCP for creation of Supplier Bank Account details on S4HC. Supplier bank details to be first approved by respective approver before it gets appeared into S4HC system. Hence, side-by-side extensibility was used to build this solution using services provided by SCP. Core services used for this solution on SCP is of Developer Experience – WEB IDE and Web IDE Full-Stack(Workflow project).
SAP Cloud Platform is an open platform as a service, which provides customers and partners with in-memory capabilities, core platform services, and unique business services for building and extending personalized, collaborative, mobile-enabled cloud applications.
The integration between S4HC system and SCP platform was done using Whitelisted API to Create/Update/Delete the Suppliers Bank details data. API – API_BUSINESS_PARTNER is used for this solution. You can find more details about the API on the API Business Hub, by accessing the following URL:
Refer API Documentation Business Partner API
In this business scenario, change of Supplier Bank Account details needs to be automated through workflow approval process. Hence, side-by-side extensibilty solution is designed by using services provided by SCP as mentioned above.
This solution is achieved by developing an SAP UI5 application and integrate it with the workflow approval process on SCP by performing the following steps:
- SAP Fiori App was developed based on Custom UI5 Application showing Bank Account data of the Suppliers retrieved from S4HC System using API.
- Fiori App User can search for Supplier and further can create, edit or delete the selected Supplier Bank Account data details.
- The Supplier Bank Account data request goes under the approval process by triggering the custom workflow designed for approval.
- The workflow application send the request to approver at My inbox configured.
- The approver can review the submitted Supplier Bank Account data and take action for approval or rejection .
- After the approver approves the request, API OData service call will be executed to update Supplier Bank Account data accordingly in S4HC system and user who requested the change in Suppliers Bank Account data will be notified.
Dependencies, Limitations, Constraints and Prerequisites:
- The required pre-requisites is that the destinations must be maintained in SCP Cockpit Connectivity->Destinations for S/4 HANA Cloud system and Authentication user should be one which has been setup as inbound communication user in S4HANA Cloud system.
- The Workflow run time Destination should be maintained in Destination to execute workflow service.
- For the SAP S/4 HANA Cloud system to communicate with outside system, Communication Arrangement needs to be set up. The relationship set-up to be done between Communication Arrangement, Scenario, System and User as shown below. This step need to be done for Communication scenario -SAP_COM_008(Business Partner, Customer and Supplier integration) for inbound Communication user.
- Create a Communication User in SAP S/4 HANA Cloud system. This user credential will be used in Business Partner API in SAP Cloud Platform.
- Maintain a Communication System to specify the host details.
- Maintain a Communication Arrangement to facilitate the read/post of API. The Communication Scenario used for Business partner is SAP_COM_008.
Please also check the Best Practices scope item 1RW (BP Scope Item : 1RW) to configure:
- Communication User
- Communication System
- Communication Scenario
- Communication Arrangement
Supplier Fiori Application on SCP:
Supplier Bank Details UI5 Application:
- Suppliers details are shown in the main view of the UI5 application. There is navigation button on each supplier record to view the bank details.
- Screen to view, edit/save and delete the supplier bank details. Below screen will pull data from S4HC system for the selected supplier to show here.
- After taken required action (Edit the existing data, add bank details if not already there or delete bank details), user will save the bank data. Upon save Workflow will be triggered and instantiated to start approval process.
Approval process application:
- Work item will be placed in Approval inbox ( App on Fiori launchpad on SCP – User experience Portal Service)
- The Approver can see the Supplier bank details and take action to either Approve or Reject the Request.
- Based on approver’s action, corresponding node in Workflow will be executed and OData service of given API will be called from workflow service step to update bank details in S4HANA Cloud system as shown below:
Workflow Approval Process Flow: Kindly go through steps from left to right in Workflow design given.
Workflow Steps Details:
UI5 application triggered Workflow for approval process, below given the explanation of nifty steps:
- Approver Inbox: This step is User Task and its functionality is to send WorkItem into approver inbox. User Task Properties: Subject and Recipients. Recipient Users : SCP Users IDs can be added here and can have multiple recipients.
- User Interface: Here need to attach SAP HTML5 application which should provide the requested data in change of Supplier Bank details and option to Approve/Reject the request.
- Approval/Rejection : This is Exclusive Gateway step to get the approver’s decision to proceed further. If request has been Rejected then Mail Task step is used to send notification to User who created the request. On other hand If approved then need to check the original request either it was for change in existing Bank Identification or New Bank identification detail. ⇒ If Change in Existing: Service task step is added to update the Bank details of supplier using HTTP method PUT. ⇒ New Bank Identification record: Service task step is added to create the Bank details of supplier using HTTP method POST. After update notification sent to request creator and workflow completed.
As you can see, the Side-by-Side Extensibility allows you to build external apps in the SAP Cloud Platform to read from or post data to your S/4HANA Cloud. SAP API Business Hub lists all the artifacts you can use to interact with your S/4HANA Cloud system.