Introduction: In today's digital world, businesses are looking for ways to streamline their processes and enhance their customer experience. One way to achieve this is through the integration of different systems. In this blog post, we will explore how to integrate SAP C4C and S/4 HANA using BTP destinations and SAP Build apps.
To integrate SAP C4C and S/4 HANA, we can use BTP (Business Technology Platform) destinations and SAP Build Apps.
BTP destinations are endpoints that define how to connect to a remote system or service. BTP Destinations are typically used in cloud-based scenarios where different cloud services need to communicate with each other securely. They provide a way to define the connection details for target systems such as the endpoint URL, authentication credentials, and other settings. BTP Destinations can be created and maintained using the SAP Cloud Platform cockpit or SAP Cloud SDK. They can be used in various scenarios, such as connecting to remote data sources, invoking external web services, or sending notifications to third-party systems.
SAP Build Apps is a visual programming environment where citizen and professional developers can build enterprise-ready custom software without writing any code. It makes it easier for users to create engaging and functional SAP Fiori apps without the need for extensive technical expertise or coding knowledge. It provides a streamlined and collaborative design process that helps organizations deliver high-quality apps faster and more efficiently.
You can sign up for a free trial of SAP Build to get hands-on experience with the tool. The trial account provides access to all the features and functionalities of SAP Build, allowing you to create and prototype your own SAP Fiori apps. You can find it
here.
For Quick on-boarding & Certification to SAP Build you can refer to the blog post
SAP Build Low-code/No-code Applications.
Let us quickly get into our use case.
Use Case: An SAP Build App is embedded into the Agent desktop screen in C4C tenant where you will be able to view the S/4HANA transactions like Sales Orders, Customer Returns, Outbound Deliveries etc based on the Customer like below.
Let’s take an example of integrating Sales orders from S/4HANA in to C4C screen.
Step 1: Set up the BTP Destination in the BTP Sub account.
You can follow below steps:
- Open the SAP Cloud Platform Cockpit and log in to your BTP sub-account.
- Navigate to the "Destinations" page under the "Connectivity" tab.
- Click on the "New Destination" button to create a new destination.
- In the "Destination Name" field, enter a name for your destination.
- In the "Type" field, select "HTTP" as the destination type.
- In the "Description" field, enter a brief description of your destination.
- In the "URL" field, enter the URL of the S/4HANA Sales order API (https://myXXXXXX.s4hana.ondemand.com/sap/opu/odata/sap/API_SALES_ORDER_SRV)that you want to integrate.
- In the "Proxy Type" field, select "Internet" as the proxy type.
- In the "Authentication" section, select "BasicAuthentication" as the authentication method.
- Enter the username and password credentials for the API service.
- In the "Additional Properties" section, add the following key-value pairs:
- "WebIDEEnabled": "true"
- “HTML5.DynamicDestination” :"true"
- "AppgyverEnabled" :"true"
- These properties will allow you to access the API service using the SAP Web IDE.
- Click on the "Save" button to save your destination.
- Once you set up, you can click Check Connection to see if the Connection is Successful.
Step 2: Create an Appgyver app with basic screens to display the values from the S/4HANA. Add a list view to the page to display the results and a page parameter to read the Account id and Query the Sales orders based on Account ID. Here are some steps to follow.
- Create a new page in Appgyver by selecting "Create New Page" from the Pages menu.
- Name the page and select a layout that will suit your needs.
- Add a container component to the page to hold the sales order query results.
- You can create a page Parameter to read the Account id from the C4C Screen and pass that to S/4HANA system to query sales orders based on Account.
- Next we have to enable BTP Authentication. click on the AUTH tab -> Enable Authentication
- Add the BTP destination created in the Previous step by clicking on the Data tab -> Add integration.
- Then select the BTP Destination you have created.
- Then do install Integration and enable Data entity and save it, then that Data resource will be added to your Project.
- Add a data variable to the page to store the query results. You can select the Sales Order Data resource you have added above.
- Bind the container component to the data variable using the "Repeat with" binding option. This will cause the container to display a list of items based on the data returned by the query.
- Customize the appearance of the container and its child components (e.g., text elements, buttons, etc.) to display the sales order data in a clear and intuitive way.
- Test the page by previewing it in the Appgyver preview app or by deploying it to a test environment. If necessary, adjust the page and data variables until the desired results are achieved.
- Deploy the app using then Open Build Service and add the Deployed URL as a Mash up in C4C Agent desktop Screen.
- You can configure the Mash up in Agent Desktop as a tab or in the Account Screen as a tab by passing the Account ID.
- You can repeat the same steps to get any other S/4HANA transactional data like Customer returns, Outbound Deliveries, Credit Memo Requests etc.
In conclusion, integrating SAP C4C and S/4 HANA using BTP destinations and SAP Build apps can provide businesses with a powerful solution to streamline their processes and improve their customer experience. By using BTP destinations to connect the two systems and SAP Build apps to create custom applications, businesses can read real-time data from S/4 HANA and display it in SAP C4C, allowing for better decision-making and enhanced efficiency.
Once you get more familiar with the SAP Build apps then it will become easier to build screens and play around and try different integration scenarios. Hope this blog may help you in your use cases.