Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Jocelyn_Dart
Product and Topic Expert
Product and Topic Expert
Latest Update January 2022: Added some useful SAP Notes for those needing to move custom programs with upload/download features from Office OLE integration to web-capable GUI frontend services. 

This blog post is applicable to both SAP S/4HANA on-premise and SAP S/4HANA, private cloud edition, and gives general advice for all releases of SAP S/4HANA. In this blog post you will find considerations aimed at classic UIs and the related custom programs that are used primarily by business users.  For administrators and background programs these may continue to use SAP GUI, however you may want to check these also... as there are a growing number of administrative tasks launched from the SAP Fiori launchpad.

So you are moving to SAP S/4HANA, or upgrading to a new SAP S/4HANA release, and after fit-to-standard analysis, you have decided to bring across some of your custom-built classic User Interfaces (UIs).

You have also decided you will be using the Fiori launchpad as your single-entry point for business users.  So you intend to launch your custom-built classic UIs from the SAP Fiori launchpad, just like all the standard content (SAP Fiori apps and standard classic UIs) you have chosen.

You have been through the custom code analysis, but what else should you check?   

How can you make sure you can launch your custom-built classic UIs successfully from SAP Fiori launchpad? 


Custom-built Classic UIs - like Classic Cars - work differently when compared to more modern experiences


These custom UIs might be GUI transactions or reports, Web Dynpro ABAP applications, or WebClient UI screens. You might be bringing the related custom program across via system conversion, or manually copying the code from your source to your target environment.

Like most standard GUI transactions, once any mandatory custom code changes have been made, most custom UIs will transition easily to your S/4HANA system and will behave in a very similar manner.

However, there can sometimes be unexpected and perhaps unwelcome surprises.  

Why?

When you change clients you should not expect everything to be the same. You know already that:

  • when you run an app on a tablet or phone vs a desktop it may not work the same way.

  • when you change web browser, e.g. from Chrome to MS Edge or Firefox, not everything works the same.

  • when you run transactions in GUI for Windows, GUI for Java, or GUI for HTML not everything is the same.


So it should be no surprise that when you move custom programs from running in SAP GUI to SAP Fiori launchpad, not everything is the same. These changes go beyond the automatic application of the Fiori visual theme.

In other words, due diligence is always required!

That’s the bad news. The good news is you may be able to replace custom programs with standard alternatives.  In summary:

  • Option 1 – BEST: Move to a standard SAP Fiori app

  • Option 2 – GOOD: Build your own SAP Fiori app

  • Option 3 – REASONABLE ALTERNATIVE: Run classic program from SAP Fiori launchpad

  • Option 4 – FALLBACK: Launch affected classic UIs via an alternative framework


For the purposes of this blog, let’s assume you have already considered options 1 and 2, and you are now looking at option 3.

 

What do you need to check when you want to run your classic program for the SAP Fiori launchpad?  That depends on the UI technology your classic program is using, and what features of that Ui technology your program uses, and what Fiori theme you are using in the SAP Fiori launchpad.  You will need to do some due diligence for each UI technology and some advice is given in the sections below:

  • Due diligence for GUI transactions and programs

  • Web Dynpro for ABAP due diligence

  • Web Client UI diligence


The best general advice is to test your custom program from the SAP Fiori launchpad as early as possible. For this you will find some brief advice and resources below in How to include your custom programs in custom business roles.

Where to go if you need to go for option 4? You will find some hints towards the end of this blog post for Fallback alternatives.

Due diligence for GUI transactions and  programs


When moving GUI transactions and programs from launching in GUI for Windows to being launched from the SAP Fiori launchpad, check the following notes:

Based on lessons learned on customer projects, there are some examples below of typical issues that some customers have stumbled over.

  • Office integration

  • Frontend printing

  • Call out to external website


IMPORTANT: Be warned that these are not the only issues! Check the SAP Note 314568 - SAP GUI for HTML functionality / Limitations / Sp. Behaviour for further use cases.

 

Office integration via OLE automation


Office documents can be viewed but not changed. This impacts custom programs using OLE automation to manage attachments. An alternative is file upload/download which is supported natively in SAP GUI for HTML using GUI Frontend Services, although even there it behaves a little differently to SAP GUI for Windows so check the procedure for your SAP S/4HANA and Kernel release.

SAP Note 2186141 - ITS Up/Down: How to test upload / download method directly in WebGUI [VIDEO] This video provides a generic example of how WebGUI upload/download works in a web browser.

SAP Note 2249454 - ITS Up/Down: Using the WEBGUI File Browser This Note provides a step by step screenshot example of the various options available

2283933 - WebGUI File Browser: FAQ for the new applet-free frontend service methods implementation. This Note explains Web Browser differences and specific browser settings needed.  It also contains links to a number of other troubleshooting notes for various errors that may be encountered depending on your environment

3076419 - Webgui FSM: FAQ for the implementation of the frontend services in SAP GUI for HTML This SAP Note explains the methods for programmers use in ABAP class CL_GUI_FRONTEND_SERVICES to rework custom programs with upload/download needs from OLE automation to GUI Frontend Services.

Frontend printing


Printing differences can be disruptive, especially when used in high volume environments such as warehouses and retail stores.

Printing in SAP GUI for HTML is based on PDF documents, which are generated in the SAP system and send to the browser. There they can be displayed or printed by the user with a standard PDF reader.  For details regarding printing, please check SAP Note 771683 - Front-end printing for SAP GUI for HTML (as of Rel. 6.40).

Call out to an external website


Usually if you are going to have a problem here, the call out to the website will work, but getting the return URL to work is maddeningly elusive.

What is typically happening here is that calls via class CL_HTML_GUI_VIEWER are limited as most of the methods are unsupported. For example, you may need to change from using not supported methods such as NAVIGATION_COMPLETE to supported methods such as SAPEVENT.  This can take some skill and persistence.

Refer to SAP Notes:

 

ABAP Web Dynpro Due Diligence


Because ABAP Web Dynpro applications are already written for the web browser, there are usually fewer issues to resolve. However, you can have some issues with themes and/or on mobile devices.

So you should check the following SAP Notes for your SAP S/4HANA kernel and Unified Rendering version:

Web Client UI Due Diligence


Check the following SAP Notes:

You should also understand how the Fiori launchpad integration works by reading blog posts:

How to include your custom program in a custom business role


You will need to:

  1. Create a new launchpad app descriptor item (tile and target mapping) for your custom program in a technical catalog

  2. Reference your launchpad app descriptor item in a business catalog

  3. Assign the business catalog to a business role


Refer to the blog post SAP Fiori for SAP S/4HANA – Creating your custom business roles – the end-to-end process and video p...

Fallback Alternatives


You can:

  • Launch your custom program via the SAP Screen Personas Slipstream Engine

  • Launch your custom program from the SAP Fiori launchpad using SAP Business Client


Launch using SAP Screen Personas Slipstream Engine


This can resolve some issues such as providing a mobile device ready version of your custom program, especially if you want to run the program on a smart phone.

Important: SAP Screen Personas flavors are an overlay on top, they do not change the underlying behavior of your custom program.

SAP Note 2557076 - SAP Screen Personas - Rendering Flavors with Slipstream Engine

Launch using SAP Business Client


There are 2 main scenarios for using SAP Business Client. In both cases these only apply to desktop devices.

  1. Launch from the SAP Fiori launchpad - launch specific transactions only using the sap-nwbc:// protocol

    1. The specific transactions must be part of your business role and business catalog

    2. Transactions started via Easy Access Menu or SAP Menu in the App Finder will still launch via SAP GUI for HTML

    3. This option is appropriate if only a few transactions need to be run in GUI for Windows



  2. Single entry point SAP Business Client Launchpad Connection

    1. With this option, all GUI transactions launched from the launchpad are started in GUI for Windows

    2. This option is appropriate if the user mostly uses GUI transactions and has very few SAP Fiori apps




Read more in these blog posts:

Make sure you check the prerequisites and restrictions for SAP Business Client version for your release. For example:

Becoming a SAP Fiori for SAP S/4HANA guru


You can also find out more about SAP User Experience and Design in 3 Tips to Stay Informed About User Experience & Design Topics at SAP

You’ll find much more on the community topic page for SAP Fiori for SAP S/4HANA


Other helpful links in the SAP Community:




Brought to you by the SAP S/4HANA Customer Care and RIG.

3 Comments