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.
Update May 2022: New in SAP S/4HANA 2021, you can now edit search models delivered by SAP and transport those changes to production. This also includes the ability to add custom fields to the search. Refer to Editing Search Models Delivered by SAP. SAP Note 2790616 – Enterprise Search Models : Availability of CDS based Search models in S/4HANA On Premise contains additional instructions for earlier releases and a central reference of searches available as CDS Views.
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.
From SAP S/4HANA 2020, the SAP Fiori app F3036 Manage Search Models makes it easy to:
- 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
- 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.
- 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.
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.
In the search dropdown in the SAP Fiori launchpad you will then notice a new option My Favorites.
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:
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!
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.
Here are 3 good reasons you may want to limit the list of search objects:
- 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.
- 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.
- 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:
- 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.
- Finding the technical id of the search connector you need to authorize
- Effort of adjusting authorization roles
- 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.
In General Information you will find the two (2) identifiers you need to authorize:
- Search View
- SQL View for the Search View.
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.
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.
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.
Minimizing effort to authorize search
- 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:
|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.
- 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.
- 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:
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.
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.
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
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:
- F3036 Manage Search Models
- F2777 Fine-Tune Search Ranking – Enterprise Search
- F2700 Define Search Synonyms – Enterprise Search
- F2571 Analyze Query Log – Enterprise Search
- F2800 Configure Personalized Search
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
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:
- Follow our tag SAP S/4HANA RIGfor 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.