One order extensibility in S4HANA for Customer Management
- How to create extension field using S/4HANA extension tool
- How to put S/4HANA extension field to CRM WebClient UI
- How to read the extension field value via One Order API
In SAP CRM we use Application Enhancement Tool(AET) to create extension field in a very convenient way.
When I was working on SAP CRM, I have also made some research on AET. Here below are some of my blogs in SAP community:
- Insight into calculated fields created by AET
- How extension field created by AET is rendered in Web Client UI
- Define your extension field with custom behavior in AET
- Create extension field with type Code List via AET
- How to create new table as assignment block in service order overview page via AET
- Inside AET: why “create field” button is visible in some UI while invisible in others?
In S/4HANA for Customer Management(called S4CRM for short in the following part of this blog), AET should no longer be used, since S/4HANA has its own extensibility tool, which instead should be used to create extension fields on S4CRM model like Product and One Order.
We are aware of the fact that there are indeed some features supported by CRM AET which is not available in current S/4 Key User Extension tool(KUT).
For example, there are some field type provided by CRM AET but not possible in S/4 KUT:
However this small limitation could never become a real showstopper in business process, so currently we leave it in S/4HANA for Customer Management 1.0.
How to create extension field using S/4HANA extension tool
Click tile “Custom Fields and Logic”:
Create a new extension field:
Specify field detail. The field creation UI looks almost the same as the one in CRM AET:
Select the created extension field and press “Publish” button in footer toolbar, which works as the “Save and Generate” button in CRM AET. Once done, the status should become “Published”.
Check CRMS4D_SERV_H in backend to ensure that the extension field appears in persistence table successfully.
Why the extension field is visible in CRMS4D_SERV_H? Launch S/4HANA tcode SCFD_REGISTRY, and double click the Business Context CRMS4_SERV_H, which is actually the technical model for business context “Service Header” visible in S/4HANA extension field UI.
The persistence include CRMS4S_SERV_H_INCL_EEW_PS is defined in this business context, and is included by CRMS4D_SERV_H. As a result, whenever an extension field is created based on business context CRMS4_SERV_H, the extension field will be available in include structure CRMS4S_SERV_H_INCL_EEW_PS and then automatically available in CRMS4D_SERV_H.
How to put S/4HANA extension field to CRM WebClient UI
In S/4HANA for Customer Management, all custom fields added through S/4HANA Extensibility tool will only be available in Customer_H/Customer_I BOL Component or context nodes.
However if you open BT116H_SRVO/Details in SAP CRM, you find that by default context node CUSTOMERH is not exposed.
Please follow the blog Enhancing a UI Component in CRM Web UI to expose CUSTOMERH in CRM UI component workbench. Use tcode SM34 and maintain view Cluster BSPWDVC_CMP_EXT to define an enhancement set ZCRMS4.
Expose context node CUSTOMERH and store the enhancement to this enhancement set.
Now you can see the created extension field under context node CUSTOMERH.
Make it visible via UI configuration as usual in SAP CRM:
Now maintain some value in the extension field and save the change:
The value is successfully saved in CRMS4D_SERV_H:
With the same approach you can also create extension field on Product via S/4 extension tool and make it visible in Product search view and search result view in CRM WebUI:
How to read the extension field value via One Order API
Use CRM One Order API CRM_ORDER_READ:
DATA: lt_guid TYPE crmt_object_guid_tab, lt_customer_h TYPE crmt_customer_h_wrkt. APPEND 'E04F430697291EE7AEAA0367A1F2DB37' TO lt_guid. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = lt_guid IMPORTING et_customer_h = lt_customer_h.
The extension field value is stored in component CUSTOMER_H of One Order model:
Jerry’s other blogs on S/4HANA for Customer Management
- S/4HANA for Customer Management 1.0 introduction from technical point of view
- CRM One Order Model Redesign in S/4HANA for Customer Management 1.0 – Part 1
- CRM One Order Model Redesign in S/4HANA for Customer Management 1.0 – Part 2
- Create Mass Products by code in S/4HANA for Customer Management
- Create Mass Service document in S/4HANA for Customer Management
- One order extensibility in S4HANA for Customer Management