Skip to Content
Technical Articles
Author's profile photo Jocelyn Dart

SAP Fiori for SAP S/4HANA –Limit Search Object Access in Fiori Launchpad made easier

Did you know? The Search feature in SAP Fiori includes more than 300 business objects! This is one of the reasons why many users see this feature as the highly  valued “killer app” of the SAP Fiori launchpad.

Latest Updates:

For some time now it’s been possible to restrict the list of search objects (technically known as search connectors) in Fiori Search as explained in SAP Fiori for SAP S/4HANA – Limit Search Object Access in Fiori Launchpad.  In recent SAP S/4HANA releases this has now become even easier due to some of the latest innovations in SAP Fiori.

Enterprise%20Search%20showing%20a%20limited%20list%20of%20search%20objects

Enterprise Search showing a limited list of search objects in the search dropdown

From SAP S/4HANA 2020, the SAP Fiori app F3036 Manage Search Models makes it easy to:

  1. Disable search objects you don’t need at all, for example because they are for an industry or business object not relevant to your business. You can find out how to disable search objects in blog post SAP Fiori for SAP S/4HANA – Resolving duplicate search objects
  2. Find the search CDS View you need to include or exclude in your user authorizations to limit the search objects assigned to the user. Keep reading to find out more.
  3. Worth knowing: From SAP S/4HANA 2021 FPS01, users can limit the search list themselves by marking search objects as favorites. Refer to SAP Note 3102861 – Slow search performance when using “All” search scope

Keep reading to take a quick look at the new favorites feature, then you will learn:

  • Why search matters
  • The use case for limiting search
  • Barriers to limiting search and how to overcome them, including how to limit the search object using authorizations

How to use favorites in Search – from SAP S/4HANA 2021 FPS01

From SAP S/4HANA 2021 (SAPUI5 1.96), users have new option to select their favorite search objects for the search.

When you go to the SAP Fiori launchpad > User Actions (Profile menu) > Settings dialog, you will see a section called Search.

Search%20options%20in%20Settings%20dialog

Search options in Settings dialog

IMPORTANT: The settings for My Default Search Scope are NOT related to the Personalized Search > Track Search Activities settings. There is no dependency between these settings.

In the Search settings you can enable “My Default Search Scope” and nominate which search connectors you want to include in your personalized search scope.

Search%20objects%20selected%20as%20the%20personalized%20search%20scope%20in%20the%20Settings%20dialog

Search objects selected as the personalized search scope in the Settings dialog

In the search dropdown in the SAP Fiori launchpad you will then notice a new option My Favorites.

My%20Favorites%20option%20in%20the%20Search%20dropdown%20in%20the%20SAP%20Fiori%20launchpad

My Favorites option in the Search dropdown in the SAP Fiori launchpad

When you search using My Favorites the search is executed across all your favorite search objects.

Why Search matters

Search provides several very helpful use cases. Typically, the most important use cases for business users are these:

  • Find a business object by reference or partial reference
  • The quickest way to find your object, by object id, and start working with it.

By the way, there are many other use cases… for example search can be a quick way to get a report or download list of related objects.  You can see how this works in the openSAP microlearning Using Enterprise Search for Reporting in SAP Fiori – SAP S/4HANA User Experience.

You can find more about how to use search as a business user in the SAP Fiori launchpad User Guide, section Using the Launchpad > Searching for Business Objects and Apps

Use case 1: Find a business object by reference or partial reference

Have you been given a dubious reference by a customer, partner or colleague? Just enter a number, id, or text, with or without wildcard (*) and find all related business objects you are authorized to view.

You can use the wildcard * on its own, as a suffix, as a prefix, or as a pattern (e.g. V170*1). For example:

Example%20search%20results%20when%20using%20a%20wildcard%20in%20the%20search%20term

Example search results when using a wildcard in the search term

Use case 2: The quickest way to find your object, by object id, and start working with it

You have an ID and you know what it represents.  E.g. You have a purchase order 4500000280

What’s the quickest way to view that id and start the app you need? Search!

Example%20search%20results%20when%20searching%20using%20an%20object%20id

Example search results when searching using an object id, showing related apps can be accessed from the results

Yes, you could use a Manage app or a Display transaction to find your object also. However, then you would still need to navigate to the app you need.

From Search you can quickly see some summary information verify it’s the object you are looking for and then navigate directly to any related app (including classic UIs such as SAP GUI transactions).

The Use Case for Limiting Search

Search is a powerful of the SAP Fiori launchpad, but perhaps sometimes a little too powerful? There are more than 300 searches provided with SAP S/4HANA.

Search%20dropdown%20fragment%20showing%20some%20of%20the%20search%20objects%20available%20in%20SAP%20S/4HANA

Search dropdown fragment showing some of the search objects available in SAP S/4HANA

Here are 3 good reasons you may want to limit the list of search objects:

  1. Users can be confused by a long list of possible search objects to choose from.

While they can use the All search for finding dubious references, when they want to focus on searching for a specific business object, it’s better if the list of searches is shortened to only what they need.

  1. Many of the search objects may not be relevant to your industry, your business, or the user’s role.

Each search object has a matching search connector that powers the search. Disabling the search connectors you don’t need hides that search object in the search list.  Removing unnecessary searches is also more efficient for both the user and the system.

  1. Better performance – for both the system and the user.

SAP HANA searches are fast, but good system management and user experience principles still apply.  Limiting search objects reduces the load of unnecessary searches on the system. It also can reduce the waiting time for the user executing the search, particularly when using the All search.

Barriers to limiting Search

There are a few barriers to overcome when limiting search:

  1. There are 2 types of search connectors that control the searches: Classic search connectors and CDS View search connectors. These 2 types of connectors use different administration tools and different authorization objects.
  2. Finding the technical id of the search connector you need to authorize
  3. Effort of adjusting authorization roles
  4. Understanding the impact on related apps (think Semantic Object)

These barriers can be overcome by knowing:

  • How to find the authorization objects for Search
  • Minimizing effort to authorize search
  • Controlling the app links in the search results, by identifying the Semantic Object of the Search Connector

How to find the authorization objects for Search

There are 2 authorization objects for search.

  • CDS View search connectors use authorization object SDDLVIEW and tool SAP Fiori app F3036 Manage Search Models
  • Classic search connectors use authorization object S_ESH_CONN and tool GUI transaction ESH_COCKPIT

Finding the technical id of CDS View search connectors

For CDS View search connectors you can find the technical id in SAP Fiori app F3036 Manage Search Models

This app belongs to the Administrator role (SAP_BR_ADMINISTRATOR).

Navigate to the app and find the search model. The search model is usually named the same as the search object.

You can search on any part of the name you see in the Search object list. For example, here is the search model Condition Contracts found by searching on the keyword contract.

Searching%20for%20a%20search%20connector%20in%20SAP%20Fiori%20app%20F3036%20Manage%20Search%20Models

Searching for a search model in SAP Fiori app F3036 Manage Search Models

In General Information you will find the two (2) identifiers you need to authorize:

  • Search View
  • SQL View for the Search View.

Search%20View%20and%20SQL%20View%20of%20a%20Search%20Model%20in%20SAP%20Fiori%20app%20F3036%20Manage%20Search%20Models

Search View and SQL View of a Search Model in SAP Fiori app F3036 Manage Search Models

In the authorization object definition for SDDLVIEW you set the following fields:

  • DDLNAME = <Search View id>
  • DDLSCRNAME = <SQL view for Search view>
  • ACTVT = Display

You can see an example below. You can maintain multiple search views in the same authorization entry.

Example%20Authorization%20settings%20for%20a%20CDS%20View%20Search

Example Authorization settings for a CDS View Search in the Authorization Profile section of a role maintained using Role Maintenance (GUI transaction PFCG)

IMPORTANT: SDDLVIEW is also used for other types of CDS Views.

Finding the technical id of classic search connectors

You can use GUI transaction ESH_COCKPIT to find the technical id of classic search models and search connectors.

Once again you can search for your search connector using any part of the name you see displayed in the search object list. Once you find the connector you need, select it and look for the field Connector ID in the General tab.

Tip: You will notice the connector id includes the system id and the client, this is because classic searches are client dependent.

Example%20classic%20search%20model%20and%20connector%20id%20found%20using%20the%20Connector%20Administration%20Cockpit%20%28transaction%20ESH_COCKPIT%29

Example classic search model and connector id found using the Connector Administration Cockpit (GUI transaction ESH_COCKPIT)

When you authorize the use of the search you only need the search model id.

In the authorization object definition for S_ESH_CONN, set the following values:

  • Template Type (TEMPL_TYPE) = COMRUNTIME
  • Template Name (TEMPL_NAME) = <search model id>

The other fields are usually not needed and can be set to full authorization wildcard *.

Tip: If you need to distinguish between searches in different clients, you can set the SYSTEM_ID and SYSTEM_CLIENT fields to the system id and client respectively.

Example%20authorization%20settings%20for%20a%20classic%20search%20in%20the%20Authorization%20Profile%2C%20shown%20in%20Role%20Maintenance%20%28GUI%20transaction%20PFCG%29

Example authorization settings for a classic search in the Authorization Profile, shown in Role Maintenance (GUI transaction PFCG)

Minimizing effort to authorize search

  1. Use the Fiori Launchpad Configuration Parameters and the Fiori Foundation User role to give all users access to the Search feature, but not to specific searches

Whether and how the Search feature appears in the Fiori Launchpad shell bar is controlled by launchpad configuration parameters. For example, in SAP S/4HANA 2021 you have the following options:

Parameter Description Default value
DEFAULT_SEARCH_SCOPE_APPS Set default search scope as Apps false
SEARCH Specify whether the search option is displayed in the launchpad shell header bar true
SEARCH_BUSINESS_OBJECTS Enable search business objects true
SEARCH_SCOPE_WITHOUT_ALL Set search scope without all false

Tip:  You can find out more about these options and their release availability in the blog post SAP Fiori for SAP S/4HANA – Enterprise Search Optimization

The list of Business Objects you see in the search is controlled via authorizations.

Why do you see all search objects by default? By default, it is the Foundation User role that gives all your users access to the launchpad and the main launchpad features.

Tip: This role is generated for you in task list SAP_FIORI_FOUNDATION_S4 task Generate Fiori Foundation Roles. By default, the role is named Z_FIORI_FOUNDATION_USER.

Using your Foundation User role, you can give all users the ability to search on apps and business objects through giving full access via authorization object S_ESH_CONN.

If you want to control which searches are assigned, start by deactivating the authorization object S_ESH_CONN in your Fiori Foundation User Role. 

  1. Gather related searches together into Search roles

Gather together related searches that you want to assign into single roles, e.g. searches for the same line of business. You can then assign the search authorizations to multiple roles in the same line of business.

For example, you might gather all the search objects relevant to the Finance roles, Procurement roles, etc.

You can gather the authorizations for CDS View searches and classic searches into the same single role.

  1. Keep authorizations for apps separate to authorizations for search.

Keep authorizations to access apps separate to access to search objects.  That is, keep your custom roles containing Fiori business catalogs separate to the authorization roles for search.

This approach avoids creating unintentional segregation of duties issues. You want to authorize the user to run the search relevant for their role. However different roles are likely to need to launch to different apps from the Search Results depending on the tasks they do.

Keeping the search authorizations separate from the app authorizations ensure users can only launch from the Search Results to apps relevant to their own roles.

***Hint: For app links to be shown in Search Results, it is sufficient that the launchpad app descriptor items (tiles and target mappings) use the same Semantic Object assigned to the search model. The Semantic Object acts a logical link between the search results and the apps that you can launch to from the Search Results.  There is no need for them to be physically in the same business catalog.

You can easily find which app links will appear in the Search Results by using the Launchpad Content Aggregator tool (GUI transaction /UI2/FLPCA) to find all the apps assigned to the Semantic Object for a selected business role as explained in blog post SAP Fiori for SAP S/4HANA – 3 simple use cases for Launchpad Content Aggregator

Tip: By default, the app link used for the object id has the semantic action = displayFactSheet. You can search for all apps with action displayFactSheet in the Launchpad Content Manager (GUI transaction /UI2/FLPCM_CUST) on the Tiles and Target Mapping tabs.

Controlling app links in the Search Results

The Semantic Object assigned to the search model controls which related app navigation links will be shown in the Search Results.

So how do you identify the Semantic Object of the Search Connector? Once again for CDS View searches this is easy and for classic searches this is possible if a little more difficult. 

You can find the semantic object for CDS View search models in SAP Fiori app F3036 Manage Search Models in the Navigation tab. For example:

Semantic%20Object%20on%20the%20Navigation%20tab%20of%20SAP%20Fiori%20app%20F3036%20Manage%20Search%20Models

Semantic Object on the Navigation tab of SAP Fiori app F3036 Manage Search Models

Finding the semantic object for a classic search is not quite as easy.

You can find the classic search connectors in the Fiori apps library usually listed against a similarly named app of type Factsheet. When relevant, you find Search Connectors in the Implementation Information tab in the section Configuration.

Classic%20search%20connectors%20found%20in%20the%20app%20details%20in%20the%20SAP%20Fiori%20apps%20reference%20library%20https%3A//sap.com/fiori-apps-library

Classic search connectors found in the app details in the SAP Fiori apps reference library https://sap.com/fiori-apps-library

You can then find the semantic object in the target mapping details of the same app. You find the target mapping in the Implementation Information tab in the section Configuration.

Semantic%20object%20in%20the%20Target%20Mapping%20details%20in%20the%20SAP%20Fiori%20apps%20reference%20library

Semantic object in the Target Mapping details in the SAP Fiori apps reference library

Find out more about Search

From SAP S/4HANA 1909, the SAP Fiori launchpad configuration parameters let you default the search scope. For example, you can default the search scope to Apps to avoid the dropdown list of objects being called on first touch of the search bar as explained in SAP Fiori for SAP S/4HANA – Enterprise Search Optimization

You can find a central reference list of searches available as CDS Views and their related authorizations along with some additional activation guidance in SAP Note 2790616 – Enterprise Search Models : Availability of CDS based Search models in S/4HANA On Premise 

Seeing duplicate search objects in the list? Yes you can fix these as explained in SAP Fiori for SAP S/4HANA – Resolving duplicate search objects

There is some useful additional advice in SAP Note 3234175 – Restricting the display of Search Connectors in central search dropdown of S/4HANA On-premise system Fiori Launchpad

Enterprise Search is moving to CDS View powered searches over time.  SAP is providing new and easier capabilities to review and adjust CDS View based searches through SAP Fiori apps such as:

You can find the App Documentation for these apps in the Enterprise Search guide for your SAP S/4HANA release in the SAP Help Portal. For example:

which includes a helpful video Insights into Enterprise Search

Tip: What you can change in SAP Fiori app F3036 Manage Search Models for a specific CDS View depends on the Stability Contract assigned to the CDS View. For example, when a search CDS View has:

  • stability contract C0 assigned, you can add custom fields to the search
  • stability contract C1 assigned, you can extend the search using metadata extensions

If you find the search CDS View has not been assigned a stability contract, please raise a SAP Incident to have this corrected.

You can find more in the Enterprise Search guide for your SAP S/4HANA release on the SAP Help Portal, and in SAP Notes.

General help documentation for Enterprise Search in the SAP Help Portal:

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.

 

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Stefan Ressing
      Stefan Ressing

      Great that this is now available and thanks for sharing this Jocelyn.

      Author's profile photo Florian Hillenmayer
      Florian Hillenmayer

      Hello Jocelyn,

      I think there is an error concerning the authorizations for SDDLVIEW in your blog post.

      You wrote:

      "

      In the authorization object definition for SDDLVIEW you set the following fields:

      • DDLNAME = <Search View id>
      • DDLSCRNAME = <SQL view for Search view>
      • ACTVT = Display

      "

      And you marked the ESH_S_CC as SQL view name in your screenshot.

      Shouldn't it be the ESH_N_CNDNCONTR entity name which has to be added to the authorization field? Listed as "node view" in F3036.

      ESH_N_CNDNCONTR is also already listed in the screenshot in authorization field DDLSRCNAME (as authorization default).

       

      I think SQL view names in general are only necessary in authorization objects S_RSCOMP and S_RSCOMP1 but not in SDDLVIEW, aren't they?

       

      Nevertheless, thank you for this amazing blog post! 🙂

       

      Regards

      Florian

       

      Author's profile photo Siegfried Weber
      Siegfried Weber

      Hi Jocelyn,

      I like your fantastic blogs. I have one question and I am not sure, if you are the right person to answer:

      I want to extend the search for Equipments in the following way:

      We want to enrich the list of navigation target  with an own target.

      I searched a lot, but was not able to find a How-To-Guide or a Cookbook.

      Could you give me a hint?

      Regards

      Sigi Weber

      Author's profile photo Vittal Gopinath Pai
      Vittal Gopinath Pai

      Hello Sigi, from what I know, the list of app links you see there are all based on a particular Semantic Objects assigned to your user role, for example, in your screenshot, all the links have the BillingDocument semantic object in common. Look for that info in the Implementation Information > Target Mapping section for all these apps in the Fiori apps reference library.

      Therefore, try the following, create a tile with target mapping of semantic object BillingDocument, but put in a custom action to make it unique, then provide the remaining details for the type of app and so on. Assign this tile's catalog to your launchpad user role.
      Clear browser cache, relaunch the launchpad and perform the search again and see if the links now show your custom link/target.