Until Focused Build for Solution Manager ST-OST 200 SP08 release, we only supported standard fields that are generally used to capture the Requirement details while implementing a project, from the Fiori Application. However, there is often a need at the customer end to add some specific customer fields that are relevant to the Requirement being realized in the project. These extension fields could only be searched and maintained from the SAP CRM Web UI client. There was no seamless maintenance possible for these customer extension fields from both CRM Web UI client and Focused Build for Solution Manager Fiori Application.
Starting Focused Build for Solution Manager ST-OST 200 SP09 release, it is now possible to search and maintain these SAP CRM Customer extension fields from the Fiori Application.
In this blog post, I would provide the steps which must be followed to access the Extension Fields added using SAP CRM Enhancement with Application Enhancement Tool (AET) from the Fiori Application. There will be subsequent blog posts on how to enable Value Help for the Extension Fields from the Fiori Application.
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.
Scope of this Feature
This extension feature is supported only from Focused Build for Solution Manager SP09 Release.
The feature is currently only supported for the Requirement Management Fiori Application and My Requirement Application.
The feature is only supported for the S1BR Transaction type. Other Focused Build transaction types are not currently supported.
Extend the CUSTOMER_H Business Object with the Extension Field.
At first, we need to add the extension fields to the CUSTOMER_H Business Object. We will use the SAP CRM AET framework to extend the CUSTOMER_H business object with the extension field.
Follow the below steps to add the extension fields to a Focused Build Requirement:-
We will open an existing Requirement from the Requirement Management Fiori Application.
Navigate to the the Requirement and open the Advanced Link.
The Requirement is displayed in the My Requirements Fiori Application.
Click on the Requirement Description “Add Customer Extension Field”, to open the Requirement from the SAP CRM Web UI client.
Check if the “Show Configurable Areas” is visible on the toolbar.
If the “Show Configurable Areas” is not visible on the toolbar, enable the configuration mode from the user personalization setting on SAP CRM Web UI client.
Now return back to the Requirement and open the Configuration Mode.
Select the General Data section.
From the More Button, navigate to Create Field option to create a new extension field using SAP CRM AET. Choose CUSTOMER_H as the Business Object.
If you have an issue with the namespace during SAP CRM AET generation for the chosen Development package then, maintain the namespace for the Development package in AXTSYS transaction. All the below 3 fields should be maintained. In our example, we are generating the SAP CRM AET fields in local package.
Enable the Expert Mode and fill the mandatory Extension field details along with other extension field semantics (Description, Search Help).
Select the Generate checkbox and Save and Generate. Ensure that you have the required authorization to save and generate the extension fields.
If you want to attach a Search Help for the extension field, kindly create an Elementary Search Help in backend SE11 Transaction and maintain it while performing SAP CRM AET Extension Field generation. Check table is currently not supported from the Fiori Application.
Note: In the subsequent blog posts I will provide more details about integrating the ABAP Search help in the Fiori Application for the Extension fields.
Here under Search Relevance, we have to choose Search and Result List for the extension fields to be accessible from the Fiori filter bar and from the Requirement Management Application.
Check the CRMD_CUSTOMER_H for the generated Extension Field
Once the Extension Field has been generated, check if the Extension field has successfully been created in the corresponding SAP CRM Table – CRMD_CUSTOMER_H.
As you will notice below, the field has been added to the table under the Include INCL_EEW_CUSTOMER_H.
The Include INCL_EEW_CUSTOMER_H is also added to the Requirement Management and My Requirements Generic OData Structures, so that as and when Extension Fields are added to the CUSTOMER_H Business Objects, they are also accessible from the respective OData Services.
Customise the Extension field
Since the table CRMD_CUSTOMER_H table can also contain many other extension fields that are not relevant to Focused Build, we provide a customising table where the fields relevant for Focused Build can be configured.
Go to SPRO Transaction and choose the below node “Activate Customer Fields for Requirements” to customize the extension field.
Maintain the Extension field that needs to be exposed in the Requirement Management Fiori Application and in the My Requirements Fiori Application under the Customer Field Metadata Configuration Node.
Since there is no Value Help Type relevant for this extension field, the remaining fields in this node can be left empty.
Maintain the Process Type where the extension field should be enabled. Currently we only support extension field for S1BR ( Requirement ) Transaction type from the Fiori Application. Hence only S1BR transaction type can be configured in the Process Type level.
The Filterable checkbox is used to enable/disable the extension field in the Fiori Application Worklist filterbar. Since the filterable checkbox is enabled for the extension field, it will appear in the Requirement Management Worklist filterbar. The pre-requisite to use this checkbox is, we should have made the extension field Search relevant while generating it from AET.
The Visibility field is used to control if the field should accessible from the Fiori App. Although we might have added the field to the customization, we might keep the field hidden ( example calculated field ). Hence we offer the Visbility checkbox.
The Obligatory field is used to control, if the field has to mandatorily be maintained while creating the Requirement
The third node is not relevant for this field, as the field does not have any search help assigned,
Generate the Field Control properties for the Extension Fields in the OData Structure
We need to next generate the field control property for the extension field which determines based on the transaction type at run time if the field should be visible, mandatory, read-only.
Field Control property needs to be generated for every extension field that is added to the Requirement Management and My Requirement OData service.
Note: No regeneration of the OData project from SEGW required after enabling the extension field.
Run the transaction /SALM/CFLD_UXFC_GEN. Ensure the user has the required authorization to run the transaction as this transaction would generate an append structure which requires DDIC change authorization.
Provide an Append structure name, which which will contain the field control property fields. In this example we have provided a Z Structure as the Append Structure name. Provide a structure name that adheres to the namespace supported by the Development package.
The structure will be appended to the Include /SALM/UX_CUSTFLD_CTRL_INCL which is part of the Requirement Management and My Requirement OData Structures. If the append structure does not get generated or is partially active, go to SE11 and activate it manually.
Provide a Development Package for the Append Structure
Provide a Workbench Request
Once the structure is appended, check the Requirement Management and My Requirements OData structure.
Update the OData Cache and Metadata
We need to clear the OData Model cache so that the Field control properties and the customization maintained for the extension fields reflect in the OData metadata.
Run the Cache Clean up program using the transaction – /IWFND/CACHE_CLEANUP
After clearing the cache, check the metadata of Requirement Management App and My Requirement App. Check if the extension field and the field control property fields are appearing in the metadata.
Open the transaction – /IWFND/GW_CLIENT and check the metadata for the Extension Field and Field control property.
Enable the Extension Field on the Fiori Application
Clear the browser cache and check if the extension fields are present in the Requirement Management and My Requirements Fiori Application.
Open the Requirement Management Application and under adapt filter, find the Extension Field and add it to the Fiori Application. If the field does not appear in the filter bar, then check if the field was both Search and Result list enabled while generating the field using AET on the SAP CRM Web UI client. If the Extension Fields do not appear, kindly refresh the browser cache (empty cache and hard reload) and try again.
Add the extension field to the Worklist from the list of available fields.
Finally we find the extension field appearing both on the filter bar and on the Worklist.
Maintain the extension field for the Requirement. The Extension Fields are grouped together under the Custom Fields section.
Save the Requirement with the Extension Field.
Navigate to the My Requirements Fiori Application to view and maintain the Extension Field.
With that, we are now able to render the SAP CRM Extension Fields from the Fiori Application. There will be subsequent blog posts on how to enable value help for the Extension Field from the Fiori Application.