Until Focused Build (ST-OST) SP13 release, we were able to configure the extension fields only for the Requirement (S1BR) process type. Starting SP13 release, we can also configure the customer extension fields for all the supported Focused Build application process types.
From SP13 release, we have also made certain changes to the customer field metadata configuration view. In this blog-post, we will explain in detail the functionality of each column in the metadata configuration view and also throw light on the new columns that have been added to the configuration view.
Additionally we will also explain how to generate the text fields that are mapped to the key extension fields and how to perform client side validation for the extension fields.
The below extension fields are supported in the following Fiori Applications ( Requirement Management Application, Generic Application, Mass Change Application, ITSM Application, Project Management Application (Risk), Defect Creation Application) to name a few.
From SP13 release, we can configure the extension fields for all the supported Focused Build application process type.
As illustrated below, the Produce Lead extension field has been configured now for all the Focused Build application process type.
Product Lead configured for all the process types
We will support the extension field for the following process types along with any custom process types that has been copied from the standard process type.
Extension Fields can be configured for the displayed Process Types
We have introduced few new columns in the customer field metadata configuration view and also added few validations to certain columns which will be explained below.
Customer Field Metadata Configuration View
Filterable Property cannot be activated for Non Search enabled fields
In the above example, the IT Comment extension field is not Search enabled. Hence, if the user tries to activate the filterable property in the configuration, an error message as shown above is prompted.
IT Comment Not-Search Relevant Enabled
“ABAP Elementary Search Help” Value Help Type enabled for the Product Lead extension field
Search Help enabled for the Product Lead extension field
Search Help window for the Product Lead extension field
BUPAP Search Help that is used for the Product Lead extension field
“Drop Down box (fixed values)” Value Help Type is enabled for the Enhancement Type extension field and no explicit Value Help assigned
Drop Down Search Help enabled for the Enhancement Type extension field
Domain Fixed Values for the Enhancement Type extension field
Value Help Field Mapping for Product Lead and Enhancement Type extension fields
Value Help Text Field Mapping for Product Field and Enhancement Type
Name 1/Last Name from BUPAP Search Help is read to display the text for the Product Lead extension field
Domain fixed value short description (ABAP/JAVA) is read to display the Enhancement Type extension field description
There are two ways to generate the Text field. One way is by generating the Text field using the transaction /SALM/CFLD_UXFC_GEN which is the recommended approach from SP13 release and the other approach is by creating a Text field as an extension field. We will discuss both the options below.
We will explain below, how to configure the Text Field Mapping column using two options; one option using the generated text property as the Text Field Mapping and the second option using the AET field as the text field.
Text Field Mapping for the Enhancement Type Key extension field
Text displayed for the Enhancement Type key extension field
The description from the underlying domain fixed value is read (in this case ABAP for AB Key value) and mapped to the generated text property (ZTXT_ZENH_TYPE) which serves as the placeholder text field used to display the key field description. Under the Value Help Text Field Mapping section, we have already shown the list of domain fixed values for the Enhancement Type key extension field which helps to understand the above illustration.
Note: We will explain how the text field is generated using the program in the section “Generate Text Mapping Attributes”.
Text Field Mapping for the Product Lead extension field
As you can see above, the Generate Text Field Mapping checkbox is not activated for the Product Lead (ZZPRODUCT_LEAD) extension field, as we are using an AET generated extension field Product Lead Name (ZZPRODLEADNAM) as the Text Field Mapping. Kindly note that, the AET generated text field (Product Lead Name) also needs to be configured as the extension field. Hence it is necessary to configure both the key extension field and the text field in the Customer Extension field name if we are using the Option 2.
Product Lead Name displayed as the description for the Product Lead extension key field
The description (MC_NAME1) from the underlying BUPAP Search Help (in this case Engagement Architect) is mapped to the Product Lead Name (ZZPRODLEADNAM) which serves as the placeholder field to display the key field description. Under the Value Help Text Field Mapping section, we have shown the search help value for the Product Lead extension field.
Additionally, the BAdI – CRM_CUSTOMER_H_BADI needs to be implemented to map the Business Partner last name to the Product Lead Name which is illustrated below. If the BAdI is not implemented, the description for the key field will not be displayed.
Note: The BAdI needs to be implemented only for option 2 and not for option 1.
METHOD if_ex_crm_customer_h_badi~crm_customer_h_merge.
IF cs_customer_h_badi-zzproduct_lead IS NOT INITIAL.
CLEAR cs_customer_h_badi-zzprodleadnam.
SELECT SINGLE *
FROM zproduct_lead
INTO @DATA(ls_product_lead)
WHERE zzproduct_lead = @cs_customer_h_badi-zzproduct_lead.
IF sy-subrc = 0.
cs_customer_h_badi-zzprodleadnam = ls_product_lead-zzprodleadnam.
ENDIF.
ENDIF.
IF cs_customer_h_badi-zzproduct_lead IS INITIAL.
CLEAR cs_customer_h_badi-zzprodleadnam.
ENDIF.
ENDMETHOD.
As explained earlier in the blog-post, We can now create placeholder text fields to display the description for the extension key fields without generating separate AET extension fields to display the description. The generation of the Text properties is supported only from SP13 release. Prior to SP13 release, we had to create separate extension fields as Text fields for the respective key extension fields that required description to be displayed. Follow the below steps to generate the text field property.
Execute the Text Property generation program
Note: The above program will only generate the text properties for extension fields that have the “Generate Text Mapping” checkbox activated in the extension field configuration.
Note: If the program text property generation fails, open the include /SALM/UX_CUSTFLD_TXTMAP_INCL, check and fix the errors. Then, manually activate the append structure.
Once the program has been executed, the append structure is added to the include /SALM/UX_CUSTFLD_TXTMAP_INCL which is present in Focused Build Application OData structures that support customer fields. We illustrate this using the Focused Build Generic Application OData Structure.
Append Structure added to the Text Map Include
Note: After the successful generation of the text property, the field control properties for the generated text property also needs to be generated. Hence run the transaction /SALM/CFLD_UXFC_GEN to generate the field control properties for the text properties. Kindly refer to the blog-post on how to generate the field control properties. The field control properties needs to be regenerated each time a new text property has been generated.
Note: We need to clear the OData Model cache so that the Text properties reflect in the OData metadata. Run the Cache Clean up program using the transaction /IWFND/CACHE_CLEANUP. Alternatively, we can run the /IWFND/GW_CLIENT transaction for the respective OData service to clear the model cache. Choose the menu option – Metadata->Cleanup Cache->On both systems to clear the cache.
Clear the OData Model cache using Gateway client
After clearing the cache, check the metadata. Check if the generated Text properties fields and the field control properties for the text fields are appearing in the metadata. Example ZTXT_ZENH_TYPE is the generated text property and ZFC_TXT_ZENH_TYPE is the generated field control property for the text field.
Metadata containing the generated Text properties
To enable the client side validation, we need to have text fields mapped to the key extension fields. The text fields can be generated using option 1 or 2 as mentioned above, although Option 1 is the recommended approach to generate the text properties for the extension fields.
The client side validation can be performed on all the extension fields that have ABAP Elementary Search Help enabled and text field mapped. Let us illustrate this functionality using the Product Lead Extension field.
Note: If no text field is mapped to the extension field and an incorrect value that is not supported by the value help is entered, the validation is then performed at the server end (backend) and an error message is returned in most cases. In the presence of text field, the client side validation is performed.
if an incorrect value is entered for the extension fields with Value help enabled as drop down box, the extension field value is not saved. No error message is returned in this case.
Error Message is displayed when an incorrect Product Lead value is entered
With that, we have explained the supported process types for the extension field, the new changes introduced in the extension field configuration view and how to generate the text fields, perform client side validations on the extension fields. Also from SP13 release, we do not have to create elementary search help explicitly to display the domain fixed values of the underlying extension field.
Kindly refer to the blog-post on how to enable the Extension Field for Focused Build Fiori Application.
Kindly refer to the blog-post on how to enable value help for the Extension Field from the Fiori Application.
We can also control which extension fields should be editable/ read-only at process type / field level using both the customization and BAdI which will be explained later in a new blog-post. I will see you there again!!
Until then, thanks for taking time to explore the new features that have been delivered in Focused Build SP13 release. 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
Related Links
Focused Build for Solution Manager
Agile Project Delivery with Focused Build for SAP Solution Manager
SAP CRM Enhancement with Application Enhancement Tool (AET)
Search and Maintain Customer Extension Fields from Focused Build Fiori Application
Configure Search Help for Customer Extension Fields in Focused Build Fiori Application
New Features introduced in Focused Build R2D Fiori Apps in SP13 release