Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
sainithesh21
Active Participant
Hello Everyone,

Hope my intellectual SAP steered friends are doing well 😊.

In this blog, we will learn how to configure Content Federation of SAP S/4HANA Cloud with SAP Build Work Zone, Standard Edition. Before we get into the content federation, there are few terms we need to understand.

  • Integrate Business Content into your subaccount from content providers (remote or SAP BTP providers) or you can add the content manually.

  • Content Provider exposes content from a source to make it accessible from SAP Build Work Zone, standard edition. Content providers can expose content from cloud or on-premise systems.

    • Remote content providers - SAP IBP, SAP S/4HANA Cloud, SAP S/4HANA, SAP Business Suite, and SAP Enterprise Portal

    • SAP BTP content providers - HTML5 Apps, Launchpad Modules.



  • Remote Content Provider is a solution that exposes content that can be integrated in the SAP Build Work Zone, standard edition, as it requires its administrator to expose the desired content. Additionally, the administrator needs to configure a design-time destination from where to fetch the content, and a runtime destination from where to execute the content.

  • An end-to-end process for integrating content from cloud solutions is composed of Content Exposure Flow and Content Consumption Flow.


Pre-requisite



  1. SAP BTP Account with Subaccount enabled (I am using BTP trial account as part of this blog).

  2. Entitlements like SAP Build Work Zone Standard Edition, SAP S/4HANA Cloud Extensibility, SAP HTML5 Applications Repository service.

  3. SAP S/4HANA Cloud, public edition tenant with admin roles.

  4. SAP Build Work Zone with admin role.


Register SAP S/4HANA Cloud with SAP BTP




  1. Lets connect SAP S/4HANA Cloud and SAP BTP. In the SAP BTP Cockpit, navigate to System Landscape. Click on Add System.




  2. Enter the system name as S4HCLearn or something of your choice and choose Type as SAP S/4HANA Cloud and click on Add.




  3. It will prompt to get the token to register the system with SAP BTP Global account. Click on Get Token.




  4. Copy the Registration Token and save it, the same will be used in our SAP S/4HANA Cloud Tenant.




  5. Now open the SAP S/4HANA Cloud Tenant and launch the Maintain Extensions on SAP BTP App.




  6. Click on the New.. Provide the description and token which we have copied earlier and choose Create.





Setup S/4HANA Extensibility Entitlement with SAP S/4HANA Cloud Tenant


In the SAP BTP Cockpit, navigate to Entitlements > Entity Assignments > Choose the entity > Configure Entitlements > Add Service Plans. Search for the SAP S/4HANA Cloud Extensibility and click on it. On the right side we need to choose our registered System, and choose below available plans.

  • messaging – to consume SAP S/4HANA Cloud events and create event-based extensions using the event bus from SAP Event Mesh Integration.

  • api-access – for generic access for SAP S/4HANA Cloud APIs.




Configure Inbound and Outbound Users with Communication Systems in S/4HANA Cloud Tenant


Communication systems are created to enable the communication among different systems.


  1. Launch the Communication Systems app in the S/4HANA Cloud Tenant and click on the New.




  2. Enter the Host Name such as portal-service.cfapps.<datacenter>.<domain> and define an ID and name for the system.




  3. We need to add Technical User for Inbound Communication. Under Users for Inbound Communication, click Add. We have an option to choose either SSL Client Certificate or User Name and Password as authentication method, here I am going with User Name and password as authentication method.




  4. Click on New User. It will be redirected to the Communication User app. Enter new user name and description. Depending on the selected authentication method, either upload the required X.509 client certificates or provide a password and then click on Create.




  5. We need to add Technical User for Outbound Communication. Under Users for Outbound Communication, click Add. In the New Outbound Communication User, choose None as authentication method and click on Create.




Note: SAP recommends to use the client-based authentication (X.509).

Configure the Communication Arrangement


Communication arrangement to enable the communication between your SAP S/4HANA Cloud Tenant and SAP BTP.


  1. Launch the Communication Arrangements app in the S/4HANA Cloud Tenant and click on New.




  2. In the New Communication Arrangement dialog, search and choose the communication scenario SAP_COM_0647 - SAP Fiori Launchpad Content Exposure Integration and click on Create.




  3. In the Communication Arrangement, under Common Data in the Communication System field, select the communication system which we have created earlier. The Inbound and Outbound User information will be pulled automatically. In the Inbound Services section, the URLs to the service endpoints are displayed.



  4. Under Additional Properties, enter the values as below:

    • Logical Target Identifier, enter an unique ID to identify the target of the callback URL. This will be used in the content change notification process.

    • Unused Exposure Content Expiration (Days), define after how many days unused exposure content will be deleted. The default value is 100. If you dont want to delete the content, set it to 0.

    • Exposure Log Level, we need to specify which messages should be in the exposure log. The default value is 2. Below are the available values

      • 1 - Show entities with errors

      • 2 - Show entities with errors and warnings (default)

      • 3 - Show entities with errors, warnings and success messages


      • 9 - Show all the entities including API calls









  1. Now we need to enter the job execution details for scheduling the exposure content and click on Save.


    • Note: SAP recommends to set the job frequency to hourly. After we save the arrangement, it might take a while until the job gets scheduled. When the Job Status field turns active, the job will execute as defined.







Roles Exposure




  1. Launch the Maintain Business Roles  app in the S/4HANA Cloud Tenant.




  2. Select the relevant roles which we want to expose and click on Expose to SAP BTP and confirm by clicking on Expose.




  3. Exposed to SAP BTP filter field which helps to filter the roles and Exposed to SAP BTP column shows which all the roles are exposed.





Configure Communication for Content Consumption




  1. In the SAP BTP Cockpit, navigate to Connectivity > Destinations. Click on the Download Trust.




  2. Launch the Communication Systems app in the S/4HANA Cloud Tenant and click on New and enter the details as per the below screenshot and click on Save.




Protect Against Clickjacking


To run apps in an iFrame, you need to configure an allowlist - define secure applications by adding trusted hosts to the protection allowlist.


  1. Launch Maintain Protection Allowlists app in the S/4HANA Cloud Tenant.




  2. On the Clickjacking Protection tab, click on + to add a new host.



  3. In the Add Trusted Host pop up, enter the below information and click on Add.

    • Trusted Host Name: .launchpad.cfapps..hana.ondemand.com

    • Schema: HTTPS


    • Port: 443







Adding Destinations


We need to create a design-time destination to define the location from where we need to fetch the exposed content, also runtime destination for launching the app.

Open the SAP BTP cockpit, and navigate to the Connectivity > Destination


Design-Time Destination







































Property Value
Name s4hc_learn_dt
Type HTTP
URL https://myxxxxx-api.s4hana.ondemand.com/sap/bc/http/sap/APS_FLP_CONTENT_EXPOSURE/entities
Proxy Type Internet
Authentication Method BasicAuthentication
User User which created during Inbound Communication
Password Password which created during Inbound Communication



Run-Time Destination



A runtime destination for launching apps in an iFrame via a direct URL to the UI host of the cloud solution.




































Property Value
Name s4hc_learn_rt
Type HTTP
Description Content Cell
URL https://myxxxx.s4hana.ondemand.com
Proxy Type Internet
Authentication Method NoAuthentication

 

























Additional Properties Value
HTML5.DynamicDestination true
sap-platform ABAP
launchpad.wa.productId SAP_S4HANA_CLOUD
launchpad.wa.productVersion 2302.latest



Runtime Destination for Dynamic Data











































Property Value
Name S4HC_LEARN
Type HTTP
Description Content Cell
URL https://myxxx-api.s4hana.cloud.sap
Proxy Type Internet
Authentication Method SAMLAssertion
Audience https://myxxx.s4hana.cloud.sap
AuthnContextClassRef urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession

 





























Additional Properties Value
HTML5.DynamicDestination true
HTML5.Timeout 6000
nameIdFormat urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
WebIDEEnabled true
WebIDEUsage odata_abap



Site Manager - Channel Manager



Open SAP Build Work Zone, Standard Edition - Site Manager which is launchpad configuration where we will be creating Content channel which helps in the connecting SAP Build Work Zone with the help of destinations.





  1. Click on New on the top right corner.




  2. Enter the below details as below and click on Save.




  3. Once it is saved and click on the Update Content.





Display Launchpad Content Exposure Logs



  • To get the application log, which was created when publishing launchpad content to SAP BTP, Display Launchpad Content Exposure Logs app will be used.


  • To use this app, user need should have SAP_BR_ADMINISTRATOR role assigned also SAP_CORE_BC_UI_MON Business Catalog.





SAP Build Work Zone Site Manager - Content Manager




  1. Now lets go to the Content Manager > Content Explorer. Click on the Content channel which we created earlier, here it is S4HC LEARN.




  2. It will display the list of the roles which we exposed in the S/4HANA Cloud Tenant. Choose the roles which we want to be used as part of SAP Build Work Zone and click on the Add to My Content.




  3. Selected roles will be displayed under My Content.




  4. Click on a particular role to display the list of application associated to that role.





Site Manager - Site Directory


Here we will be adding the roles to the site.


  1. Click on the settings icon of the site and once it is opened click on the Edit.




  2. On the right side we should be able to see the Assignment section where we need to choose the roles which should be accessable using this site.




  3. Also enable other settings like




    • Spaces and Pages available under Display --> View Mode

    • Search in Shell Header available under Display --> Display on the screen

    • Show Source System Name on Tiles available under Display --> Display on the screen -- Enables the user to display the source system name on the tile.

    • Add parameters as below to enable and display SAP Companion







Add Roles to the User




  1. Open the SAP BTP Cockpit ---> Security --> Users. Choose the User and add relevant roles to the user to access the S/4HANA Cloud content from SAP Build Work Zone.




  2.  Launch and login the SAP Build Work Zone with relavant user credentials.





Companion Usage in the SAP BTP post SAP S/4HANA Cloud content federation


Restrictions



  • The integration of SAP Build WorkZone, standard edition with SAP S/4HANA Cloud, public edition is restricted to scenarios with a limited number of business roles.

  • SAP Build Workzone, standard edition is no full equivalent of the SAP Fiori launchpad of SAP S/4HANA Cloud, public edition.

  • The federation of multiple SAP S/4HANA systems is not recommended, as multiple groups, spaces, pages and apps with identical names might occur and create conflicts.

  • Built-in support for ticket creation, support related information and end-user feedback (via Qualtrics) is not supported.


 

I hope you found this blog informative. Please do not hesitate to offer any suggestions.

 

Regards,

Sai Nithesh Gajula
Labels in this area