Skip to Content
Product Information
Author's profile photo Chakram Govindarajan

Search and Maintain Customer Extension Fields from Focused Build Fiori Application

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.

  Open%20a%20requirement

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.

Requirement%20Management%20OData%20Structure

Requirement Management OData Structure

My%20Requirements%20App%20OData%20Structure

My Requirements App OData Structure

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.

          Requirement Management OData Structure with Field Control Property for the Extension Field

My%20Requirement%20App%20OData%20structure%20with%20the%20Field%20Control%20Property%20for%20Extension%20field

My Requirement App OData structure with the Field Control Property for the Extension Field

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.

Requirement Management OData Service Metadata

My Requirements OData Service Metadata

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.

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

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)

Assigned Tags

      27 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Williams Liu
      Williams Liu

      Cool!! This is really helpful and useful for our customers!

      Thanks a lot for the detailed explanation and step by step guide!!

      Author's profile photo Chakram Govindarajan
      Chakram Govindarajan
      Blog Post Author

      Thanks Williams for your feedback.

      Author's profile photo Theresa Prawdzik
      Theresa Prawdzik

      I followed the instructions in this blog and can see the custom fields in the filters for requirements management app in Chrome but not IE. any idea why?

      Author's profile photo Chakram Govindarajan
      Chakram Govindarajan
      Blog Post Author

      Hi Theresa,

      Can you clear the IE browser cache and check again.

      Go to F12 - Developer Tools and clear the cache.

      Thanks,

      Chakram Govindarajan

      Author's profile photo Theresa Prawdzik
      Theresa Prawdzik

      Thanks. IE is ok now but I still only see the custom fields in Requirements Management and NOT in My Requirements. I checked  both Requirement Management and My Requirements OData structure and I see the fields there but the Custom fields section is completely missing in My Requirements. Any suggestions? I've opened an incident with SAP on this issue.

      Author's profile photo Chakram Govindarajan
      Chakram Govindarajan
      Blog Post Author

      Hi Theresa,

      Kindly implement the Note to display the missing customer extension field panel in My Requirements App

      Thanks,

      Chakram Govindarajan

      Author's profile photo Theresa Prawdzik
      Theresa Prawdzik

      the note worked. thank you!

      Author's profile photo Riccardo Escher
      Riccardo Escher

      Hello Chakram,

      many thanks for the really instructive and complete howto-blog.

      Only one little thing.

      It works, but the result is not as beautiful as the other fiori fields.

      Here for example we have a NUMC Field with length 5 (Effort Development in Days - a realistic dimension for Fiori+CRM WebUI development 🙂 ):
      Customer%20Extention%20ExampleIs there a way to adapt the layout?

      Author's profile photo Theresa Prawdzik
      Theresa Prawdzik

      Since work packages, work items are created from requirements, it would be great if we could also include custom fields for those transactions types. Any plans of extending to S1MJ and S1IT?

      Author's profile photo Chakram Govindarajan
      Chakram Govindarajan
      Blog Post Author

      Hi Theresa,

      This development request has been accepted by the Customer Connect Program and it is planned to be realized in one of the upcoming releases.

      For more information on Customer Connect Program, kindly check this blog post

      Thanks,

      Chakram Govindarajan

      Author's profile photo Riccardo Escher
      Riccardo Escher

      "There will be subsequent blog posts on how to enable value help "

      I'm hand-wringing waiting for this blog, because my attempt to offer business partners with BUPAP search help broke the service (and /IWFND/ERROR_LOG didn't offer a helpful error message).

      Author's profile photo Theresa Prawdzik
      Theresa Prawdzik

      I am also waiting for this information!

      Author's profile photo Chakram Govindarajan
      Chakram Govindarajan
      Blog Post Author

      Hi Escher,

      I hope to have this blog post on Customer Extension Field Search Help published by 1st week of April. Thanks for your patience.

      Thanks,

      Chakram Govindarajan

      Author's profile photo Aravind Kumar Jagannathan
      Aravind Kumar Jagannathan

      Hi Chakram,

      Did you publish one with the search help for us? I could use some help there.

      Thanks,

      Aravind Kumar Jagannathan

      Author's profile photo Riccardo Escher
      Riccardo Escher

      "suggestions on how this feature could be improved": beside the DDIC-agnostic length of the fields, I would also suggest a way to put the fields into the wished sequence. Now they show up just by alphabetical sorting.

      Author's profile photo Chakram Govindarajan
      Chakram Govindarajan
      Blog Post Author

      Hi Riccardo,

      Thanks for your valuable feedback. I will request the Product Management Team to consider this in the Development Backlog list.

      Thanks,

      Chakram Govindarajan

      Author's profile photo Theresa Prawdzik
      Theresa Prawdzik

      This feature is very valuable; it is unfortunate the /SALM/REQUIREMENT_IMPORT does not recognize these custom requirements fields.

      Author's profile photo Chakram Govindarajan
      Chakram Govindarajan
      Blog Post Author

      Hi Theresa,

      Thanks for your valuable feedback. I would also like to know if your priority would be to support the extension fields for the Work Packages and Work Items or would it be to support the fields from the /SALM/REQUIREMENT_IMPORT report.

      I will accordingly request the Product Management Team to consider this in the Development Backlog list.

      Thanks,

      Chakram Govindarajan

      Author's profile photo Theresa Prawdzik
      Theresa Prawdzik

      Thank you Chakram. Of course both would be nice but my highest priority is support for the fields  from the /SALM/REQUIREMENT_IMPORT report

      Author's profile photo Patrick Rehm
      Patrick Rehm

      Hi Chakram,

       

      thanks for the helpful Post.

      I have an issue and maybe you have a quick solution.

      The fields are correctly created under the Custom Fields. When I create a new Requirement I can use and fill these fields. They are also selectable in the Requirements search.

      After I have saved the Requirement the fields are dissapearing.

      Issue

      I

      Do you have a solution for that?

       

      Thanks!

       

      Br

      Patrick

      Author's profile photo Chakram Govindarajan
      Chakram Govindarajan
      Blog Post Author

      Hi Patrick,

      Have you added the Field Control Properties. Please check this section of the blog -

      "Generate the Field Control properties for the Extension Fields in the OData Structure". 

      If the field control properties are not generated, the fields would not appear in the Requirement Management App and Generic App. Kindly implement the Note to display the missing customer extension field panel in My Requirements App if you are in SP9 release.

      Thanks,

      Chakram Govindarajan

      Author's profile photo Patrick Rehm
      Patrick Rehm

      Hi Chakram,

      I had a deeper look to this section.

      Unfortunately the Transaction /SALM/CFLD_UXFC_GEN does not work. (Authorizations are fine)

      I get always this message: "Generation of Append Structure Failed"

       

      I checked also /SALM/CUSTOMER_H_ATTR AND /SALM/REQUIREMENT_SS. There is no new Append Structure with this name.

      In SALM/UX_CUSTFLD_CTRL_INCL is only one DUMMY entry:

       

      Do you have another tip for me?

       

      Thanks for your help.

       

      Br

      Patrick

       

       

       

      Author's profile photo Chakram Govindarajan
      Chakram Govindarajan
      Blog Post Author

      Hi Patrick,

      From the Blog

      Please check the below 2 steps from the blog

      • 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.

      Check if you have maintained the namespace correctly in the AXTSYS transaction.

      Following the above step, check the below

      • 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.

      If you do not find any append structure, we will have to debug further to check what could have possibly gone wrong. You might have to raise a customer incident in this case .

       

      Thanks,

      Chakram Govindarajan

       

      Author's profile photo Markus Gueniat
      Markus Gueniat

      Hi Chakram,

       

      thanks a lot for this valuable blog, we used it to create our Customerfileds back some time.

      now we have an issue that we can somehow not customize the editability of the customer fields in respect of the status of the Requirement.

      the system seems to handle default editability here for status E0001 and E0009 where the customer fileds are editable, while in all other status the fields remain not editable.

      we managed to customize the editability in CRM_UI for these fields, but this seems not to work in UI5. do you have any suggestions here? did we miss a step?

      kind regards

      Markus

      Author's profile photo Chakram Govindarajan
      Chakram Govindarajan
      Blog Post Author

      Hi Markus,

      Thanks for your valuable feedback. As per the design, the customer extension fields should only be editable when the Status of the Requirement is either in Draft ( E0001 ) or in To be Approved ( E0009 ) status. This would thereby, ensure the transaction is consistent and the fields are properly governed by the status of the transaction. We only support E0001 and E0009 status as governance of the extension fields takes higher priority over flexibility of editing the fields in all statuses. Hence, we will fix the issue from the Web UI where these extension fields are not editable for other statuses apart from E0001 and E0009.

      Do you have any Business Requirement to allow the Extension fields to be editable in other follow up processes as well. Please provide the use case details which will help us decide if this needs to be supported as well.

      Thanks,

      Chakram Govindarajan

      Author's profile photo Markus Gueniat
      Markus Gueniat

      Hi Chakram

      Thanks again for your inputs towards our issue.

      As the "Customer-Fields" are very valuable to us, and we define the purpose in the process for us, we should also have control over the editability in the process of requirment management.

      We would very much appreciate to be able to customize the "editable" flag from customer side in relation to the status of S1BR.

      Also in the Standard S1BR Attributes, some remain editable also in status appart from E0001 and E0009. The requirement seems not to be very odd.

      I will come back to you on the question if we would need Z-Fields also in folloup processes WP WI and probably even DC.

      Kind regards
      Markus

       

      Author's profile photo Kenneth Staub
      Kenneth Staub

      I can fully back Markus's point of view!

      In our use case we too would also need to be able to maintain the fields across all status (except for Realised, Completed, Rejected, and Canceled). We'd appreciate it, if this could at least become  a customisable option.

      Best regards,

      Kenneth