Skip to Content
Technical Articles
Author's profile photo Lakshmi Ganga

Integrating SAP Screen Personas Slipstream Engine Flavors in SAP S/4HANA On-Premise (Hub Setup)

This blog will give the detailed steps to integrate Slipstream Engine Flavors in S/4HANA On-Premise (2020) using Hub setup.

Introduction

SAP introduced the Slipstream Engine component with SAP Screen Personas 3.0 Service Pack 6 to enable the rendering of SAP GUI transactions on mobile phones and tablets.

Prerequisites

  • SAP ABAP Back-end:
    • SAP Screen Personas 3.0 Service Pack 10 or later installed, configured and updated
    • Ensure that /n/personas/admin > Health Check does not report any configuration errors or missing relevant SAP Notes
    • Activate SAP ABAP Back-end SICF service paths and make sure SSO is enabled.
      • /sap/bc/personas3
      • /sap/bc/se/rg
      • /sap/bc/se
      • /sap/bc/se/m
    • SAP Screen Personas Slipstream Engine Flavor created and tested

Configuration Steps:

Steps to integrate Slipstream Engine with SAP Fiori launchpad in a Hub Setup:

  1. Configuring Web Dispatcher for Slipstream Engine
  2. Target Mapping
  3. Create a Tile

 

1.Configuring Web Dispatcher for Slipstream Engine

 

SAP%20Web%20Dispatcher%20Setup%20for%20Fiori%20Launchpad%20Slipstream%20integration

SAP Web Dispatcher Setup for Fiori Launchpad Slipstream integration

 

Follow the web dispatcher configuration steps provided in the SAP below documentation based on the number of Slipstream Engine ABAP back-end systems

https://help.sap.com/viewer/1024f4ede569495cb350a479fff49ad0/Current/en-US/2118064dbbd348f299e5959fdf28d19f.html

Note:

  1. We have implemented the SAML2 based SSO setup used to navigate to the ABAP Back-End server.
  2. Implemented the web dispatcher rewrite rules to connect to backend system.

2. Target Mapping

Opening Slipstream Engine as an SAP Fiori application requires the creation of a generic target mapping. This is accomplished through SAP Fiori Launchpad Designer.

To begin creating Target mapping, select the existing catalog where the tile is created.

  • Intent (Free text)
    • Semantic Object: Slipstream
    • Action: URLNAV
  • Target Points to Slipstream Engine
    • Application Type: URL
    • URL: /sap/bc/se/m
  • Parameters for Flavor and transaction
    • flavor is mapped to sap-personas-flavor
    • transaction is mapped to ~transaction
    • sap-personas-hidden mapped to X

Note:

  •  Use the /sap/bc/se/m service URL based target mapping over the single page SAPUI5 Fiori app type target mapping
    • Solves the SSO problem on HUB setups
    • Slipstream Engine loads its own SAPUI5 runtime library and does not rely on the version installed on the front-end server

3. Create a Tile

  • Create a specific tile for your use case. For example, to render a specific flavor for transaction QM01.
  • Use the same Semantic Object and Action created in the above step.

 

Now, the tile can be accessed from the Fiori launch pad. Once we click on the tile, the below is the slipstream URL will be opened in new tab.

https://<HOST>/sap/bc/se/m/312_rel/mainapp/ClientBin/index.html?sap-personas-flavor=<Flavor ID>&sap-personas-hidden=X&~transaction=QM01

 

Here are the number of issues encountered during the integration process. I would like to share my learning experiences to resolve the issues.

  • App could not be opened because the SAP UI5 component of the application could not be loaded.

         Implemented the OSS note https://launchpad.support.sap.com/#/notes/3071554 to fix the         handler issue.

  • 400 session timeout 

Once we click on the tile, we see ‘Do you want to reload the Slipstream Engine’  session expired message even when reload multiple times. Based on the network logs, while navigating to backend system, the session time out with 400.

Here the URL looks as below.

https://<HOST>/sap(Session ID>)/bc/se/rg/batch/json?moin=70DCAC58D80A3AA0

We have changed the web dispatcher rules to resolve this navigation issue. The slipstream navigation to backend system is based on the slipstream URL path. So the URL while creating the new session in backend have the URL format as ‘/sap/bc/se* ‘ but while session is connecting, the URL as ‘sap(session id)/bc/se’. So the below web dispatcher rules resolve this session reload issue.

cat rewrite_rules.txt
if %{HTTP_HOST} regimatch <host> [AND]
if %{PATH} regimatch ^/sap.*/bc/se* [OR]
if %{PATH} regimatch ^/sap/bc/personas3*

SetHeader x-sap-webdisp-target-sid <Backend system id> [break]

  • component.js failed with 403 forbidden for the first time when we click on the tile. Once we refresh the page, the page is loaded correctly.

Analysis and Resolution by SAP:

The SAML2 based SSO setup does not work when the Component.js files are dynamically loaded by Launchpad shell first time from an another system (HUB setup) as basic auth. is engaged causing the 403 browser error due to wrong response content type (JS/application expected, text/html received). Embedded Launchpad setups are not affected.

– This problem is out-of-scope of the SAP Screen Personas app layer
– Logon tickets or other SSO method may solve the problem (SAP Note 0002485474)

Resolution:

Use the /sap/bc/se/m service URL based target mapping over the single page SAPUI5 Fiori app type target mapping along with existing SAP Web Dispatcher rules
— Solves the SSO problem on HUB setups
–Solves the discovered SAPUI5 compatibility issue as Slipstream Engine loads its own SAPUI5 runtime library and does not rely on the version installed on the front-end server

Summary

Slipstream Engine can significantly improve the overall look and feel as well as performance of SAP GUI transactions when simplified using SAP Screen Personas and rendered on mobile devices.

 

 

 

 

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.