CRM and CX Blogs by SAP
Stay up-to-date on the latest developments and product news about intelligent customer experience and CRM technologies through blog posts from SAP experts.
cancel
Showing results for 
Search instead for 
Did you mean: 
JerryWang
Advisor
Advisor

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:


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:


9 Comments
dhruv_mehta
Active Contributor
This is way ahead in time!  u r exceptional!
0 Kudos
Good to know SAP CRM with S/4HANA development.

Thanks,

Syam

 
sascha148
Explorer
0 Kudos

Hello Jerry,

nice blog, thanks for that. However I don’t get why the field is seemingly stored in CRMS4D_SERV_H and CRMD_CUSTOMER_H at the same time. Why is the new field stored in SERV_H anyway? “SERV_H” is used just for certain BUS-Types, not for all (e.g. Social Services doesn’t use that table). In CRM “CUSTOMER_H” was the way to go in order to add custom fields at header level. You are using the “BTCustomerH” BOL-Entity, therefore I assume the CRMD_CUSTOMER_H is still used in S4CRM, am I right? I am a little bit confused.

Kind Regards

tschnur_nagarro
Explorer
0 Kudos
Hi Jerry,

Thanks! This is great for simple field extensions. However, AET was actually a more powerful tool though since it was capable of tabular extensions as well. Do you know if there is something similar in S4CRM? I think this is easy to achieve from a UI perspective but fully integrating a tabluar extension on API level (e.g. one order) might be hard without any modifcations and is definitly not recommendable.

Regards

Tobias

 
miscusi83
Explorer
0 Kudos
Hi Jerry,

really nice and helpful blog. Thanks a lot!

One question: do you know of any guideline to add table extensions to one order?

Best regards,

Mireille
0 Kudos
Good explanation
vysakhsiv
Explorer
0 Kudos
Hi Jerry,

Thank you for this amazing blog. Great information.

Regards,

Vysakh

 
Sean_House
Explorer
0 Kudos
Hoping for a quick hint.  We have followed the BLOG and successfully added some custom fields to the Opportunity Header but in the transaction they are display only and we cannot maintain.  Thoughts on why?  Fields were created via CFL, and as you can see in the attached image, appended to CUSTOMERH and defined as input fields and not "checked" as Display only.

 

Indra22
Discoverer
0 Kudos
Hi jerry.wang,

Thank you for the detailed Blog. This helps a lot.

I tried to create a DATE & TIME field in CM using KUT. Kind of a timestamp field and was able to add it to the screen as well. But it looks odd and does not look like a date-time field. Is there any way we can make the field appear like a proper date-time field? Something similar to the Date-Time field in SAP C4C.

Thank you for your help in advance.