Configure Search Help for Customer Extension Fields in Focused Build Fiori Application
This blog post in continuation to the earlier blog post where I explain, how the Customer Extension fields can be maintained in a Focused Build Application. In this blog post, I will walk through the steps required to enable the Value help for the Extension fields.
To follow this blog post, the user needs to have some knowledge in SAP CRM Application Enhancement Tool, Focused Build Requirement Fiori Application.
This blog post is relevant for Focused Build Solution Consultants, and Customers who would like to extend the Fiori Application with the SAP CRM Extension Fields.
The user should have some technical know-how in ABAP to build and configure the custom search help.
Scope of this Feature
This extension feature is supported only from Focused Build for Solution Manager SP09 Release.
In SP09 and SP10 releases, the extension field feature is only supported for the Requirement Management and My Requirements Fiori Application Application.
In addition to the above two applications, starting SP11 release, the Extension field feature is also supported in Mass Change Application for Requirements Process Type. Kindly refer to the blog post to know more about the extension field capabilities in Mass change application.
The feature is only supported for the S1BR Transaction type. Other Focused Build transaction types currently do not support the extension fields from any of the Fiori applications.
Limitations of the Search Help
Collective Search Help is not currently supported.
Only Elementary ABAP Search Help is currently supported.
Elementary Search Help has to be mandatorily be provided to enable the Search Help although the field might have an underlying Value Table defined under its domain or fixed values configured for the Domain.
Configure the Search Help for the Extension Field
I would provide few Search Help examples to explain the concept and the steps required to configure the Search Help for the Extension field.
Let us take the below example where we add a Business Partner Extension field to the Requirement Management Application. Let us assume the Customer needs a Business Partner Extension Field to capture the Product Lead details in the Requirement.
Kindly follow the below steps to add the Business Partner Extension field and check the earlier blog post if you happen to hit any road block while following the steps.
- Open an existing Focused Build Requirement from the My Requirements Fiori Application.
- Navigate to the CRM Web UI Application from the My Requirements Fiori Application by clicking on the Requirement Description. Choose the Architect Business Role or any suitable Business used to generate and add the Business Partner Extension field.
- Add the Business Partner Extension field to the CUSTOMER_H Business Object and assign the standard Search Help BUPAP. The extension field semantics are determined from the data element.
- Save and Generate the Extension field.
- Generate the Field Control Properties for the Product Lead if you have already performed this step using the report – “/SALM/GEN_CUSTFLD_UXFC_APPEND”. This step is not a pre-requisite to configure the value help. However, it is required to maintain the extension field. Refer the previous blog post to know more about this step.
- Configure the Extension Field using the transaction /SALM/CUSTFLD for the transaction type S1BR.
- In this example, I am using the standard elementary search help BUPAP to configure the search help for the Product Lead field.
- Maintain the Value Help BUPAP, the elementary search help for the Extension Field.
- Maintain the field VH_FLD_MAPPING, as the field from the Elementary Search Help that would map to the Product Lead field on selecting a record from the Value Help. In this case on selecting a Business Partner from the Value Help, the Business Partner ID would be returned and mapped to the Product Lead Field.
- Maintain the field VH_FLD_TEXTMAP, as the field that would serve as the Description for the Product Lead Field. We will cover the capabilities of this field in a separate blog post. This is an optional field and can be left blank.
- Maintain the visibility of the Product Lead Field.
- Maintain the Search Help Name and the field from the Search Help which will uniquely identify the Search Help record.
- In the Search Help Name, provide the elementary Search Help ID and in the Search Help Parameter, maintain the field from the elementary search help that uniquely identifies the search help entry.
- In this example, the Partner ID value would uniquely identify a record from the search help. This step is required to generate the search help entityset for the extension field in the metadata.
- It is also possible to have a composite key here that uniquely identifies the search help record. This step is mandatory to enable the search help for the extension fields.
- Clear the OData cache using the transaction – /IWFND/CACHE_CLEANUP after configuring the search help details in the Metadata configuration and maintaining the Search Help Key configuration.
- If the OData Cache is not cleared using the above transaction, then open the transaction /IWFND/MAINT_SERVICE. Filter for the following services and clear the cache as mentioned below.
- Filter the service “/SALM/BUSINESS_REQUIREMENTS_SRV” and open the SAP Gateway client. In the menu, choose Metadata -> Cleanup Cache -> On Both the systems. This will clear the metadata cache and metadata will reflect the new configuration maintained for the customer extension fields.
- Repeat the above step for the Generic App (/SALM/CRM_GENERIC_SRV) and Mass Change (/SALM/MC_SRV) Service (from SP11).
- Check if the Search Help appears in the OData metadata file. This would confirm that the search help has been configured correctly. Follow the blog post to know how to check the application metadata.
- Clear the Browser Cache. Open the Developer Tools from the browser menu (F12) and on the browser refresh button, right click and perform Empty Cache and Hard Reload. This will reflect the metadata changes in the Focused Build UI5 application.
- Check the value help from the Requirements Management Fiori Application ,My Requirements and Mass Change (from SP11) Fiori Application for Requirements Transaction Type.
- The Product Lead Field appears under the Customer Fields Fragment in Requirement Management and My Requirements App.
- Check the Value Help
- In the Mass Change Application, the configured extension field with the Search Help appears both in the table and in the Mass change pop-up window. Kindly refer to the blog post to know more about the extension field capability from the Mass Change Fiori Application.
Configure the Drop Down List Box for the Extension Field
- Drop Down List box is suitable when we need to display fixed values from which a user can maintain the extension field in the application.
- Let us assume an end user wants to add an extension field in the Requirement to denote the type of Programming Language used to enhance the S/4 HANA Cloud Application.
- Follow the same steps as mentioned above to create an extension field.
- While creating the extension field, the end user has maintained the drop down list values AB and JV as well.
- Since we don’t yet support domain fixed values as search help values out of the box, the end user also needs to create a Search help that will return the domain values AB and JV.
- Create a table that would return the values AB and JV or with the help of a developer create a search help exit that would return the domain fixed values.
- Bind the Search help to the enhancement type extension field and configure the search help as fixed value type.
- Maintain the Process type details.
- Maintain the Search Help key details
- Clear the OData metadata cache and also the browser cache. Check the configured extension field from the Fiori Application.
With that, we are now able to configure value help for your extension fields.
Thanks for taking time to explore this feature. If you have questions or suggestions on how this feature could be improved, please provide those in the comments section. Additionally, you can post your questions here