
You can now find the list of duplicate searches in SAP Note 3122697 - Equivalence between CDS views and classical search models !
Latest Updates:
The use case:
You activated all search objects in SAP Fiori for SAP S/4HANA, for example using task list SAP_ESH_INITIAL_SETUP_WRK_CLIENT and software component SAPAPPLH.
Hint: SAPAPPLH is the standard software component for all the delivered search models for SAP S/4HANA.
The problem:
When you go to use thee Search in the SAP Fiori launchpad, you notice there are some searches in the dropdown lists of Search Objects that are marked as duplicates. This looks ugly, as the duplicates also show the technical search connector ID to distinguish between the duplicates. And it's very confusing for your business users. How do you stop this?
Duplicate search objects appearing in the search objects dropdown of SAP Fiori launchpad search feature
The solution:
Don’t worry it’s easy to fix!
In this blog post you will learn:
Enterprise Search is moving to CDS View powered searches over time. This is a gradual process that started with SAP S/4HANA 1809 and continues across higher SAP S/4HANA releases. So where you see “duplicate” searches it’s usually where a new CDS View search model has been introduced to replace the older classic search option.
What are Search Models? A search model contains the technical details for a search object, such as the data source, which fields are used to filter the search, which fields are shown in search results, what semantic object is used to derive the app links shown with the search results, etc.
What are Search Connectors? When activating a search model, a search connector is created. A connector is the runtime object corresponding to the search model. It is system-specific and client-specific.
Classic search connectors have a technical name that starts with the system and client followed by the search model name, for example: S4H100~VENDOR_H~ where the System ID = S4H and the client = 100, and the search model is VENDOR_H.
CDS View-based search connectors have a technical name that starts with CD$ALL followed by the search model name, for example: CD$ALL~ESH_U_SUPPLIERSM~ where the search model is ESH_U_SUPPLIERSM.
Hint: Notice that classic search connectors are client-dependent, while CDS View based searches are cross client. This is why CDS View search connectors start with CD$ALL, i..e all clients.
Occasionally when upgrading, even the new CDS View search may have been replaced by a revised and improved CDS View search model in your release.
For example, for Activity Types the newer search connector CD$ALL~ESH_U_ACTYTYPEV2~ supersedes the older CD$ALL~ESH_U_ACTIVITY_T~. Similarly for cost centers the newer search connector CD$ALL~ESH_S_CSTCNTRV2~ supersedes the older search connector CD$ALL~ESH_U_COST_CENTE~.
It is this technical search connector ID you see in the search dropdown list when there are duplicates. For example in the screenshot below you can see the rows Cost Center duplicate CD$ALL~ESH_S_CSTCNTRV2~ and Cost Center duplicate CD$ALL~ESH_U_COST_CENTE~.
There are multiple CDS View search models for Cost Center
So you need to know how to deactivate both classic search objects and CDS View search models, or more precisely their search connectors.
What are Search Connectors? When activating a search model, a search connector is created. A connector is the runtime object corresponding to the search model. It is system-specific and client-specific.
There are 2 main options for deactivating search objects, or to be precise, to deactivate the matching Search Connector for your system and client.
There is also a 3rd fallback technical option in case of unexpected issues (or if your SAP S/4HANA release does not include SAP Fiori app F3036 Manage Search Models). This fallback option uses transaction ESH_DASHBOARD.
You will find a summary of the procedure for each approach below.
Launching transaction ESH_COCKPIT will take you to a ABAP Web Dynpro application for managing enterprise search models titled “Connector Administration Cockpit”. You can review all available search models and deactivate unwanted search models using the cockpit.
Transaction ESH_COCKPIT launches the Connector Administration Cockpit and shows the Active or Inactive status of searches
For example, you might have 2 search duplicates called Object Link. These are searches relevant to Plant Maintenance. In the search object dropdown list in the SAP Fiori launchpad you can see these listed as:
In other words you have 2 search connectors active that provide much the same data:
The CD$ALL search is the newer CDS View based search, so you want to deactivate the classic search S4H100~OBJECT_LINK_H~.
Procedure:
1. Launch the cockpit. You can use transaction ESH_COCKPIT or go to the URL below with your using your host, port, client, and language code where indicated:
https://<host>:<port>/sap/bc/webdynpro/sap/esh_admin_ui_component?sap-client=<client>&sap-language=<...; u
For example in a CAL SAP S/4HANA Fully Activated Appliance Trial the URL is:
https://vhcals4hcs.dummy.nodomain:44301/sap/bc/webdynpro/sap/esh_admin_ui_component?sap-client=100&s...
2. Search for the connector – you can use the technical name or search object name with the menu button option Find > Find Connector. Hint: If you are using the search object name, press the Find Connector option again to find the next matching value.
Transaction ESH_COCKPIT searching for the connector by name object link
3. Select the top row of the search model (e.g.S4H100~OBJECT_LINK_H~) you want to deactivate. Then select Actions > Deactivate. Hint: The Deactivate option is only available if the search model is currently active.
Showing the Deactivate option of the menu button Actions in the Connector Administration Cockpit - notice that the search connector to be deactivated is selected via the checkbox at the start of the row
4. Check that the status of the search model is now Inactive
Deactivated search connector has the status Inactive
Typically, you would use this approach when you want to deactivate a superseded search model, or you want to deactivate a CDS view based search you do not need. For example, Allergens might be relevant if you are in the Pharmaceuticals or Agriculture industries, but not relevant if you are in Professional Services.
Prerequisites:
You must be assigned the app via your business role. For example, using the SAP Business Role: Administrator (SAP_BR_ADMINISTRATOR).
Procedure:
1. Launch the SAP Fiori app F3036 Manage Search Models to see all available CDS View-based search models and their activation status.
Both Cost Center models are active as shown in F3306 Manage Search Models
2. Expand the search model you want to deactivate
Expanded search model for search view ESH_S_COST_CENTER showing details including the Enabled Yes/No toggle button in the header and the status for the search model and the search view
3. Switch the Enabled toggle button from Yes to No. Confirm you want to disable the search.
Confirmation dialog showing Disable and Cancel buttons
4. Confirm your search model is now listed in status Inactive.
Unwanted search is now shown in Inactive status in F3306 Manage Search Models
5. Refresh your web browser and check the unwanted search is no longer shown in the search objects list.
Search object list now has only one search for Cost Center
This is a very technical approach that is useful in older releases or when you come across unexpected errors during deactivation. For instructions, refer to SAP Note 2896358 - How to deactivate CDS connectors in Enterprise Search
You can also use the dashboard to confirm how many classic and CDS view-basd searches you are using
This list is based on experience and has been gathered from SAP S/4HANA 2020 and SAP S/4HANA 2021 systems.
The list may not be complete. Please let us know in the comments of any others you find.
IMPORTANT: You can now find the list of duplicate searches in SAP Note 3122697 - Equivalence between CDS views and classical search models
In the table below, the best available CDS Search Connector in the latest SAP S/4HANA 2021 release at time of writing is highlighted in blue and bold.
For lower releases of SAP S/4HANA you will find some but not all of these new CDS View searches - just use this list to guide you as you deactivate any duplicates you find listed in your list of search objects.
Business Object | Application Area | Classic Search Connector | Replaced by CDS Search Connector |
Activity Type | CO | <system><client>~ACTIVITY_TYPE_H~ | CD$ALL~ESH_U_ACTYTYPEV2~ Deactivate earlier version: CD$ALL~ESH_U_ACTIVITY_T~ |
Allergen | PLM | <system><client>~ALLERGEN_H~ | CD$ALL~ESH_U_ALLERGEN1~ |
Allergen Group | PLM | <system><client>~ALLERGEN_GROUP_H~ | CD$ALL~ESH_U_ALLERG_GRP~ |
Bank | FI | <system><client>~BANK_H~ | CD$ALL~ESH_U_BANK~ |
Batch | LO | <system><client>~BATCH_H~ | CD$ALL~ESH_U_BATCH~ |
Bill of Material / Material BOM Header | LO | <system><client>~MBOM_APPL_MODEL_H~ | CD$ALL~ESH_U_MBOMHEADER~ |
Billing Document | SD | <system><client>~CUSTOMER_BILL_DOC_H~ | CD$ALL~ESH_U_BILLGDOC~ |
Billing Document Request | SD | <system><client>~BILL_DOC_REQ_H~ | CD$ALL~ESH_U_BILDOCREQS~ |
Change Record | PLM | <system><client>~CHANGE_RECORD_H~ | CD$ALL~ESH_U_CHGRCDH~ |
Change Number | PLM | <system><client>~CHANGE_NUMBER_H~ | CD$ALL~ESH_U_CHG_NMBR~ |
Cost Center | CO | <system><client>~COST_CENTER_H~ | CD$ALL~ESH_U_CSTCNTRV2~ Deactivate earlier version: CD$ALL-ESH_U_COST_CENTE~ |
Cost Center Group | CO | <system><client>~COST_CENTER_GRP_H~ | CD$ALL~ESH_U_COST_C_GRP~ |
Credit Memo Request | SD | <system><client>~CREDIT_MEMO_REQ_H~ | CD$ALL~ESH_U_CRDTMEMREQ~ |
Customer | LO | <system><client>~CUSTOMER_H~ | CD$ALL~ESH_U_CUSTOMERST~ |
Customer Material | SD | <system><client>~CUSTOMER_MAT_INFO_H~ | CD$ALL~ESH_U_CUSTMAT~ |
Customer Return | SD | <system><client>~CUST_RETURN_H~ | CD$ALL~ESH_U_CUSTRETURN~ |
Debit Memo Request | SD | <system><client>~DEBIT_MEMO_REQUEST_H~ | CD$ALL~ESH_U_DBTMEMREQ~ |
Diet | PLM | <system><client>~DIET_H~ | CD$ALL~ESH_U_DIET~ |
Diet Group | PLM | <system><client>~DIET_GROUP_H~ | CD$ALL~ESH_U_DIETGROUP~ |
Equipment | PM | <system><client>~EQUIPMENT_H~ | CD$ALL~ESH_U_EQUIPMENT~ |
Evaluation Questionnaire | SLC | <system><client>~SUPLR_QNAIRE_H~ | CD$ALL~ESH_U_SUPLR_QNR~ |
Evaluation Response | SLC | <system><client>~SUPLR_SRS_H~ | CD$ALL~ESH_U_SUPLR_SRS~ |
Evaluation Scorecard | SLC | <system><client>~SUPLR_EVAL_SCCARD_H~ | CD$ALL~ESH_U_SUPEVLSCRD~ |
Functional Location | PM | <system><client>~FUNCT_LOCATION_H~ | CD$ALL~ESH_U_FUNCTLOCTN~ |
House Banks | FI | <system><client>~HOUSEBANK_H~ | CD$ALL~ESH_U_HOUSEBANK~ |
House Bank Accounts | FI | <system><client>~HOUSEBANKACCT_BAM_H~ | CD$ALL~ESH_U_HOUSEBANKB~ Deactivate earlier version: CD$ALL~HOUSEBANKACCOUNT_H |
Inbound Delivery | LE | <system><client>~INBOUND_DELIVERY_H~ | CD$ALL~ESH_U_INBDELIV~ |
Invoice List | SD | <system><client>~INVOICE_LIST_H~ | CD$ALL~ESH_U_INVLIST~ |
Legal Context | LCM | <system><client>~LCM_CTX~ | CD$ALL~ESH_U_LGL_CTX~ |
Legal Document | LCM | <system><client>~LCM_DOCUMENT~ | CD$ALL~ESH_U_LEGALDOC~ |
Legal Transaction | LCM | <system><client>~LCM_LT~ | CD$ALL~ESH_U_LEGALTR~ |
Maintenance Notification | PM | <system><client>~MAINT_NOTIFIC_H~ | CD$ALL~ESH_U_MAINTNOTIF~ |
Maintenance Order | PM | <system><client>~MAINTENANCE_ORDER_H~ | CD$ALL~ESH_U_MAINTORDER~ |
Maintenance Plan | PM | <system><client>~MAINTENANCE_PLAN_H~ | CD$ALL~ESH_U_MAINTPLAN~ |
Maintenance Plan Item | PM | <system><client>~MAINTENANCE_PL_IT_H~ | CD$ALL~ESH_U_MAINTITEM~ |
Material Document | MM | <system><client>~MATERIAL_DOCUMENT_H~ | CD$ALL~ESH_U_MATLDOC~ |
Measurement Document | PM | <system><client>~MEASUREMENT_DOC_H~ | CD$ALL~ESH_U_MEASDOC~ |
Nutrient Group | PLM | <system><client>~NUTRIENT_GROUP_H~ | CD$ALL~ESH_U_NUTR_GRP~ |
Object Link | PM | <system><client>~OBJECT_LINK_H~ | CD$ALL~ESH_U_OBJECTLINK~ |
Outbound Delivery | SD | <system><client>~INBOUND_DELIVERY_H~ | CD$ALL~ESH_U_OUTBDELIV~ |
Package | PLM | <system><client>~PACKAGE_H~ | CD$ALL~ESH_U_PRODPACK~ |
Physical Inventory | MM | <system><client>~MATERIAL_INVENTORY_H~ | CD$ALL~ESH_U_PHYSINVTRY~ |
Planned Order | PP | <system><client>~PLANNED_ORDER_H~ | CD$ALL~ESH_U_PLANEDORDR~s |
Preliminary Billing Document | SD | <system><client>~PRELIM_BILL_DOC_H~ | CD$ALL~ESH_U_PREBILDOC~ |
Process Order | PP | <system><client>~PROCESS_ORDER_H~ | CD$ALL~ESH_U_PROCORDER~ |
Process Order Header Confirmation | PP | <system><client>~PROC_ORD_CONFIRM_H~ | CD$ALL~ESH_U_PROCORDCNF~ |
Production Order | PP | <system><client>~PRODUCTION_ORDER_H~ | CD$ALL~ESH_U_PRODNORDR~ |
Production Order Header Confirmation | PP | <system><client>~PROD_ORD_CONFIRM_H~ | CD$ALL~ESH_U_PRDNORDCNF~ |
Production Routing | PP | <system><client>~ROUTING_H~ | CD$ALL~ESH_U_PRODNRTG~ |
Profit Center | FI | <system><client>~PROFIT_CENTER_H~ | CD$ALL~ESH_U_PROFIT_CEN~ |
Purchase Contract | MM | <system><client>~PURCHASE_CONTRACT_H~ | CD$ALL~ESH_U_PURCTR~ |
Purchasing Category | MM | <system><client>~PURG_CAT_H~ | CD$ALL~ESH_U_PURG_CAT~ |
Purchasing Info Record | MM | <system><client>~PURCHASE_INFO_REC_H~ | CD$ALL~ESH_U_INFORECORD~ |
Purchase Order | MM | <system><client>~PURCHASE_ORDER_H~ | CD$ALL~ESH_U_PURORDER~ |
Purchase Requisition Item | MM | <system><client>~PURCHASE_REQ_H~ | CD$ALL~ESH_U_PURREQN~ |
Recipe | PLM | <system><client>~RECIPE_H~ | CD$ALL~ESH_U_RECIPE~ |
Recipe to BOM Synchronization Unit | PLM | <system><client>~SYNC_UNIT_GSSR2B_H~ | CD$ALL~ESH_U_SYNCUNIT~ |
Religious Certificate Group | PLM | <system><client>~RELIGIOUS_GROUP_H~ | CD$ALL~ESH_U_RELCERTGRP~ |
Resource | PP | <system><client>~RESOURCE_H~ | CD$ALL~ESH_U_RESOURCES~ |
Sales Contract | SD | <system><client>~CUST_CONTRACT_H~ | CD$ALL~ESH_U_SLSCONTRCT~ |
Sales Inquiry | SD | <system><client>~CUST_INQUIRY_H~ | CD$ALL~ESH_U_SLSINQY~ |
Sales Order | SD | <system><client>~SALES_ORDER_H~ | CD$ALL~ESH_U_SALESORDER~ |
Sales Order Without Charge | SD | <system><client>~SO_WITHOUT_CHARGE_H~ | CD$ALL~ESH_U_SOWTHOCHRG~ |
Sales Quotation | SD | <system><client>~CUST_QUOTATION_H~ | CD$ALL~ESH_U_SLSQUOTN~ |
Service Entry Sheet | MM | <system><client>~SERVICEENTRYSHEET_H~ | CD$ALL~ESH_U_SRVENTRSHT~ Deactivate earlier version: CD$ALL~SRV_ENTRY_SHEET_H |
Specification | PLM | <system><client>~SPECIFICATION_H~ | CD$ALL~ESH_U_SPEC~ |
Statistical Key Figure | CO | <system><client>~STAT_KEY_FIGURE_H~ | CD$ALL~ESH_U_STAT_KEY_F~ |
Supplier | LO | <system><client>~VENDOR_H~ | CD$ALL~ESH_U_SUPPLIERSM~ |
Supplier Invoice | MM | <system><client>~INCOMING_INVOICE_H~ | CD$ALL~ESH_U_INCINVOICE~ |
Supplier Quotation | MM | <system><client>~SUPPLIER_QUOTE_S4_H~ | CD$ALL~ESH_U_SPLRQTN~ Deactivate earlier version: CD$ALL~ SUPPLIER_QUOTATION_H |
Work Center | PP | <system><client>~WORK_CENTER_H~ | CD$ALL~ESH_U_WORKCENTER~ |
Hint:
Batch also has a duplicate Batch at Plant level (search connector ID <system><client>~BATCH_PLANT_H~). Usually you activate which search you want depending on the batch level specified for your system. Refer to SAP Note 2800580 - Enterprise Search Models in Batch Management: Availability of CDS Based Search Models in S...
If you want to have both Batch and Batch Plant searches then use the Edit option in transaction ESH_COCKPIT to adjust the search name to, e.g. Batch (Plant)
Hint:
You can also deactivate any demonstration searches delivered in your release such as:
CD$ALL~ESH_S_ESHDEM1~ |
CD$ALL~ESH_S_ESHDEM2~ |
CD$ALL~ESH_S_ESHDEM3~ |
CD$ALL~ESH_S_ESHDEM4~ |
CD$ALL~ESH_S_ESHDEM5~ |
CD$ALL~ESH_S_ESHDEM6~ |
CD$ALL~ESH_S_ESHDEM7~ |
CD$ALL~ESH_S_ESHDEM8~ |
Providing new and easier capabilities to review and adjust CDS View based searches through SAP Fiori apps such as:
In early releases the capabilities are primarily to review the information. The roadmap is to build more capability over time.
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
There is also App documentation for:
You can also refer to related SAP Note on the new capabilities for F3036 Manage Search Models available with SAP S/4HANA 2021:
In F3036 Manage Search Models you can already:
From SAP S/4HANA 2021, you can also edit search models to adjust:
IMPORTANT: From SAP S/4HANA 2022: You can also create your own custom search models!
You can see how the fields are used in the search model.
Manage Search Models - Fields tab showing which Response fields are shown in the Search Results
Navigation tab shows the Semantic Object used to provide links to apps in the Search Results.
Manage Search Models - Navigation tab shows the Semantic Object and parameters that can be passed
The Relations tab shows the CDS View hierarchy used.
Manage Search models - Relations tab showing the expanded CDS View hierarchy
One of the more interesting options for security experts is the Technical Details tab, where you can see the Roles assigned to this search connector.
Manage Search Models - Technical Details tab shows Assigned Roles
You can use the Test Responses tab to see what results will be returned.
Hint: If your search is inactive, this tab will show "Search error".
Manage Search Models ... tab
Ok so you changed your mind, someone made a mistake, or you now have a business need for a new search. It’s important to know that there are 2 steps to renabling the search:
The quickest way to do this is to run the task list SAP_ESH_CREATE_INDEX_SC in transaction STC01.
Task List Create and Index Search Connectors in transaction STC01
In the task “Select Models to Create Connectors” you specify only the Search Models you want to reindex.
For example
Example parameters for task Select Model to Create Connectors showing software component SAPAPPLH and search model ALLERGEN_H
Save your parameters and execute the task list. Since indexing can take some time, it’s usually a good idea to execute in background. You can then walk away and come back to check the result later in transaction STC02 (Task List Run Monitor).
When you upgrade SAP S/4HANA releases - e.g. from SAP S/4HANA 1809 to SAP S/4HANA 2021 - usually the system will not override the searches you are already using.
So you can continue to use them as-is or review the newly available search models and decide whether you want to:
You can quickly review all of the available Active and Inactive searches in GUI transaction ESH_DASHBOARD, both classic (traditional) or CDS view based. Selecting the Inactive number will take you to a simple list of searches available but not active.
Hint: You can use SAP Fiori app F3036 Manage Search Models to review the details of the new CDS View search objects before you enable them.
Transaction ESH_DASHBOARD shows the inactive searches available
In the dashboard you can also see an upgrade icon that tells you if upgrade of your classic searches is pending. To update your search models post upgrade or you will need to run the task list SAP_ESH_UPDATE_SC in transaction STC01. Since the update can take some time, you should use the option to start the task list background. You can check the result later in transaction STC02 (Task List Run Monitor).
Transaction ESH_DASHBOARD shows the upgrade icon in the row marked Traditional searches row
The easiest way to find the duplicates is using the dropdown lists of search objects in the SAP Fiori launchpad. However if you want to get a flat list of all the duplicates there's a way you can download this from the web browser.
The following steps were done in Google Chrome and were kindly supplied by jbaltazar.
As the duplicate message is only shown in the UI, it means there’s some JavaScript class that adds this text so use the context menu to inspect the search object list element in the web browser page.
Inspect the web browser page
Inspect takes you to the HTML DOM object so you then need to save as a global variable (it is automatically saved as temp1 – assuming you have not done anything similar earlier).
Find the global variable in the HTML DOM
Put the following code in the Console
function test() { var array1=new Array;for(var i=0;i<temp1.childNodes.length;i++){array1[i]=temp1.childNodes[i].innerText};return array1;}
Then execute it in the Console using:
test()
This brings back the text in the Search Object list
Raw text from the Search Object list
Right click on the raw text of the search object list to save it to your clipboard and paste to your favourite text editor. You can then search for the term duplicate to find the exact search connector ID of each duplicate.
Search object list in the text editor
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:
Some useful options for optimizing Enterprise Search behaviour:
Further information for CDS-based View Searches:
Further information for Classic Searches:
You’ll find much more on our SAP Fiori for SAP S/4HANA topic page
Other helpful links:
Brought to you by the SAP S/4HANA RIG and Customer Care team.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
12 | |
8 | |
7 | |
7 | |
7 | |
7 | |
6 | |
5 | |
5 | |
5 |