Product Information
SAP Fiori for SAP S/4HANA – Adaptation Transport Organizer
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 https://sap.com/extends4
Here is the summary of steps covered in this blog post:
- Motivation and setting up Adaption Transport Organizer
- How to Configure Software Packages apps
- How to Register Extensions for Transport
- 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.
- 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>
- 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
https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps(‘F1590’)/S16OP
Logon to your SAP Fiori system follow steps:
- Choose Configure Software Packages app
- Select “Add Registration”
- Search for your package and select it
- 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
https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps(‘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
https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps(‘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:
- Follow our tag SAP S/4HANA RIG for more from the SAP S/4HANA Customer Care and RIG
- See all questions and answers about SAP Fiori for SAP S/4HANA
- Follow SAP Fiori for SAP S/4HANAfor more blogs and updates
- Ask a Question about SAP Fiori for SAP S/4HANA
Brought to you by the SAP S/4HANA Customer Care and RIG.
Really helpful blog.Thanks for sharing!
Thanks,
Syam
Relay Help Full
Hi, thank you for this blog!
One question: do we need to repeat this for each system? I believe the configuration of ATO cannot be transported, right? Some applications need this ATO setup, even in a test/productive system.
thanks,
Robbe
Hi Robbe,
You don't have to transport Ato configuration. No need to configure ATO in productive system.
But if I want to use the "CUstom Analytical Queries" application, to check out a query in our test system, I need to have a ATO setup in place.
Have you solved this problem?
Hi!
The custom analytical queries are part of key user extensibility. Those extention items can be transported. Therefore you should use the app on the dev system and transport your changes.
SAP Help
On top please have a look at the this SAP note: 2595483 - An error is displayed loading the Custom Analytical Queries app
See SAP Note 3077994
Dear Peter,
thank you for your blog, but..
Oh my good!
Do I get it right, that all these steps are just invented by SAP because SAP assumes that key-users/business users are not capable of ab initio assign a transport request to the adaptations?
So,
wow! In german, this is called "Arbeitsbeschaffungsmasnahme". Isn't it involving way too many steps? Why not providing the option to directly assign the adaptations to a transport and that's it?
BR,
Aleks
Hi Aleks
in practice it is one click to set this up with the defaults You are just given the option to adjust it, for example if you have strict naming conventions at your site. Provision of both local and transportable packages are to cater for:
Hope this helps you see some of the considerations from a key user & UX perspective that makes this kind of flexibility a benefit
Jocelyn
Dear Jocelyn,
thank you for your reply and detialed explanation. Yes, I agree that this approach provides more flexibility to decide afterwards if and where something has to be transported, but it would also maybe make sense to have a quick option for transport/package assignment from the very begininng, after one is changing to UI adaptation mode.
Still, what is for me striking or interesting is, the question of the architecture. I guess this blog assumes an embedded system (as the best practice recommendation for newer S4H-systems is), so no differentiation between Frontend/Backend system. I have a case where, though in a newer S4H-System (AnyPrem), the system is a deployed-HUB/Gateway Solution. So, in the steps outlined by Peter, I assume that it is:
Is it correct? If so, I see the need of some different handling of this topic than compared to usual " chose a packaage & transport and click on save"-approach...
Thank you again for your time & Input
BR,
Aleks
Hi Aleks
S_ATO_SETUP is a backend transaction as is confirmed in its configuration documentation
The extension apps - including F2587 Extensibility Inventory - run in the SAP Fiori frontend server and are launched from the SAP Fiori launchpad as is usual for all SAP Fiori apps.
There is no difference to a business user between embedded and standalone when it comes to executing SAP Fiori apps. All are accessed via the SAP Fiori launchpad.
For an administrator, provided you use the recommended task lists such as the SAP Fiori content activation task list SAP_FIORI_FCM_CONTENT_ADMINISTRATION, there is not much distinction either - the task lists handles OData and ICF node activation for you.
There are some differences when it comes to assigning authorizations, however there, as usual, the mass maintenance tools derive these authorizations from your launchpad content assignments in both frontend and backend servers, e.g. refer to https://blogs.sap.com/2018/09/03/fiori-for-s4hana-mass-maintenance-of-business-roles-for-sap-fiori-launchpad/ and understanding business roles blog series.
Be aware that embedded Fiori Frontend Server has been the recommended approach for SAP S/4HANA since December 2017. Increasingly most advice is centred on the most common scenario: embedded.
Rgds
Jocelyn
Dear Jocelyn,
again, thank you very much for your thorough and detailed answers! I am aware of the recommandation for embedded approach, but I am encountering here an deployed-hub/gateway scenario, setup by somebody else (S4H 1909!) and now it is a little mess...
Best regards
Aleks
Could you please explain the difference between 'Setup read only' and 'Lock'?
Does anybody know, if there were any changes with S/4 2021?
We have configured test/prodsystems with "Setup read only". Unfortunately after upgrade to S/4 2021 SP1 (some months ago), we have now problems to start a specific fiori app F1572 and when starting S_ATO_SETUP we only get: EN: „ZDO active. Function is temporary disabled (see note 3116886).”
We already opened a customer message and implemented note 2956185, but no solution yet.
Some similar notes:
3040585 - In-App-Erweiterbarkeit und ATO-Transporte vorübergehend deaktiviert - SAP ONE Support Launchpad
2956185 - Upgrade-Prüfungen für ZDM in technischen Reports - SAP ONE Support Launchpad
3123119 - Upgrade-Prüfungen für ZDM in technischen Reports - SAP ONE Support Launchpad
Looks a bit like 3204440 - Job ATO_REFRESH_READY_FOR_IMPORT_JOB cancelled after S/4HANA 2021 upgrade - SAP ONE Support Launchpad, which is implementable, but we are not during an ZDO upgrade....
Following..
Hi Uta,
Sorry to have missed this... did you end up getting an answer?
I see the Workbench Lock can also be set deliberately by administrators.
These should also help:
3077994 - Frequently asked questions about Extensibility in SAP S/4 HANA On Premise
2207944 - How to implement a SAP note during System update using SUM (ABAP only)
2501671 - CTS+ and locking of the system for upgrade
Hi,
in our landscape Focused Build controls the change and transport managment. How can the changes generated and contolled with ATO can be integrated into FB?
Thanks,
Rafael