Transport set up for FIORI in app extensibility

In the previous blog we explained how to execute in app extensibility for an out-of-the-box FIORI app. This blog will explain how to transport the changes done.

Questions that will be answered in this blog are:

  • What setup do I need to do for transporting the in app flexibility content?
  • How to activate the needed apps for transporting in app flexibility content?
  • How to use the needed apps for transporting in app flexibility content?

Initial setup

To set up the transport mechanism for in app extensibility start transaction S_ATO_SETUP:

These are packages used to only store the data for the key user.

For the final transport, create in SE80 once a final package, for example ZKUFLEX:

Background explanation on this transaction is present in OSS note 2807979 – Information to setup Adaptation Transport Organizer for S/4HANA On Premise system via S_ATO_SETUP.

FIORI apps activation for transports of key user flexibility content


Activate the FIORI app Configure Configure Software Packages. Full instructions are available on the FIORI reference library.
Short summary:

  • Activate SICF services: NW_APS_ATO_CONF, NW_APS_ATO_LIB and NW_APS_LIB
  • Activate ODATA service: APS_EXT_ATO_PK_CFG_SRV
  • Acitvate PFCG roleSAP_NW_APS_EXT_ATO_PK_CFG_APP and assign to your user

Activate the FIORI app Register Extensions for transport. Full instructions are available on the FIORI reference library.
Short summary:

  • Activate SICF services: NW_APS_ATO_REGI, NW_APS_ATO_LIB and NW_APS_LIB
  • Activate ODATA service: APS_EXT_ATO_PK_AI_SRV
  • Activate PFCG role SAP_NW_APS_EXT_ATO_PK_AI_APP and assign to your user

Use of FIORI apps for transports of key user flexibility content

Add the apps to on the FIORI launchpad:

In the app Configure Software Packages add your permanent package you created in SE80:

Also assign a transport request here.

Now you can use the Register Extensions for Transport app to assign you extension to the package and transport:

Select the field and press the button Reassign to Package.

SAP references

Excellent overview blog can be found here.

SAP full help reference can be found here.

SAP support for browsers

This blog will explain the ways to find information about SAP support for browsers.

Questions that will be answered in this blog are:

  • Where do I find overall information about SAP support on browsers?
  • Which OSS notes are relevant for specific browsers?

SAP support on browsers

The main OSS note for browser support in SAP Netweaver is OSS note 1728946 – Browser: Browser Support Strategy for NetWeaver. For FIORI SAP UI5 technology, the main note is 1716423 – SAPUI5 Browser Support.

Most of the browser fixes are delivered in the Unified Rendering patch updates. Read more on this topic in this dedicated blog.

A common source of browser issues is the Active Component Framework. Read in this blog why it is best to NOT use this framework at all.

SAP netweaver browser support

On the SAP support PAM site you can find the specific browser support for each browser and netweaver combination:

Specific browser notes

Main notes for specific browsers:

Chrome:

Safari:

Firefox:

Internet explorer: support is still there but will end towards the end of 2021:

Microsoft Edge:

Browsers on mobile devices:

Issues with SAP and browsers

Issues with SAP and browsers can be on both side: SAP and browser side. A new security note on SAP can suddenly block correct working of an SAP browser based function. A new security patch on the browser can also suddenly block it. Testing all combinations is a very hard process and almost impossible to do. The best way is to allow the users at least 2 different browsers. If one browser is having issue with an update, usually the other browser still works, which can be used as a workaround. It is not nice and pretty, but it gives you time to fix the issue. For issues on the SAP side: best to yearly patch the UI rendering notes (see this blog), and to carefully test notes that impact the web part (like security notes which are meant to close security holed in the netweaver web part).

FIORI in app extensibility

The new generation of standard SAP FIORI apps can be easily be modified in layout and small extensions. This is called FIORI in app extensibility.

Questions that will be answered in this blog are:

  • How can I easily change the layout of a standard SAP FIORI app?
  • How can I hide fields or rename labels of a standard SAP FIORI app?
  • How can I extend a standard SAP FIORI app with a custom field?
  • Where can I find more background information on all possibilities for in app extension?
  • How do I technically enable in app extensibility?
  • How to enable in app extensibility transports?

Technical enabling of in app extensibility

Activate this SICF node: /default_host/sap/bc/lrep.

And assign authorization role SAP_UI_FLEX_KEY_USER to your user. Without the role, you will not get the needed menu item.

Cosmetic UI changes

We will use the app manage purchase requisitions as example. Go into the app and select a purchase requisition. At the point in time we want to make changes, we go to the Adapt UI menu option in the personal menu:

The Adapt UI screen will now open:

For example we will remove the block Batch. Select is and push the minus button to remove:

We do the same with Material supplier number.

And we want to change the location of the Desired vendor element: we use drag and drop to move it.

And we want to change the label Plant into the word Factory:

When we are done we publish the changes by hitting the Publish button:

Upon publishing the system will ask for a transport number to store the changes.

Best practice is to do the changes on development system and transport them (for the setup see below). Do not maintain UI changes directly on production.

Adding fields to the UI

We also want to add a new field to the UI. Select the block where you want to add a field and select the + symbol:

You can now add a field from the existing filed from the available business context:

Press Ok to add it.

If you want a new field, click on the + icon in the available fields. You are now redirected to the custom fields app:

Select the Plus icon now to create a new field:

As example we create a checkbox with title “Rush indicator”.

Choose Create and Publish. On the custom fields page, enable it for the correct apps:

Publish the changes.

Before you can use the field: please reload the app you were extending (server and UI definitions are out of sync).

Now go back into UI adaption mode and you are able to select the new field:

You can Publish now. New field is available for now for the users.

Data storage

In case you were wondering where this data field is stored: it is stored in the S4HANA database.

In SE11 for table EBAN (purchase requisitions), you can see a new extend with the new field:

For different objects different tables are present. You need functional/technical SAP background knowledge to know the exact table.

Setting up the transport mechanism

To set up the transport mechanism for in app extensibility read this dedicated blog.

In short: transaction S_ATO_SETUP:

Set you packages and setup. Then activate and use the FIORI apps for transporting key user adaptation content.

Background references

References:

  • SAP wiki on FIORI in app extensibility
  • SAP presentation on FIORI in app extensibility
  • SAP help on in app extensibility for making simple UI changes
  • SAP help on custom fields and logic
  • Example blog on extending customer master FIORI app

FIORI search setup

FIORI search is a very powerful tool for the end users. It enables a google like search on the business data.

Questions that will be answered in this blog are:

  • How does FIORI search work from the end user perspective?
  • How to set up FIORI search?
  • How to authorize search data?

FIORI search from end user perspective

From the end user perspective: open the search glass and key anything. Just like in Google:

Now wait for the search engine to give results:

Now you can select a record, or select a related app (with the … you get more options):

Set up of FIORI search

In the FIORI launchpad configuration parameters (see SAP help) make sure that the enableSearch is set to true. Otherwise the search icon does not appear.

In case you run a FIORI hub, make sure to setup the webdispatcher rules properly to the backend (see SAP help).

And activate the search models and the backend (see blog).

For the related links, the related FIORI app or FIORI factsheet must be activated. See this blog on how to fast activate complete groups of FIORI apps.

FIORI search authorizations

FIORI search relies on the authorizations of the end user. First make sure that the general authorization for the search is active in this IMG node:

The setting Model Authorization must be set to Check:

In the search cockpit (transaction ESH_COCKPIT), make sure that the user authorizations are indexed. In case of doubt run it under the Actions button, and select Index User Authority:

If one end user gets results and the other one does not get the same result: the main reason might be difference in authorizations.

Useful OSS notes

For specific use cases the following OSS notes might be relevant:

Set up FIORI notifications

This blog will explain the setup of FIORI notifications. They are sometimes also called FIORI push notifications.

The notifications on the FIORI launchpad are pushed to the end user on the top right part of the screen:

In this case 22 notifications are present.

Questions that will be answered in this blog are:

  • How to generically activate FIORI notifications?
  • Which specific settings do I need to perform to activate notifications for my specific workflow?
  • Hot to test FIORI notificaitons?
  • Where to find more background on FIORI notifications?

Setting up the FIORI notifications

Goto the customizing entry for notification channel configuration. We will set up the scenario for embedded FIORI. If you want to set up notifications for the FIORI gateway as a central step, more activities are required. These are listed at the sap help site.

Start with the Notification Hub RFC destination:

Set the destination to NONE and press execute:

Now set the backend system alias to LOCAL and press execute:

Now goto the menu entry for Manage Notification Providers to activate the desired ones:

Now we will setup the notification channel hub. Goto this customizing actions:

Start with the action Manage SAP System Aliases and map the LOCAL gateway to RFC destination NONE:

Now select the Publish the Notification ODATA Service entry and make sure the service /IWNGW/NOTIFICATION_SRV is published:

If not done, push the button Publish Service Groups, select LOCAL, press button Get Service Groups and search for /IWNGW/NOTIFICATION_SRV:

And publish it.

Now check in Manage WebSocket Endpoint that service NOTIFICATION_PUSH_APC is active:

In the customizing entry Activate and Maintain Push Channels, check that the push channels are properly active, and if not activate it:

Goto transaction SWF_PUSH_NOTIF1 to add the worflow task for push notifications. We will add task TS00008267 (this is used in the generic workflow verification):

Click on the text icon to maintain the text:

Make sure that in the technical job repository SJOBREPO (see blog) that the jobs for deadline monitoring and push notifications are running:

Testing the push notifications

Now you can start the verification workflow in SWU3 (see blog) or start test transaction /IWNGW/BEP_DEMO:

The results can be seen on the FIORI launchpad:

Notification icon not visible on the FIORI launchpad

If the notification is hidden, check the configurations in transactions /UI2/NWBC_CFG_SAP and /UI2/NWBC_CFG_CUST. It can be that an adminstrator has suppressed this function.

Background information

The minimum requirements for FIORI notifications are described in OSS note 2578256 – What is the minimum requirement for Fiori Notification?.

Configuration restrictions are listed in OSS 2729492 – Configuring notifications in Fiori Launchpad and known restrictions.

See this SAP help file on the topic for setup FIORI notifications.

See this SAP help file for notification channel troubleshooting.

See this SAP help file for end user tips & tricks with regards to FIORI notifications.

For custom development of FIORI push notifications, read this SAP blog.

For a very good and extensive full setup description for 1809 FIORI 2.0 description, read this SAP blog.

FIORI cache refresh

After update of a FIORI app UI5 code you will sometimes face issues that the browser or server still holds components from the old app version. This issue is there for both custom developed and for standard SAP UI5 apps. The root cause is the caching at multiple levels to assure highest performance. There are caches on frontend browser, gateway server and backend server.

Questions that will be answered are:

  • What do I need to do on the browser for refresh?
  • How do I clear the caches on the gateway frontend server?
  • How do I clear the caches on the backend server?

Browser cache refresh

After an update of the UI code best to clear the browser cache. In Chrome also: open the application in chrome and use key combination ctrl + shift + R to perform a hard reload.

Or run in Private or Incognito mode.

Best browser for testing is Chrome.

Gateway and backend server cache clearing

Use the following sequence to clear all caches:

1. Execute /IWBEP/CACHE_CLEANUP transaction in ECC system (or other backend system) as well as Gateway system.

2. Execute /IWFND/CACHE_CLEANUP transaction in Gateway system with checkbox checked.

3. In the gateway system, you need to do the below steps:

  • Goto transaction SMICM
  • Click on ‘Goto’ menu bar button
  • Select option ‘HTTP Plug-In’ Select option ‘Server Cache’
  • Select option ‘Invalidate Globally’

4. Execute report “/IWBEP/R_MGW_MED_CACHE_CLEANUP” in the back-end system and delete all the cached metadata.

5. Execute reports /UI2/INVALIDATE_GLOBAL_CACHES, /UI2/INVALIDATE_CLIENT_CACHES, /UI5/APP_INDEX_CALCULATE in front-end gateway system.

For the last program ( /UI5/APP_INDEX_CALCULATE) you can do a delta or full for all or for a specific application.

Note on the cache cleanup: 2319491 – How to clean up the cache after applying changes that affect SAP Fiori apps.

Background

More background on caching can be found in OSS note 2626394 – Troubleshooting Fiori Apps Cache issue – how to information.

S4HANA setup FIORI manage KPI tiles

Inside S4HANA there is a very powerful FIORI tile called the Manage KPI and Report function. This blog will explain how to setup this FIORI tile and how to make sure it is working properly.

It is assumed you have already enabled your S4HANA system for FIORI (see this blog).

Note: this blog will only explain the S4HANA 1909 and higher implementation. Previous versions of this functionality have more tiles and setup work.

Activating the Manage KPI and report function

Goto transaction STC01 and select task list SAP_FIORI_CONTENT_ACTIVATION:

In the task list select the business role SAP_BR_ANALYTICS_SPECIALIST:

Now run the task list and wait. If you have issues, please read this blog.

Assign then activated PFCG role SAP_BR_ANALYTICS_SPECIALIST to your user ID.

Checking the KPI and report FIORI tile

Start the FIORI launchpad (transaction /UI2/FLP) and check that the manage KPIs and Reports tile is now available:

Click on the tile and you come into the first screen. Top left you can choose between KPI and Reports. We will first start with inspecting the KPI. We will use Purchase Order Changes as example:

Details of the KPI:

Here you can see the Data source: CDS view C_POITEMCHANGECOUNT.

On the visualize tab you can see a preview of the tile:

Now we will inspect the report:

Here you can see it is a Generic Drilldown on the datasource C_POITEMCHANGECOUNT. Click to open the details:

You can push the button Show Preview to get a preview of the report:

In the section application details you can see the details for the tile:

Very important here is the catalog it belongs to. In PFCG assign the correct business role to your user: SAP_BR_BUYER. You can find this role in the FIORI reference library documentation for this tile.

After the role is assigned, start the FIORI app finder and search for the app:

Now this tile should work:

Background information

More background information can be found on the FIORI reference libary for the Manage KPIs and Report app:

S4HANA rapid activation of FIORI lighthouse apps

This blog will explain how you can execute a rapid activation of a set of FIORI lighthouse apps.

Questions that will be answered are:

  • Which apps can be used for rapid setup?
  • How to execute the rapid activation of FIORI lighthouse apps?

This blog assumes you have finished the basic activation of embedded FIORI on S4HANA, which is explained in this blog.

FIORI lighthouse apps

FIORI lighthouse apps are enabled for rapid activation. On the FIORI reference library site click on the Lighthouse scenario link to get a PDF full of all possible apps you can activate:

In the app finder you can also search for specific lighthouse apps:

Rapid activation of FIORI lighthouse app

We will take the following app as example to execute the rapid activation: app ID F1600A: Manage Purchase Contracts (Version 2):

In the implementation information scroll down to the authorization information section:

For now you can ignore the catalog and business group. Important here is the business role: SAP_BR_PURCHASER.

Goto transaction STC01 and select task list SAP_FIORI_CONTENT_ACTIVATION:

In the scope definition select the needed role SAP_BR_PURCHASER:

In the task list set the mandatory parameters process mode to co-deployment and Prefix to Z. Now start the task list execution and be patient. This might run up to 10 minutes.

This task list will now activate all ODATA services for the app group (not only for this single app, but the complete group!). It will activate all SICF nodes for the app group (yes, again the whole group). And it will generate the PFCG authorization role SAP_BR_PURCHASER.

If the task list is finished, assign the role SAP_BR_PURCHASER to your user ID.

Testing

Start the FIORI launchpad (transaction code /UI2/FLP):

You see that the tile Manage Purchase Contracts is visible. Since we activated a complete group, also the other tiles are immediately visible.

Clicking on the Manage Purchase Contracts tile gives immediate result:

This shows we can activate complete group of apps that immediately work, with minimal effort.

In app extensibility

All the FIORI lighthouse apps are built for in app extensibility. This allows you to change the look and feel of a standard SAP app and to add custom fields to standard SAP app. Read more in this blog.

Bug fix OSS notes

Bug fix notes to apply:

S4HANA setup FIORI my Inbox app

If you have followed all the instruction in the blog about embedded FIORI activation in S4HANA, you will find that the my Inbox app is still not working.

This is correct since extra steps are required to setup the FIOIR my inbox app. This blog will answer the following questions:

  • Which extra steps to perform to activate the FIORI my inbox app?
  • Where to find more background information on the FIORI my inbox app?

Basic setup of FIORI my inbox in S4HANA

After you have finished the embedded FIORI activation in S4HANA (see blog), you must follow the extra steps in OSS note 2902673 – Rapid Activation for SAP Fiori in SAP S/4HANA – Overview. This note refers to specific version like 2834415 – Composite SAP note: Rapid Activation for SAP Fiori in SAP S/4HANA 1909. In this note there is a special section on the extra steps to activate the myInbox.

Goto the following customizing tree entry:

Now setup an extra system alias, name can be freely chosen:

It is very important here to notice 2 things:

  1. The local GW (gateway) tickbox must be set
  2. The software version MUST be set to /IWPGW/BWF

In transaction /IWFND/MAINT_SERVICE activate the service TASKPROCESSING version 2 for the system alias you just created.

It is very important to take version 2 and not the version 1.

In SICF activate the FIORI inbox tile itself: CA_FIORI_INBOX.

In PFCG activate role SAP_BR_MANAGER and assign it to your user.

MyInbox app

Now goto the FIORI launchpad (/ui2/flp transaction) and the MyInbox tile should be visible with the number showing you the amount of workflows:

If you see the number zero, you might not have any workflows assigned to your user. See the blog on S4HANA workflow activation to make sure the workflow system is properly activated and instruction to generate some test items for you.

Background information

The best source of public information is the SAP wiki on myInbox.

Official SAP note: 2676990 – Release Information note for SAP Fiori My Inbox. (this note contains the list of patch notes for the My Inbox FIORI side).

Specific useful notes on how-to OSS note for my Inbox FIORI app :

2421785 – How to Customize the Decision Keys In My Inbox Fiori App

2347652 – Fiori ‘My Inbox’ only shows 100 work items in the list

2557477 – How to Check Fiori My Inbox version

Activating and using the S4HANA custom code migration FIORI app

This blog will explain about the S4HANA custom code migration FIORI app. Questions that will be answered in this blog are:

  • How to set up the S4HANA custom code migration app?
  • How to run the S4HANA custom code migration app?
  • How do the results of the S4HANA custom code app look like?

Activation of the S4HANA custom code migration FIORI app

The custom code app official specification can be found on the FIORI reference library.

First make sure the basis setup of embedded FIORI in general are done on your S4HANA system. See this blog for background.

And make sure the ATC settings for S4HANA code migration are done. See this blog for background.

All the prerequisite notes for the tool itself are listed in OSS note 2436688 – Recommended SAP Notes for using S/4HANA custom code checks in ATC or Custom Code Migration app.

Next step: in transaction PFCG create a new role (for example Z_CUSTOM_CODE_APP). Add catalog SAP_BASIS_TCR_T as a launchpad catalog:

Save and activate the role. Assign the users to the role.

In transaction /IWFND/MAINT_SERVICE add the following services (and activate them):

Component External Technical Name
Custom code migration projects SYCM_APS_C_PROJECT_CDS
Analysis of SAP S/4HANA custom code check findings SYCM_APS_C_ATC_FIND_ALP_CDS
Custom code scoping by request entry points SYCM_APS_C_SCP_BY_EP_CDS

Custom code scoping by packages SYCM_APS_C_SCP_BY_PK_CDS

In transaction SICF activate the following nodes:

NW_APS_CCM_PRJ

NW_APS_EXT_LIB

NW_APS_LIB

The core activation actions are now done.

Start transaction /UI2/FLP to start the FIORI launchpad. You will not find the tile. Change the homepage and add the following tile from the catalog:

Before starting, make also sure that in ATC setup the RFC object providers are setup:

You can name the ID, description and group ID the same if you want. Make sure to use RFC destination none.

Creating a project in the app

Now you can start creating a project in the app. Click on the + symbol to add a project;

In the destination fill out the system you have put into the ATC object provider configuration. Than save the project and let it run. In the background the full ATC check is now carried out. This can take some time. You can refresh the project to see the status:

Scoping the results

In the scope block you can exclude packages by clicking on the Change scope button:

Packages that might be excluded:

  • Z packages from SAP
  • Z packages from 3rd party tools

Analyzing the results

When the run is done, you can now analyze the results on the Analysis tab:

A bit below on the Analysis tab is the burn down chart:

For the burn down chart you need to run the custom code run again on several days. Check for tool issues and solve them. Solving tool issues makes the amount of issues go up as you can see on the sample screen above.

Important here is that you have to press the Analyze Findings button to go into the detailed analysis overview:

On the top are the graphical overviews. In the bottom is the detailed list:

You can use the download to excel button for further processing.

During the custom code clean up you can redo the same project, by rerunning the analysis. Or you can decide to run a new project.

Link to Eclipse

For the link to Eclipse to work, each developer must allow this on his Eclipse settings. Follow the instructions in OSS note 2934945 – “Open in ABAP in Eclipse” in Custom Code Migration APP.

Including usage data from productive system

You can also add actual usage data from a productive system in the custom code management app. See this blog.

Known issues and bug fixes

For UI bugs check OSS note 2809550 – Custom Code Migration App – Correction bundle for S/4HANA 1909 and 2964574 – Custom Code Migration App – Correction bundle for S/4HANA 2020.