Skip to Content
Technical Articles
Author's profile photo Geert-Jan Klaps

Extending Fiori Apps in S/4HANA using the Adaption Transport Organizer

During one of my recent S/4HANA implementations I had to extend a standard SAP Fiori App (Manage Supplier Quotations) with an additional input field. Never ever had I thought this could be so easy!

During this blog I’ll walk you through:

  • Setting up the Adaption Transport Organizer (ATO)
  • Extending a standard Fiori App (Manage Supplier Quotations)

Setting up the Adaption Transport Organizer

To setup the Adaption Transport Organizer I followed the official documentation which can be found here.

First we have to create 2 local packages in our system (I chose to stick with the ones proposed in the official documentation):


Next launch transaction S_ATO_SETUP to start the actual configuration. Enter following details:

  • Local and sandbox package
  • Prefix and sandbox prefix

After entering the details, start the configuration using button “Setup with specific data”.

Afterwards the red light should turn green:

This concludes the configuration of the Adaption Transport Organizer.

Extending a standard Fiori App

To be able to continue, you first need to make sure that you’ve activated following Fiori Apps in the system:

All these apps are only available in a technical catalog, so you’ll have to create a custom business catalog and group to gain access to these tiles.

Adding a custom field to the data model

In our example we’d like to add a custom field in the item section of the Supplier Quotation to enter the supplier material number.

Open the Custom Fields and Logic app to add a custom field to the data model.

In the popup enter details for the custom field you’d like to add (in our case the supplier material number) and click the Create and Edit button.

In the next screen, switch to tab UIs and Reports and enable usage in following components:

  • Manage Quota Extensibility Model
  • Supplier Quotation Item
  • Supplier Quotation Item Enhanced
  • Supplier Quotation Item Enhanced Consumption View

To find out what you need to extend for your app, you need to review the section App Extensibility of official app documentation. (For the Manage Supplier Quotation app, the documentation can be found here)

Next, save the custom field data using the Save button in the bottom of the screen

After everything is saved, the Publish button will be available. Click this button to actually activate the extension.

Now you’ll have to wait until publishing is finished, this can take a while. (In the background the system is now extending tables, CDS views, structures, …)

The custom field is now availble in the app and is automatically input ready / display only based on the mode the app is in (display / change). It might be possible that you need to add the field to the screen using the configure button in top of the item table.

Configuring a Software Package

As you might have noticed, our extension is now created in the local package we assigned to the Adaption Transport Organizer and not yet registered to a transport. To be able to register our extension to a transport we first need to configure a software package.

Open up the Configure Software Packages tile and click the Add Registration button.

Search for your desired package to hold the extension(s), to add it to the list of registered packages.

Next, assign a transport to the package (or enable automatic request / task handling).

The package can now be used to hold the extension we created.

Register the extension for transport

Now we can finally register our extension to the package and transport, to move it through the landscape.

To do this, open up the Register Extensions for Transport app, select the extension and click the Reassign to Package button in the bottom of the screen.

Select the package we registered earlier and wait for the process to complete.

Once the assignment is finished you should see that the extension is now transportable, you can now release the transport to move the extenion(s) through the system landscape.

This concludes the walkthrough on extending standard Fiori Apps using the Adaption Transport Organizer, which was quite easy once you get a hang of it. Hope this saved you quite some time. As always I’m open to your feedback!



Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Smriti Gupta
      Smriti Gupta



      Thanks for documenting this approach. Are there any specific Apps which can be extended with this method? How do we know for which apps is this approach suitable? Also what are the other prerequisites of using this method, could you pls tell?



      Author's profile photo Geert-Jan Klaps
      Geert-Jan Klaps
      Blog Post Author

      Hi Smriti,

      As far as I know there are no other prerequisites then the ones mentioned in the blog post. (I personally did this configuration and didn’t run into any other prerequisites)

      To find out if an app can be extended using this approach I always use the Fiori Apps Library. Just navigate to the app you would like to extend, choose your release and in the tab product features there is always a link to the app documentation. (in the notes)

      For the supported apps there will be information on what to extend in the table of contents under the App Extensibility.

      Best regards,

      Geert-Jan Klaps

      Author's profile photo Jocelyn Dart
      Jocelyn Dart

      Hi Smriti, Depending on your release, most Object Pages, Overview Pages, Analytical List Pages , List Reports, and Worklists have some options for adaptation.

      What can be done primarily depends on your release - as of SAP S/4HANA 1809 FPS01 a lot of new options were added for Overview Pages, e.g. create a link list or KPI card, rename cards, etc



      Author's profile photo Vijay Chintarlapalli
      Vijay Chintarlapalli

      Hallo Greet

      Thanks for the great blog is there any way to also transport the entires created by the business object app S/4 On Prem  ?



      Author's profile photo Jocelyn Dart
      Jocelyn Dart

      For all these adaptations, transport is through the normal ABAP transport processes.

      You are assigned a request through Adaptation Transport Organizer - I would recommend reading the documentation linked to this blog. 

      Author's profile photo Vijay Chintarlapalli
      Vijay Chintarlapalli

      My question is not really  about the assigning transport request to  CBO itself but the entries created by the CBO when you maintain it via Fiori App in launch pad similar to the customising request entries in ABAP .

      Author's profile photo Jocelyn Dart
      Jocelyn Dart

      Hi Vijaya,

      The entries you make into in your CBO app are considered transactional data - not configuration. As such the data is stored on the database for the particular system and client. Since they are transactional data, transport is not relevant.

      Hope that helps


      Author's profile photo Vijay Chintarlapalli
      Vijay Chintarlapalli

      Hello Jocelyn Dart ,

      Thanks a lot for the information.

      I see that CBO is more like a mapping tables in SAP.So if there are 1000 entries to be created for a particular CBO should we do it in each system is that design from SAP or Do you have any ideas to include a transport request also ?



      Author's profile photo Jocelyn Dart
      Jocelyn Dart

      Nice blog Geert-Jan! I'm going to add this one to our SAP Fiori in SAP S/4HANA wiki - it's a nice step by step!

      Author's profile photo Geert-Jan Klaps
      Geert-Jan Klaps
      Blog Post Author

      Thanks Jocelyn! Great to hear these type of step by step guides are appreciated!

      Author's profile photo jeelani kattubadi
      jeelani kattubadi

      Hi All,

      I have added fields and created the transport request by using s/4 extension fiori app  but unable to transport from development to quality.

      task we have released but transport unable to move , transport was locked.

      any one please help on this.



      Author's profile photo George Manousaridis
      George Manousaridis

      Hey Geert-Jan,

      Great article!! It helped me a lot!

      I would like to drop an issue, regarding the local & sandbox package values: $YATO_KEY_USER_LOCAL &  $YATO_KEY_USER_SANDBOX

      Through my research I found out that the above names are just for example purposes and that packages starting with $ will be deleted throughout updates.


      Thanks again for the great guide!