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.

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:

Analyzing the results

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

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.

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.

Activating S4HANA embedded FIORI

In S4HANA FIORI tiles are used a lot to replace traditional SAP GUI transactions.

This blog will explain how to setup the basic embedded FIORI activation and how to activate business roles for demo purposes.

Questions that will be answered in this blog are:

  • How to set up embedded FIORI in S4HANA?
  • How to activate business roles and its tiles?
  • Where can I find more background information on the activation?

Basic activation

We will start with the basic activation. Start, via transaction STC01, task list SAP_GW_FIORI_ERP_ONE_CLNT_SETUP:

Fill all the parameters and let it run. Fix any issue that pops up.

When this is done in STC01 select task list SAP_FIORI_FOUNDATION_S4:

Go into the details:

Fill out the parameters and start the task list. Be patient and let it run.

End result should be all green:

Now the basics are done. You can start to launch the embedded FIORI UI with transaction code /UI2/FLP.

If you have issues with login, please check this OSS note 2773732 - Fiori Logon page loads incorrectly in SAP_UI 752 or S/4HANA 1709.

The launchpad will be empty since you have no roles and tiles attached to your user.

Content activation of business roles

In the FIORI reference library you need to search for the role you want to activate.

Before activating roles, please make sure you have enough shared objects memory (RZ11 parameter abap/shared_objects_MB). Otherwise you wait very long to get this error:

To activate content role start transaction STC01 and select task list SAP_FIORI_CONTENT_ACTIVATION:

Task list look like below:

In the select SAP business roles for FLP content activation select the wanted business roles:

You might be tempted to select all or a lot: don't. Only select 2 to 5 maximum each time. The unpacking and activation is an intensive long running process.

Now let the task list run (be patient). If the task list run is completed, assign the generated PFCG BR roles to your user ID. Now start FIORI launchpad with /UI2/FLP and the tiles should be visible and working.

Search setup

Most FIORI apps use the S4HANA embedded search function. See this blog for setup of search.

Background information

Not all tiles will work via this procedure. Some tiles have exceptions or additional work to do. The additional work and generic background information of S4HANA embedded content activation can be found in OSS note 2823926 – Composite SAP note: Rapid Activation for Fiori in S/4HANA 1809 FPS02 and 2834415 – Composite SAP note: Rapid Activation for SAP Fiori in SAP S/4HANA 1909. Similar notes exist for different older versions.

A good background blog on embedded FIORI content activation is this blog.

HTTP/2 support for SAP FIORI

HTTP/2 is the successor of the HTTP 1.1 protocol. It has some performance advantages. The main advantages are the capability of multiplexing and server push. The HTTP/2 protocol was designed for faster page loading even when having longer latency times.

Questions that will be answered in this blog are:

  • Where can I find more background on the HTTP/2 protocol?
  • Are there any pitfalls and prerequisites?
  • How do I switch on the HTTP/2 protocol on my FIORI server?

More background on HTTP/2

More background on HTTP/2 as protocol can be found on wikipedia or on this link from google.

Prerequisites for HTTP/2 protocol

The prerequisite for support of the HTTP/2 protocol for FIORI and other ABAP web applications is a sufficiently high version of the ABAP stack and webdispatcher (if in use): NetWeaver Gateway version 7.51 or higher, Web Dispatcher 7.49 or higher. The HTTP/2 protocol also has higher security requirements and does require COMMONCRYPTOLIB version 8.4.31 or higher.

How to switch on HTTP/2 protocol support?

In the system parameters RZ11 switch the parameters icm/HTTP/support_http2 to value TRUE. This can be done dynamically. In Google chrome developer tools the UI developer can see the usage of HTTP/2 protocol.

Kernel patch

The HTTP/2 protocol implementation is done on kernel level. If you want to switch on the HTTP/2 protocol on your systems, do check the OSS notes with the keyword icm/HTTP/support_http2. You might see there are a few kernel patch OSS notes (using component BC-CST-IC) that solve issues in your area that you use. In case of issues in a productive system with HTTP/2: switch the value of icm/HTTP/support_http2 back to FALSE.

Background information

More background information:

ANST for webapplications and FIORI

In the blog on ANST we focussed on searching notes for ABAP GUI applications. This blog will focus on web application that run ABAP code in the backend (such as FIORI, BSP, webdynpro for ABAP).

Questions that will be answered in this blog are:

  • How do I use ANST for web applications?
  • What do I need to do to prepare my system for this?
  • What do I need to do for using ANST for FIORI back end recording?

System preparation for ANST for web applications

First you need to follow the instructions in OSS note 2286869 – ANST: Trace On/Off error “Dynamic Start and Stop cancelled by user” to get rid of the trace error. Unfortunately this note is not really clear. The short instruction on what to do follows now. Goto transaction FILE and search for the ANST_TRACES_GLOBAL. It will look like this:

ANST delete assignment of paths

Here you see that there are logical files possible. Select both and delete. The result should look like this:

ANST file after deletion

Then select the logical file definition and delete the line for Physical path. Should look like this:

ANST file delete logical path

Now we are good to go for the web part recording, but not yet for FIORI.

ANST for FIORI

To use ANST for FIORI you first need to install OSS note
2605555 – ANST: Enahcement to support Fiori applications
. Please follow also the manual steps in the note very carefully.

Tip: this note contains a very good PDF attachment as manual for ANST.

Run ANST for web application

Running ANST for web applications is not very much different from running on SAP GUI. Upon start of the ANST tool select your web application (which is bit different per application):

ANST FIORI

After you now start with Execute you get a popup screen to confirm recording start:

ASNT FIORI start

After pressing start your web browser will start and you can perform the actions you want to trace. To stop go back to the ABAP screen and press the Stop Recording button:

ANST FIORI stop

The rest of the ANST processing is the same as usual.


FIORI last digit patching

Questions that will be answered in this blog are:

  • What are the current UI5 versions available and supported?
  • How to perform UI5 last digit patching?
  • When to patch and when to upgrade to new FIORI server?

Current UI5 versions available

The current UI5 version overview is published by SAP on this site.

The overview gives information on the main versions (like 1.56, 1.58, etc) and the available last digit patches (like 1.56.14, 1.58.5, etc).

Your own version can be found with this URL:

http(s)://<your server><your port>/sap/public/bc/ui5_ui5/index.html

Example:

Version available in system

This server has versions 1.48 (last digit patch 13) and 1.52 (last digit patch 8).

Last digit patching

To patch the last digit to the newest version, you first look for the corresponding OSS note. Search for term “ABAP SAPUI5 1.xx release” with xx being your release. For our example it is oss note 2550980 – ABAP SAPUI5 1.52 release.

The note describes per last digit version which file to download and which FLP note to apply after you do the patching.

In this example we will patch to level 1.52.23. The note tells us do use this file and note:

last digit patch file

Download this file from the SAP software download section.

Check if the last digit patching program needs bug fix OSS notes ( /UI5/UI5_UPLOAD_PATCH_TO_MIME ).

2614248 - Upload UI5 patch error: Unable to lock the source code to edit

The upload and processing of the last digit patch file can take a long time (typically 1 hour). If you don’t take measures the system will dump after 10 minutes with a time-out.

Goto RZ11 and set rdisp/max_wprun_time to value 12000 (and undo this after the patching).

Now start program /UI5/UI5_UPLOAD_PATCH_TO_MIME:

UI5patch program

The file has to point to the file you have downloaded to your desktop. Use F4 to select the correct file. The request /task must be a valid unreleased workbench request.

First run in test mode. Wait until it is done (1 hour is normal…). If the result is ok, remove the tick box for test mode and run real mode (yes, 1 more hour to wait).

End result should look like:

Result of UI5 upload

After the application of the patch, apply the FLP note (in this case note 2605065).

Now you can start the version overview again to see if the patching was ok:

version after patching

As you can see the 1.52 version is now updated to level 1.52.23. The 1.48 version is the same.

Transport of last digit patch to Q and P systems

When you want to apply last digit patch on Q and P systems, you can move the transport you have selected in the upload step. The unfortunate thing is that the import to Q and P of this transport also takes about 1 hour. This means you need to properly plan the import (especially on production select a time where no users are using FIORI apps).

Patching versus upgrading

The goal of last digit patching is simple: it solves bugs in the SAP delivered UI5 libraries. But it can also bring new bugs.

Best patching strategy: only patch when you have a bug that must be solved. Then patch to latest version. Don't think last minus one, since the UI5 patches come every 2 to 4 weeks: just take latest one. If your system is stable: don't patch.

Upgrading to a higher FIORI frontend server will give you new libraries which will have new functions. Also: the higher frontend servers have better performance due to faster ABAP kernel, better caching features etc. If you are using newer S4HANA solutions, you will be forced to upgrade frontend server to specific minimum version.

Best practice upgrading: if you are using central FIORI gateway server plan for upgrade every year or every 2 years at minimum. Every year at least apply support pack: the support pack will also to do last digit patching as well. After support pack or full version upgrade immediately patch to last digit version available before starting the testing.

 

SAP netweaver gateway FIORI tips & tricks

This blog will give some tips & tricks on SAP netweaver gateway FIORI from the basis perspective.

Questions that will be answered are:

  • Where can I find information on Netweaver Gateway FIORI deployment options?
  • Where can I find overview of all the SAPUI5 versions and its support status?
  • Which versions of SAPUI5 does my system currently have?
  • How can I find a version of any standard SAP app?
  • How do I clear caches in case of issues and or new deployments that cause issues?
  • How to recalculate app indexes?
  • How can I get statistics on the use of the FIORI apps?
  • How to integrate google analytics into FIORI?
  • How can I see 3D in FIORI apps?

SAP netweaver gateway FIORI deployment options

SAP netweaver gateway FIORI can be run into 2 modes:

  • Embedded in application sever
  • As central hub

The considerations for embedded or central hub are kept up to date by SAP in this blog. The blog also contains the most recent version of document “SAP Fiori Deployment Options and System Landscape Recommendations“.

Please take note that SAP has a new recommendation per S4HANA1809 to go for embedded deployment.

SAPUI5 version overview current and planned

The most recent SAPUI5 version overview and support status of each version can be found here.

Future SAPUI5 versions and planning can be found here.

SAPUI5 version in your server

To check you own servers SAPUI5 version construct following URL:

http(s)://<your server><your port>/sap/public/bc/ui5_ui5/index.html

SAPUI5 version

Main versions are delivered in new netweaver releases and/or support packages. There is a special blog written on the subject of last digit patching.

Finding version of a specific standard SAP app

If you want to know the version information of a standard SAP app, you simply click on the Information button in the personalization when you in the app:

Then the version information is shown:

More information can be found in OSS note 2835783 – How to Know App Version and Minor version.

Resetting UI caches

If you have done support pack or last digit patch it is wise to reset the caches as admin. To do this start SE38 and run the following 3 programs in the frontend server:

  • /UI2/INVALIDATE_GLOBAL_CACHES
  • /UI2/INVALIDATE_CLIENT_CACHES
  • /IWBEP/R_MGW_MED_CACHE_CLEANUP (run on backend and frontend)

And goto transaction SMICM, then select  Menu, Goto -> HTTP Plug-in -> Server Cache -> Invalidate Globally.

On the backend server start transaction /IWBEP/CACHE_CLEANUP.

More background on all the caches can be found in this blog.

Further clean up:

  • /IWBEP/REG_SERVICE (run in backend to clean up specific service cache)
  • /IWFND/MAINT_SERVICE (run on frontend and reload the metadata)
  • Front end server clean up programs: /UI2/CHIP_SYNCHRONIZE_CACHE, /UI2/DELETE_CACHE_AFTER_IMP, /UI2/DELETE_CACHE, /UI5/UPDATE_CACHEBUSTER

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

Recalculating app indexes

Recalculation of app indexes is needed after an upgrade or support package installation with new apps. Also when you install extra addon this is needed. Another use case is when you have deployed your own new app via transport or when you applied a large OSS note with new app code via transport. Program to run is: /UI5/APP_INDEX_CALCULATE. You can run for single app. Or after support package: run in full. It is wise to have this program run in delta mode at least daily.

Set default theme and reset user theme setting

If you have a custom theme created you can set it as default for everybody. For instruction see this blog. This blog also describes how to reset a users’ theme setting in case of issues a user might have after upgrade (grabled screen).

OSS note for troubleshooting

SAP has an updated document for the most common troubleshooting tasks. It is kept as PDF attachment to OSS note 1797736 – Troubleshooting Guide for SAP NetWeaver Gateway.

Statistics on the use of FIORI apps

If you want to know more on the actual usage and statistics of the FIORI apps in use, please read OSS note 2629143 – Best practices to gather Fiori usage statistics for on-premise systems.

Integration of google analytics into FIORI

To integrate google analytics into FIORI, follow the instructions in OSS note 2444406 – Google Analytics Integration with SAP Fiori.

FIORI 3D visualization demo

For a demo on 3D visualization using FIORI element goto SAP web page and load the attached file: SAP Pocket Knife (unzip before use):

3D visualization example

The advantage of using the FIORI element to show 3D visualization is that you don’t need to install the fat client for 3D viewer on your laptop or desktop.

Further tips

Older troubleshooting blog .

For performance and trouble shooting tips see the SAP wiki on FIORI issues.

For S4HANA specifically you can go to the dedicated SAP wiki for FIORI S4HANA.