SAP Fiori for SAP S/4HANA – How to make a SAP Fiori app or GUI transaction available on your launchpad
2023-12-20 11:17:38 Author: blogs.sap.com(查看原文) 阅读量:40 收藏

At some point, nearly every customer needs to integrate some custom content into the SAP Fiori launchpad.  In this blog post you will learn the current best practice process and tools relevant to SAP S/4HANA release 2020 or higher. The example use case is based on a real request from a customer. Hint: Screenshots in this blog post are taken from a SAP S/4HANA 2022 FPS02 trial system.

There are many reasons you might need to add new content to your SAP Fiori launchpad. Typical use cases include:

  • Add SAP-delivered UIs that exist but are not directly assigned to any SAP business role.
    • You need to add a SAP-delivered SAP Fiori app, GUI transaction, Web Dynpro App, or Web Client UI that is not directly assigned to any role.
    • For example: OKB9 Define Default Account Assignments. This is a standard SAP-delivered GUI transaction that is not assigned to any business role. Defining account assignments is typically viewed as a back-office configuration activity. However, you might want to grant this to a business process expert to review or adjust assignments.
  • Improve SAP-delivered UIs that are already assigned to your custom business roles
    • You need to copy and adjust a SAP-delivered SAP Fiori app, GUI transaction, Web Dynpro App, or Web Client UI. For example, rename the tile of an app.
  • Add custom-built UIs to your custom business roles.
    • You need to add a custom-built UI to your SAP Fiori launchpad. This could be a custom-built SAPUI5 app, a custom-built App Variant created with Adapt UI, a custom-built GUI transaction (aka “Z transaction), custom-built Web Dynpro App, a URL, etc.
  • Replace predecessor apps with successor apps
    • You need to replace an existing app with its successor. For example, move from SAP Fiori app F0717 Manage Journal Entries to F0717A Manage Journal Entries (new version)

Default%20Account%20Assignments%20OKB9%20has%20been%20added%20as%20new%20launchpad%20content%20of%20a%20custom%20business%20role

Define Default Account Assignments OKB9 has been added as new launchpad content of a user with the business roles Manager and Manager – Finance Info

IMPORTANT: Be aware that there are additional special processes for including custom analytics in the launchpad that are NOT covered in this blog post.  These include the use cases:

Keep reading for:

  • Main Steps for adding launchpad content
  • Who is responsible for launchpad content creation
  • Example use case
  • Prerequisites
  • Step 1 – Cross-client – Identify (or Define) the launchpad content
  • Step 2 – Client-specific – Assign the launchpad content to your business role
  • Test your changes
  • Step 3 – OPTIONAL – Place your new content on your launchpad layout
  • Final test of layouts
  • FAQ
  • Short guide to adjusting role authorizations

You can think of this as a 3-step process.

  1. Identify (or define) the launchpad content
  2. Assign the launchpad content to the business role
  3. Optionally, add the launchpad content to the launchpad layout of the business role.

IMPORTANT: Remember it is never mandatory to add content to launchpad layouts. Users can always find any of their assigned apps via app-to-app navigation, the Search on Apps, App Finder, Home Navigation button, and so on.

Many customers have different ways to organize their teams. The larger the customer, the more regulated the customer, the more segregation of duties becomes a consideration in assigning responsibilities.

These are typical responsibilities based on customer experiences. They may be different at your site.

  • Typically, a business expert or functional consultant will request the content.
  • Your UX architect will adjust the launchpad content configuration.
  • Your Security authorizations person will make sure the content is correctly assigned to the relevant business role.
  • You may also need to involve your Basis or Platform expert, for example, if additional services need to be activated

Example%20flow%20for%20adding%20launchpad%20content

Example responsibilities flow for changing launchpad content

Let’s start with a simple use case:

You want to add GUI transaction OKB9 Define Default Account Assignments to a business expert.

OKB9 is a standard SAP-delivered GUI transaction that is not assigned to any business role. This is because arguably defining account assignments is a back-office configuration activity.

However, you decide you want to grant this to a business process expert to review and/or adjust assignments whenever needed.

You decide to use a copy of the SAP Business Role Manager – Finance Info (SAP_BR_MANAGER_COST) as your template.

This is a simple role with a single business catalog.

App%20Finder%20view%20of%20the%20SAP%20Business%20Role%20Manager%20-%20Finance%20Info

App Finder view of the SAP Business Role Manager – Finance Info

You can copy this role and activate the apps within it using the transaction STC01 task list SAP_FIORI_CONTENT_ACTIVATION.

Whoever is maintaining your launchpad content needs the Fiori Foundation Admin role, i.e. Z_FIORI_FOUNDATION_ADMIN.  Refer to blog post SAP Fiori for SAP S/4HANA – Activate SAP Fiori in 1 day or less – the video playlist and FAQ.

This role is generated automatically for you by running in transaction STC01 the task list SAP_FIORI_FOUNDATION_S4. The specific task that creates the roles is called “Generate Fiori Foundation Roles” and you can run just this task if you wish. You can also read the documentation for the task if you want to understand what it does and create your own version.

Having the Fiori Foundation Admin role grants you a launchpad with all the launchpad content tools you’ll need.

Launchpad%20content%20and%20layout%20management%20tools%20in%20the%20SAP%20Fiori%20launchpad%20of%20the%20Fiori%20Foundation%20Admin%20user

Launchpad content and layout management tools in the SAP Fiori launchpad of the Fiori Foundation Admin user

You will also need to create some transport requests. For example in transaction SE09.

You need a workbench request for any cross-client changes.

And a customizing request for client-specific changes.

Tool: Launchpad App Manager  – transaction /UI2/FLPAM

Each piece of launchpad content is described by a launchpad app descriptor item.

Hint: An alternative term for the launchpad app descriptor item is a tile/target mapping combination. Refer to What is a Launchpad App Descriptor Item in the SAP Fiori launchpad Administrator guide.

The launchpad app descriptor item defines:

  • the technical details of app or UI to be launched
  • what parameters can be passed to the app or UI when it is launched
  • how the app or UI should appear in the launchpad, i.e. the tile or link text

You find the launchpad app descriptor item in a technical catalog at the cross-client level.

If you need to, you can adjust the launchpad app descriptor item using the Adaptation Mode of the Launchpad App Manager. For example, you can change tile texts or add more parameters.

You can also use the Launchpad App Manager to create your own launchpad app descriptor items for your own custom content.

Let’s see how this works for the example use case:

Because you want to add GUI transaction OKB9 to a custom business role, you first check if their is an existing launchpad app descriptor item for transaction OKB9.

  1. Login as a Fiori Foundation Administrator and launch the Launchpad App ManagerLaunchpad%20App%20Manager%20tile%20in%20the%20SAP%20Fiori%20launchpad%20of%20the%20Fiori%20Foundation%20Admin%20user
  2. Navigate to the Launchpad App Descriptor Items tab and use the filters to find the transaction. Select the technical catalog id to review the details.Finding%20the%20technical%20catalog%20for%20transaction%20OKB9%20using%20the%20Launchpad%20App%20Descriptor%20Item%20tab%20of%20the%20Launchpad%20App%20Manager
  3. Review the details of the launchpad app descriptor item. You will want to check:
    • what will be shown on the tile or link
    • keywords you can use to search for the app or UI in Search on Apps,
    • whether any parameters will be passed on launch
    • whether the app or UI can be used on multiple device types.
    • which Semantic Object is assigned to the Launchpad App Descriptor Item.

Hint: The Semantic Object determines where the tile appears in Search results, Related Apps, list of link dialogs etc

Let’s see what you might find for the example use case OKB9…

Showing%20the%20details%20of%20the%20Launchpad%20App%20Descriptor%20Item%20for%20OKB9%20in%20the%20Launchpad%20App%20Manager

Showing the details of the Launchpad App Descriptor Item for OKB9 in the Launchpad App Manager

In the tab Target Application Fields you can see that the Semantic Object is CostCenter. You can expect that the content will appear as a link when you search on Cost Centers, and will appear as a link when you select the Related Apps button when viewing the detail of a Cost Center.

You can also see that the app can only be used on Desktop. So on a mobile device the tile will be automatically hidden.

Since the tab Parameters is empty, there are no parameters provided to the transaction when it is launched.

The Tiles tab shows that the name on the tile is Define Account Assignments. The tile keyword is OKB9 so, when the app is assigned to your business role, you can use Search on Apps to find the app by its transaction code.

Tiles%20tab%20of%20the%20technical%20catalog%20entry%20for%20OKB9%20showing%20the%20tile%20text%20and%20keyword

Tiles tab of the technical catalog entry for OKB9 showing the tile text and keyword

Hint: You might be wondering why the technical details of any app or UI are defined at the cross-client level. It’s because:

  • All UIs are technically some kind of program – whether it’s a SAPUI5 program, SAP GUI program, a Web Dynpro Floor Plan Manager application, or so on.
  • Programs are inherently cross-client (i.e. system-wide)
  • Anything created at the cross-client level can be reused in any client of your system.
  • Therefore, the original entry is always at the cross-client level.

Use Case Variation 1 – You want to change Tile/Target Mapping settings

Sometimes you might need to change the tile texts, icons, keywords or add one or more parameters.

You can use the Adaptation mode in the Launchpad App Manager to make your changes.

Refer to blog SAP Fiori Launchpad: New Fast and Easy Option to Adapt SAP-delivered Launchpad Content (for On-Premise and Cloud, Private Edition)

Use Case Variation 2 – You want to add a custom app or custom UI

If you want to add your own custom apps or UIs, you will need to create your own launchpad app descriptor items.  You can also do this in the Launchpad App Manager.

You will need to put your custom launchpad app descriptor items in a custom technical catalog. You can also create the custom technical catalog in the Launchpad App Manager. Just use the Create Catalog button on the Catalogs tab.

Hint: It can be very helpful to copy a similar SAP delivered launchpad app descriptor item into your custom technical catalog as a starting point. That makes it easier for you to see what you need to adjust.

IMPORTANT: If you do need to create a new entry, choose your Semantic Object wisely! Choose an existing SAP Semantic Object whenever you can, so that your content appears alongside related SAP delivered content. You can find all semantic objects delivered by SAP in transaction /UI2/SEMOBJ_SAP.

Tool: Launchpad Content Manager  – transaction /UI2/FLPCM_CUST

You assign your launchpad content to a business role in 2 steps:

  1. Each launchpad app descriptor item is referenced into a business catalog.
  2. The business catalog is assigned to a business role

Hint: A business catalog is a curated collection of related apps. For example a business catalog may contain an app and its dependencies, such as reuse apps or related apps needed for required app-to-app navigation. Refer to SAP Fiori for SAP S/4HANA – Understanding SAP Business Roles

Hint: Authorization assignments are client-specific. That is, you can flexibly reuse the cross-client launchpad app descriptor item for different business catalogs and business roles in different clients. For example, you might have different catalogs for a key user who configures and extends an app, than for a regular business user using the app to complete a task. 

You can see how this works for the example use case.

  1. You launch the Launchpad Content Manager (transaction /UI2/FLPCM_CUST) in your Development environment Launchpad%20Content%20Manager%20%28client-specific%29%20tile%20on%20the%20launchpad%20of%20the%20Fiori%20Foundation%20Admin
  2. You navigate to the Roles tab to review the existing custom business role to which you want to assign transaction OKB9. You can see how the copy of the SAP Business Role Manager Finance – Info appears in the Roles tab. You can use the Show Catalogs feature to check which business catalogs are currently assigned to the business role. Launchpad%20content%20manager%20Roles%20tab%20showing%20the%20business%20catalogs%20assigned%20to%20the%20custom%20business%20role%20Z_BR_MANAGER_COST
  3. You can use the Catalogs tab to review the content of the business catalog. Hint: The Catalog View feature provides a quick option to move from the Roles tab to the Catalogs tab for your selected business catalog. Using%20the%20Launchpad%20Content%20Manager%20-%20Catalogs%20tab%20-%20to%20view%20the%20content%20of%20a%20business%20catalog
  4. You can now decide whether to add OKB9 to an existing business catalog of the business role, or whether you want to create a new business catalog. In this example you decide the current business catalogs are not suitable and you need to create a new business catalog.
  5. You navigate to the Catalogs tab.  In the Catalogs tab, you select Create to create a new catalog.
  6. Creating%20a%20new%20business%20catalog%20in%20the%20Catalogs%20tab%20of%20Launchpad%20Content%20ManagerYou give your catalog an id and a name. You will be prompted for a customizing transport request. Give%20your%20custom%20business%20catalog%20an%20ID%20and%20user%20meaningful%20name
    • IMPORTANT: For the catalog id, use a naming convention that identifies it as a business catalog and helps you find it easily later. Remember that the name will be visible to users in the App Finder. So it should be meaningful and follow a good naming convention that helps user find it easily.
  7. Reference your original entry to your custom technical catalog.

    • In the example the custom business catalog is initially empty. You use the feature Add Tiles/Target Mappings to selected catalog to create a reference.

      In%20the%20Catalogs%20tab%2C%20use%20Add%20Tiles%20and%20TMs%20to%20Selected%20Catalog

    • Search for the original entry by name or id, then use the Add Tile/Target Mapping feature to add it to your custom business catalog.Adding%20a%20Tile%20and%20TM%20reference%20from%20the%20technical%20catalog%20to%20the%20business%20catalog
  8. HINT: It’s useful to check that all the services of the catalog are active. This minimizes unexpected issues later. You can use the Check Services features to check on the status of any related services.In this example the service check confirms that there is no check needed. If you see a warning or errors icon, your technical team need to review and check. Check%20Services%20feature%20in%20the%20Catalogs%20tab%20of%20Launchpad%20Content%20Manager
  9. Because you have created a new business catalog you will need to assign it to the business role. You can assign the catalog to the role in the Roles tab. In the Roles tab, in the Catalogs assigned to Role pane you use the Add Catalog button to add a business catalog to the business role. Hint: Add Catalog updates the menu of the underlying technical security role of the business role and you can confirm that in transaction PFCG.Add%20Catalog%20feature%20in%20the%20Roles%20tab%20of%20the%20Launchpad%20Content%20Manager
  10. You select your catalog to add it to the role. Adding%20a%20business%20catalog%20to%20a%20business%20role
  11. And that’s it for adding your launchpad content! You might like to do a final check of the business role
  12. Reviewing%20the%20business%20role%20in%20the%20Roles%20tabDepending on what has changed,  you may need your security administrator to verify or adjust the matching authorizations on the custom business role.

Hint: Program PRGN_COMPARE_ROLE_MENU is a great tool for security administrators to resolve any differences in authorizations.  If you are on your own, you may like to refer to the section Short guide to adjusting role authorizations at the end of this blog post. 

Once the launchpad content is assigned to the business role and any authorization issues are resolved, you are ready to test your content from the App Finder or Search on Apps.

Useful to know: In the Launchpad Content Manager > Roles tab:

Login as your business user and navigate to the App Finder.

Verify that your business catalog is assigned and that the app is assigned.
App%20Finder%20confirms%20that%20the%20new%20business%20catalog%20and%20app%20are%20assigned%20to%20the%20role

App Finder confirms that the new business catalog and app are assigned to the role

You can launch the app from the tile.  This check that service activations are complete.

The app opens and can be used to review the assignments.  You can check the behaviour of the app or UI to check the authorizations meet the business expectations.

Transaction%20OKB9%20can%20be%20successfully%20launched%20from%20the%20tile%20in%20the%20App%20Finder

Transaction OKB9 can be successfully launched from the tile in the App Finder

You can also verify the keyword search works as expected in the Search on Apps. Searching on the transaction code or the name finds the app.

Checking%20the%20keyword%20search%20in%20Search%20on%20Apps

Checking the keyword search in Search on Apps

Tools:

  • SAP Fiori app Manage Launchpad Spaces
  • Launchpad Content Manager (for the role assignment)
  • SAP Fiori app Manage Launchpad Pages

Now you know your launchpad content is added and the app launches correctly from the SAP Fiori launchpad you are ready to consider a final step.

What if you want to add your new app to the launchpad layout of your business role?

The most important consideration is to discuss *where* the app should appear on the launchpad layout – and how the role is typically used.

In the example use case, the business role Manager – Finance Info is a delta role. That is, it is typically used with other Manager roles rather than by itself.  For example a user might be given:

  • Manager
  • Manager and Manager – Finance Info
  • Manager and Manager – Procurement
  • Manager, Manager – Finance Info, and Manager – Procurement.

You discuss this with the business and decide you want all of the Manager apps and UIs to be accessed from 1 space. That is, they should all be part of the one menu tab.

This will work nicely, because spaces can be assigned to multiple business roles, and pages assigned to a space will automatically hide tiles a particular user does not have access to. Pages will even hide empty sections from other users.

You decide to build your spaces and pages design using a copy of the standard space for Manager. Which is a simple space with a single page that looks like this:

Manager%20space%20is%20titled%20Manager%20Self-Services%20and%20contains%20a%20handful%20of%20apps%20and%20UIs

Manager space is titled Manager Self-Services and contains a handful of apps and UIs

You agree to use the same custom space for all your manager roles

You discuss whether to add another page.  You take into consideration the best practices.  mentioned in blog post Recommendation for Structuring Roles, Spaces and Pages in the SAP Fiori Launchpad Based on Common User Behaviors.  For this example use case, since the Manager role is quite small you agree to add a new section and tile for the Manager – Finance Info apps.

You have already used the Launchpad Content Manager – Roles tab – Show Spaces feature to confirm that the business role Manager (SAP_BR_MANAGER) is assigned to the space SAP_HCM_SP_MANAGER.

  1. Login as the Fiori Foundation Administrator and launch the SAP Fiori app Manage Launchpad Spaces. Manage%20Launchpad%20Spaces%20in%20the%20Fiori%20Foundation%20Admin%20launchpad
  2. You need to maintain the space assigned to the role. You can also create a new space or copy an existing space.
  3. You now need to assign the space to your business role(s). This helps you make sure that you only assign launchpad content authorized for the business role(s). You do this in the Launchpad Content Manager. In the Roles tab, find your role and use the Show Spaces feature to check the assigned spaces.  You can also Add Space or Remove Space directly from the Roles tab.
  4. You are now ready to return to Manage Launchpad Spaces and check the role assignment.
  5. So you are now ready to make your changes. in the Pages tab you review the assigned pages and decide which page you want to use. You can also create a new page.
    • In this use case, there’s only one page so the choice is easy! Viewing%20the%20pages%20of%20the%20space%20in%20the%20Pages%20tab
  6. You navigate to the page you want to change.
    • You press Edit to start making your changes. Press%20Edit%20to%20make%20changes%20to%20a%20page
    • Hint: This navigation you into the SAP Fiori app Manage Launchpad Pages.
  7. Add the app to the page.  You can select or drag and drop the apps from the assigned roles.
  8. As a final check, you can use the Page Preview feature to review the impact of the changes.

Ok so now you can do a final test of your layouts.

IMPORTANT: It’s critical that you test with test users with realistic authorizations.  If your test user is assigned too much access it can be very difficult, and in some use cases impossible, to determine if your changes are having the desired effect.

Using a test user with ONLY the custom Manager role assigned the new section and tile are NOT shown – which is what you expect.

Layout%20of%20a%20user%20with%20the%20custom%20Manager%20role%20and%20custom%20Manager%20space

Layout of a user with the custom Manager role and custom Manager space

Using a test user who has both the Manager and the Manager – Finance Info, all of the expected sections and tiles are shown.

Layout%20of%20a%20user%20with%20the%20custom%20Manager%20and%20the%20custom%20Manager%20-%20Finance%20Info%20roles

Layout of a user with the custom Manager and the custom Manager – Finance Info roles

Success!

Can I use a hierarchy of business catalogs instead of a technical catalog?

No this doesn’t work. The system ignores any middle layers and always references the original entry in the technical catalog.

Can I add the transaction code to tiles en masse?

Yes you can use the special config option REPLICATION_TCODE_TO_TILE_INFO in SAP Help for SAP Fiori launchpad section Replicate Technical Catalogs for all Available System Aliases

Refer to SAP Note 3289200 – Fill Tcode in Info-Field for Synchronization with local replication / embedded scenario

Hey I added OKB9 and I still can’t maintain the data?

You might want to check SAP Note 3374856 – Transaction OKB9 is not possible to maintain in productive system for the prerequisites

You can use transaction SA38 to run the program PRGN_COMPARE_ROLE_MENU for your selected role. In program PRGN_COMPARE_ROLE_MENU you can see the comparison status and the authorization status.

Example%20results%20from%20running%20PRGN_COMPARE_ROLE_MENU%20for%20a%20business%20role.%20Authorization%20errors%20can%20be%20seen.

Example results from running PRGN_COMPARE_ROLE_MENU for a business role. Authorization status is error (red circle) and authorization errors (red circle) can be seen.

You can use the Mass Generation option to simulate merging the authorizations. Select Merge to start the simulation.

Merge%20feature%20of%20PGRN_COMPARE_ROLE_MENU%20to%20simulate%20merging%20old%20and%20new%20authorizations

Merge feature of PGRN_COMPARE_ROLE_MENU to simulate merging old and new authorizations

Review the changes that will be made. New and changed authorizations are indicated.

Merge%20simulation%20identifies%20some%20new%20authorizations%20that%20need%20to%20be%20added.

Merge simulation identifies some new authorizations that need to be added.

If you are happy with the changes, you can use the Maintain Authorization Data feature to merge them automatically.  If not, you can of course manually maintain the role and make any adjustments.

Maintain%20Authorization%20Data%20feature%20of%20PRGN_COMPARE_ROLE_MENU

Maintain Authorization Data feature of PRGN_COMPARE_ROLE_MENU

You confirm the maintenance type. Usually you will want to choose “Read old status and merge with new data” to preserve as much of the existing role as you can while adding your new changes.

Selecting%20the%20maintenance%20type%20Read%20old%20status%20and%20merge%20with%20new%20data

Selecting the maintenance type Read old status and merge with new data

You can see the changes highlighted and check them again if you wish, before you generate the authorization profile using the Generate feature.

Reviewing%20the%20changes%20before%20they%20are%20applied%20-%20New%20and%20changed%20authorizations%20are%20highlighted

Reviewing the changes before they are applied – New and changed authorizations are highlighted

You can check the profile is generated.

Authorization%20status%20in%20PRGN_COMPARE_ROLE_MENU%20is%20now%20successful%20%28green%20square%29

Authorization status in PRGN_COMPARE_ROLE_MENU is now successful (green square)

If you wish, you can confirm in PFCG that everything is now ok – by checking the status on the Menu, Authorizations, and User tabs.

Transaction%20PFCG%20shows%20the%20role%20is%20now%20complete%20for%20menu%2C%20authorizations%2C%20and%20users

Transaction PFCG shows the role is now complete for menu, authorizations, and users

Your new app can now be used by your business user.

Hint: If you need to resolve missing authorizations:

  1. Start by using the App Support feature in the SAP Fiori launchpad. Refer to  App Support for the SAP Fiori Launchpad. Review the content of the  Authorization Errors section. This shows any obvious missing authorizations (similar to transaction SU53).
  2. You can try tracing authorizations using transaction STAUTHTRACE for any mised authorizations. 
  3. As CDS Views use authorizations to filter data these may not show up even in STAUTHTRACE. So check the authorizations relevant to the app or UI in transaction SU24. You can cross-check the authorizations in transaction SACMSEL.

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.


文章来源: https://blogs.sap.com/2023/12/20/sap-fiori-for-sap-s-4hana-how-to-make-a-sap-fiori-app-or-gui-transaction-available-on-your-launchpad/
如有侵权请联系:admin#unsafe.sh