Technical Articles
Access Fiori apps via SAP Build Work Zone Site with Federated SAP S/4HANA Content
In this Blog I will explain how the Fiori apps defined in S4HANA On-Premises system via Role /Catalog/ Groups can be accessed in SAP Build Work Zone, standard edition (formerly SAP Launchpad service) Site with the concept of content federation. Also, we will see that SAP Build Work Zone, standard edition can be central entry point for accessing Fiori apps coming from different content providers. Hence users will be able to access all their apps via the central entry point.
To achieve this scenario of content federation, we access S/4HANA On Premise system from the SAP Build Work Zone, standard edition Site via SAP Cloud Connector for the tunneled access. This integration will be done at role level and the content under roles like (Group/Catalog/Apps) will be exposed to SAP Build Work Zone.
In the previous blog post Blog,I have covered integrating HTML5 freestyle Fiori apps which are deployed in the cloud foundry. Here, Cloud Foundry environment is a content provider providing access to HTML5 apps within SAP Build Work Zone, standard edition.
Configuration Steps for BTP content Federation: –
Step 1: – Subscribe to the SAP Build Work Zone, standard edition.
Step 2: – Cloud connector Setup
Step 3: – Setup the Runtime and Design-Time destinations in SAP BTP
Step 4: – Expose content from SAP S/4HANA
Step 5: – Import the content in SAP Build Work Zone, standard edition.
Step 6: – Assign the imported roles to the Site.
Step 7: – Add the roles to the user.
Step 8: – Access the federated content
Step 1: – Subscribe to the SAP Build Work Zone, standard edition.
In trial account, we have to subscribe the “SAP Build work zone service”.
Step 2: – Cloud connector Setup –
a. Connect BTP Trial account.
In the cloud connector, add SAP BTP trial account as a subaccount.
To find the right information to enter SAP Cloud Connector, access SAP BTP trial in a second browser tab and open the sub account.
b. Configure access control.
We must specify the on-premises backend system that the trial should be able to access and add resource in the cloud connector.
a. Create the design-time destination.
Click on New Property to add an additional property to the destination.
Enter sap-client and the client of the SAP S/4HANA system, e.g., 100 for SAP S/4HANA trial as property name and value.
b. Create the runtime destination.
In New Property add the following properties to the destination. We will have to type in the property name if it is not available in the dropdown list.
Property Name | Value |
HTML5.DynamicDestination | TRUE |
sap-platform | ABAP |
Sap-client | 100 – Client ID of the SAP S/4HANA system |
sap-service | A string that consists of the first two characters 32 and the instance number of the ABAP application server, 3200 for current system |
sap-sysid | System ID of SAP S/4HANA system |
Step 4: – Expose content from SAP S/4HANA
a. Activate clickjacking.
Since the SAP S/4HANA apps are integrated into SAP Build Work Zone using iFrames, need to configure an allow list to protect the system against clickjacking attacks. We can manage such allow list scenarios with the Unified Connectivity Framework (UCON Framework) to optimize the protection of the RFC and HTTP(S) communication against unauthorized access.
b.Add FLP entries
We need to Set customizing parameter EXPOSURE_SYSTEM_ALIASES_MODE. This parameter defines how to handle system aliases during content exposure. In an embedded deployment of the SAP Fiori front-end server, all apps run on the same server. Therefore, system aliases can be cleared during exposure. In a hub deployment in contrast, they might come from different back-end systems and each back-end system may have several aliases. Therefore, we need to map these aliases to the runtime destinations manually after creating the content provider.
This will be setting required in S4HANA.
c.Check activation status of cdm3 service
d.Select SAP Fiori Content for Exposure
Run Transaction /n/UI2/CDM3_EXP_SCOPE and add multiple roles which we want to expose, here we have used Custom roles.
Step 5: – Import the content in SAP Build Work Zone, standard edition.
a.Create a new Content Provider
To make the apps that come with the federated roles available in the site, we need to assign the roles to the site.
Click the Site Directory icon to access the site and add the exposed roles coming from S4hana.
Step 7: – Add the roles to the user in BTP.
Fiori Apps are only displayed to users with the corresponding roles assigned.
Step 8: – Access the federated content
We can now see the respective Fiori apps assigned via role collections to the user.
Conclusion:
We can access the S4HANA on-premises Fiori apps along with the HTML5 apps based on the Role collection assigned to users in the same SAP Build Work Zone, standard edition site.
Hence users can access all their apps via the central entry point. The more Fiori apps coming from different sources user need to access, the more benefit from now having one central point of access,
I hope this blog post helps you during your role configuration. We look forward to your comments and feedback.
Happy Learning and please follow for more content on SAP BTP security.
Also please follow SAP Business Technology Platform Security Topic Page https://community.sap.com/topics/btp-security
SAP Help Reference:
Federation of Remote Content Providers
Hi,
I have done content federation from s4hana 2022 to SAP BTP, all the required dynamic and static tiles were loading in sap btp workzone but when i try to launch the app i'm getting the below error /sap/bc/ui2/flp/ui5appruntime.html?sap-ui-app-id=cus.sd.salescontracts.manage⪰nario=LAUNCHPAD&sap-startup-params=sap-ushell-defaultedParameterNames%3d%5b"sap-ach"%2c"sap-fiori-id"%5d&sap-shell=FLP&sap-touch=0&sap-ui-versionedLibCss=true&sap-plugins=RTAPluginAgent&sap-theme=sap_fiori_3&sap-iframe-hint=UI5&sap-system-login-oninputprocessing=onProceed&sap-client=100&sap-language=EN
however sap GUI and webdynpro apps are loading properly without any error in the workzone. Can you let me know how to fix this issue.
Thanks
Nikhil
Hi Nikhil,
Please check the error log via /IWFND/ERROR_LOG in backend system, it may show some issue. Also check the clickjacking step is properly done.
Thanks & Regards,
Abinash Malakar
Hi Abinash,
Thank you for sharing the blog. But in my system I am not able to add the entries for FLP.
I don't have the parameter EXPOSURE_SYSTEM_ALIASES_MODE in the property.
Hi Mayank,
Thanks for the input. Please check your UI version. Upgrade the software component SAP_UI 754 to at least SP06.
Please check - 3235969 for more details.
Thanks & Regards,
Abinash Malakar
Hello Abinash,
Thank for the SAP Note. We upgraded our system with the required SP level and I can see the parameters now. But now I am facing another challenge. After federating the content I can see the tiles but when I am clicking on the tiles, only empty blank page .
My Problem is how and where to check for the errors.
I too am facing the same issue. Did anyone find solution to this problem?
Can you please upload the screenshot from the browser console?
Hi Mayank,
Here are the screenshots. Some apps give error 500 and some 404.
Best Regards,
Geet
What is your S/4 HANA version? If you see the second screenshot there is some problem with the UI5 runtime. Please check the compatibility matrix between S/4 version and supportable UI runtime. We had the same problem, so we upgraded our UI runtime on S/4 HANA .
Hi Mayank,
Sorry for the delay. We are on version 2020. I checked the UI5 runtime version and thats where I think could be the problem.
The UI5 version being used by apps in our S/4 Fiori Launch Pad is 1.84.22. It works fine in this case.
However, while running the same app from Build WorkZone, it is 1.14.0 which is less than what is suggested in the pre-requisites. However, there is no way to set the SAP UI5 version anywhere in the site settings and online help shows it cannot be set?
Does this seem normal or we can do something about it.
Best Regards,
Geet
Hi Abinash
Great blog, thanks for sharing
I have a question regarding the FES. Are these steps applicalble for Hub deployment as well or there are addtional steps?
Regards
MB