SAP S/4HANA Cloud – Side-by-Side Extensibility

 


In my previous Blog I took you through the Key-User In-App Extensibility concept and functionalities where the extension is implemented in the same system by users with no deep technical knowledge.

In this third Blog I’m going to share with you how Side-by-Side extensibility works and enables external content deployed in SAP Cloud Platform (SCP) to be integrated within your S/4HANA Cloud system.

 

SAP Cloud Platform is an open platform as a service (SaaS) 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.

SCP allows you to build applications which:

  • Adopt Fiori UI principles and are accessible from your S/4HANA Cloud Fiori launchpad
  • Consume open APIs and custom CDS Views built in your system

SAP S/4HANA Cloud – Side-by-Side Extensibility

Note: The same Side-by-Side Extensibility approach is applied to integrate other SAP Cloud Solutions like SAP Analytics Cloud, SAP CP Integration Services and SAP CP Workflow Services.

Tip: In S/4HANA On-premise, you can replicate HANA Views from your system in order to be used as a Data Model in SCP.

 

This Blog is to cover the following topics:

  • SAP Best Practices for S/4HANA Cloud: Scope Item 1RW
  • S/4HANA Cloud Communication Setup
  • Identity Provider Configuration
  • Development and Deployment of a Custom App in SAP Cloud Platform
  • Integration of a Custom App in S/4HANA Cloud Fiori Launchpad

 

Let’s start! 🙂

 

Side-by-Side Extensibility for SAP S/4HANA Cloud (1RW)

 

AS of S/4HANA Cloud 1711, SAP Best Practices includes a new scope item (1RW) for Side-by-Side Extensibility.

 

SAP S/4HANA Cloud – Side-by-Side Extensibility

 

I highly recommend that you take a look at this document which explains in a detailed step-by-step approach, how to create your first application on the SCP and integrate it with your S/4HANA Cloud.

The document includes instructions to build and deploy two sample applications:

  • External Product Ordering App: a small Webshop App that reads data from and writes data back to your S/4HANA Cloud system. It allows you to sell your portfolio products to external users in a simple approach.
    • The app reads the available Products from your S/4HANA system.

SAP S/4HANA Cloud – Side-by-Side Extensibility

    • Allows to submit a Sales Order

SAP S/4HANA Cloud – Side-by-Side Extensibility

SAP S/4HANA Cloud – Side-by-Side Extensibility

 

    • The sales Order is created in your S/4HANA Cloud system:

SAP S/4HANA Cloud – Side-by-Side Extensibility

 

  • Internal Sales Geo Report App: Based on the previous App, this App allows your internal users to analyse the overall net amount of sales per month. A geographical map shows where a specific sales order has been placed.

SAP S/4HANA Cloud – Side-by-Side Extensibility

Note: These apps (downloadable from GitHub) are developed in JAVA. You would need to install JDK 8, Maven 3.0 and Git Command Line Interface.

 

BOA Discounts App

In my previous Blog, a custom Business Object (BOA_DISCOUNTS) was created in our S/4HANA Cloud system, and now it’s time to build an application in SCP which will consume the corresponding CDS View automatically generated after you published BOA_DISCOUNTS.

Tip: When you publish Custom Business Objects, the CDS View corresponding to the hierarchy and Custom Code List you defined are available in Custom CDS Views app.

SAP S/4HANA Cloud – Side-by-Side Extensibility

 

Although the Side-by-Side Extensibility steps are the same, the approach I have adopted to build this app is slightly different from the one explained in the 1RW document, basically due to these differences:

BOA Discounts 1RW apps
HTML5 application JAVA application
WebIDE Eclipse

 

S/4HANA Cloud Communication Setup

You can check the Best Practices scope item 1RW to configure:

  • Communication User
  • Communication System
  • Communication Scenario
  • Communication Arrangement

Tip: The Standard Communication Scenarios correspond to the S/4HANA Cloud APIs. The full API list is available on SAP API Hub. Depending on your license some of them would not be available within you S/4HANA Cloud system.

Note: In the scope Item 1RW, 2 Standards API’s have been used, in addition to a Custom Communication Scenario.

SAP S/4HANA Cloud – Side-by-Side Extensibility

 

Tip: The Communication Landscape app gives you an overview of the connected systems to your S/4HANA Cloud.

SAP S/4HANA Cloud – Side-by-Side Extensibility

 

Identity Provider Configuration

In order to build an App in SAP Cloud Platform, accessible from your S/4HANA Cloud Launchpad and able to consume the above CDS View which is external content, you need to configure a mutual Trust between SCP and S/4HANA Cloud.

Tip: In real scenarios you need to subscribe to SCP. For testing purposes, a Trial Account is enough to build your demo Apps.

 

You can check Best Practices Scope Item 1RW to:

  • Download the metadata from SAP Cloud Platform
  • Download the metadata from your Identity Authentication Tenant
  • Upload SCP metadata to your Idp Provider
  • Upload Idp metadata to SCP

 

Tip: Make sure that the Idp you have uploaded is set as Default. This will allow WebIDE to be integrated with your S/4HANA Cloud system.

Note: If you attempt to enter WebIDE now, you will be redirected to the S/4HANA Cloud Idp where you are requested to authenticate against the Application you created previously (where you uploaded the SCP metadata)

SAP S/4HANA Cloud – Side-by-Side Extensibility

Tip: Now that the Trust is configured between SCP and S/4HANA Cloud you can configure the standard Communication Scenario SAP_COM_0013 for WebIDE Integration with S/4HANA Cloud. An app will be available in your Fiori Launchpad and you can access WebIDE without authentication.

 

SAP S/4HANA Cloud – Side-by-Side Extensibility

 

Deploy your App in SAP Cloud Platform

 

Create an SCP destination to S/HANA Cloud system

Before you start developing your App, you need to setup a destination to your S/4HANA Cloud. This will be used to consume the Custom CDS View.

You can check Best Practices Scope Item 1RW to create an SCP destination to S/4HANA Cloud System:

SAP S/4HANA Cloud – Side-by-Side Extensibility

Tip: You might also consider configuring a destination based on  OAuth2SAMLBearerAssertion. In this case, you need to specify the scope as a parameter, pointing to your resource. (YY1_BOADISCOUNTS_CDS)

 

Create your Application with WebIDE

From your SCP account, navigate to Services and go to SAP WebIDE.

Once WebIDE is loaded you can use an SAP Fiori Master-Detail Application template where you can use the destination you configured before and choose your Custom CDS View you already built in your S/4HANA.

 

SAP S/4HANA Cloud – Side-by-Side Extensibility

 

This Blog is not intended to explain how to develop Fiori apps using Javascript, XML and MVC (Model-View-Controller) concept. This could be a subject for a future Blog.

It’s in your hands to develop more sophisticated Apps with Analytics, Maps and more interaction. You might also need to combine several API’s and cross the data you retrieve in order to build suitable data models.

 

SAP S/4HANA Cloud – Side-by-Side Extensibility

 

Add the App as Custom Tile to the Fiori Launchpad

Check the SAP Best Practices scope item 1RW to add your app as a Custom Tile to the Fiori Launchpad:

SAP S/4HANA Cloud – Side-by-Side Extensibility

 

Conclusion

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. The apps are integrated within your system and can consume both standard Communication Scenarios and custom ones based on your Custom Business Objects. SAP API Hub lists all the artifacts you can use to interact with your S/4HANA Cloud.

 

I hope you have enjoyed this 3 Blog series around S/4HANA Cloud Initial System Setup and Extensibility. Looking forward to publishing new Blogs on other topics!


Please reach out to our sales team at sales@advantco.com if you have any questions.