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.
Showing results for 
Search instead for 
Did you mean: 
As member of the SAP S/4HANA Regional Implementation Group, I have the privilege of working with a lot of customers who are implementing SAP S/4HANA. Many of our SAP S/4HANA customer are looking to use in-app extensibility tools – Why? Because this is the easy, cloud-first, no-development-tools-needed way to extend your SAP S/4HANA solution, and particularly your SAP Fiori apps for SAP S/4HANA. This blog post is a summary of detail steps for setting up Adaptation Transport Organizer, which is a pre-requisite for using in-app extensibility.

In-app extensibility covers the most common changes most customers need to make to their SAP S/4HANA solution, including:

  • Adding custom fields to the database for use in SAP Fiori apps, SAP GUI transactions, forms, emails, etc.

  • Adding custom cards and filters to Overview Pages

  • Hiding unwanted fields, cards, and features from all users or from specific roles

  • Rearranging fields, field groups, and cards to make the most important fields for your specific business process more prominent

  • Presetting favorite navigation links, etc.

In-app extensibility changes are intended to be made by key users.  Who are key users? Whoever you authorize to make these changes on behalf of other business users. Because in-app extensibility does not require developer skills or developer tooling, your key users could be business process experts, or a central process governance group. Since these are the people who understand the business requirements behind these changes, it makes sense that they can make these changes for themselves.

NOTE: Of course, your key users could also be developers wanting to use in-app extensibility as the most efficient way to extend your SAP S/4ANA solution.

In-app extensibility options are inherited from SAP S/4HANA Cloud and the SAPUI5 technology to SAP S/4HANA AnyPremise solutions.

You can find out more about common patterns for in-app extensibility in the SAP Extensibility Explorer at


Here is the summary of steps covered in this blog post:

  1. Motivation and setting up Adaption Transport Organizer

  2. How to Configure Software Packages apps

  3. How to Register Extensions for Transport

  4. Monitoring your extensions in the Extensibility Inventory


1.    Motivation and setting up Adaption Transport Organizer

Adaption Transport Organizer is a pre-requisite for in-app extensibility.  In-app extensibility changes are typically made in your development system and need to be transported through your system landscape environment.  Since these changes are made by key users, who may not have development skills, the Adaptation Transport Organizer simplifies this process for key users.

The transport of key user extensions is managed by the Adaption Transport Organizer (ATO). Extensibility for key users is deactivated by default in the SAP S/4HANA on-premise edition. To activate it, you run SAP GUI transaction S_ATO_SETUP.

Usually, after running transaction S_ATO_SETUP you will see the status “NO”

This simply means your ATO is not yet configured. Before you start to activate it, you will need to understand the possibilities.

  1. You have to choose whether you want to use a prefix or a namespace for your packages and transports.

For example:

Prefix – your object will be called ZZ1_<Generated Object Name> and can be transported to your production system.

Sandbox Prefix – your object will be called ZZ9 _<Generated Object Name> and must not be transported to your production system, only used for local sandbox objects.

Namespace - your object will be called /YOUR_NAMESPACE/<Generated Object Name>

  1. Define a local and a sandbox package where the extension items will be stored.

For example, in a SAP S/4HANA 30-day trial system the local package is called “TEST_YY_KEY_USER_LOCAL” and the sandbox is called “TEST_YY_KEY_USER_SANDBOX”.  In your case you will need your package names to follow the naming guidelines explained in the from SAP Help Portal guide General Functions for Key Users, and within that the section Configuration Information: Adaptation Transport Organizer.

Just keep in mind that the package names $YATO_KEY_USER_LOCAL and $YATO_KEY_USER_SANDBOX, are examples and all packages starting with “$” are deleted during upgrades. You can check the details in SAP Notes 2478895-ATO Package Lost in Upgrade.

Both local and sandbox packages are assigned to the software component “LOCAL”.

Now you are ready to press the button “Setup with specific data” and your ATO will be configured and you can access on the SAP Fiori launchpad extensibility apps and transportation apps for key users.

Transaction S_ATO_SETUP provides a few additional options, so here is some quick information to help you understand them:

Setup read only – Key user extensibility will be configured, but only in read mode.

Setup with default data – this action will set up the ATO with default values provided by SAP.

Lock – the ATO is locked and the extensibility apps and transportation apps are locked for key users.

Unlock – the ATO is unlocked and change, create, or transport extension items is activated.

Registration User for Job – you can register a job user, who will take care of the generation of artifacts. Job user needs the roles and authorizations required for artifact generation authorization object S_DEVELOP.  With this option you can reduce roles and authorizations for key users as generation is done with job user. Registration is done via Maintain Table view ATO_PK_JOB_USER.

Delete Setup – the configuration will be removed.

2.    How to Configure Software Packages

How do you transport extensibility items, if your local package is not assigned to a transport layer? That is the reason why you have to create a new software package that will be assigned to Transport Layer. The software package can be created in transaction Object Navigator SE80 or Package Builder SE21.

Example via SE21

Next step is to use the SAP Fiori app F1590 Configure Software Packages. This app is part of the security roles SAP_NW_APS_EXT_ATO_PK_CFG_APP, which need to assign to your User ID.

You can check details at SAP Fiori apps reference library'F1590')/S16OP

Logon to your SAP Fiori system follow steps:

  1. Choose Configure Software Packages app

  2. Select “Add Registration”

  3. Search for your package and select it

  4. Press OK button

So now within the Configure Software Packages app, the software package Z_ATO_DEMO is registered. The app allows you to assign a specific transport request to the registered package by selecting the transport request and then activate Automatic Task Handling.  Alternatively you can ask your administrator to manually create a task for your user in an open transport request via the transaction SE01 or SE09.

If Automatic Request Handling option is activated, then also the option Automatic Task Handling is activated and transport request and tasks are managed by system.

Now you are ready to create the extension items and publish it.

You can see very nice blog posts from my colleague Masaaki Arai How to add a field in standard Fiori apps and other objects by using Custom Fields menu in Key User Extensibility Tools Custom Fields and Logic


3.    How to Register Extensions for Transport

Your final step is to register the extensions for transport using SAP Fiori app F1589 Register Extensions for Transport. This app is part of the security role SAP_NW_APS_EXT_ATO_PK_AI_APP, which need to assign to your User ID.

You can check the details in the SAP Fiori apps reference library'F1589')/S16OP

Your roles assignment should be like this, or you can use an equivalent customer-specific security rules.

Logon to your SAP Fiori system and follow these steps:

Search for SAP Fiori app Register Extensions for Transport for Administrator and click on it.

Now you will get an overview of extensions that are available for transport, check the current status of assignment and reassign extensions.


4.    Monitoring extensions in the Extensibility Inventory

You can monitor the extensions created in your system using the SAP Fiori app F2587 Extensibility Inventory.

As before, to see this SAP Fiori app in action you will need the relevant authorizations.

This app doesn’t have any standard SAP security role which can be assigned to your User ID, so you have to assign to your security role / business role (PFCG) the Business Catalog (and optionally the business Group to add the tile to your Home Page). You can find the names of the business catalog and business group can be found in the SAP Fiori apps reference library'F2587')/S16OP

Logon to your SAP Fiori system and follow these steps:

Search for Fiori app Extensibility Inventory and click on it.

Now you will get an overview of your extensibility items and to see all details. Pay particular attention to columns Uses or Used By, which provide information about extensibility items that the extensibility item in question “uses” or is “used by”.


You can go to SAP help, where you will find a video overview explaining the Transport process.

App-Specific Implementation and Configuration Information


Becoming a SAP Fiori for SAP S/4HANA guru

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.