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.
Showing results for 
Search instead for 
Did you mean: 
There is no big change on One Order Status component in S/4HANA for Customer Management.

There are some dedicated flag modeled in flat table each of which represents a given system status.

If the order has a given system status, the corresponding flag will be set as X.

For example, my service order 8000000424 has flag STAT_ERROR and STAT_OPEN as X, which means it has system status I1030 and does not have I1005.

The logic to set these series of flags could be found from method IF_CRMS4_BTX_DATA_MODEL~CONVERT_1O_TO_S4 of class CL_CRMS4_STATUS_CONV.

The introduction of these flags in flat table is to avoid the unnecessary join on CRM_JEST in analytics scenario. The original status storage via CRM_JEST still remains in S/4HANA for Customer Management.

In the above mentioned example, two flags STAT_OPEN and STAT_ERROR are marked as X, which has corresponding storage in CRM_JEST as below:

CRM_STATUS_READ still works as before:

or you can also call function module CRM_ORDER_READ to read those status as before:

How to create user status in S/4HANA for Customer Management

1. Create a new extension field to store the order lifecycle status value. The extension field must have type as Text with length 1. This step is optional - when end users specify a user status from drop down list, the mapped lifecycle status will be stored into this extension field.

Create a user status profile:

assign user status records to this created profile ZCS00002:

2. Tcode SM34, open view CRMS4VC_STAT_LC, create some lifecycle status value in order to map the user status created in previous step. I use value from F to J as preceding values are occupied by my colleagues in my test system.

And map the user status to these created lifecycle status.

The below customizing could be explained from technical point of view as below:

If user chooses user status E0002 from WebUI, the STAT_LIFECYCLE in CRMS4D_SERV_H will be set as F, E0003 as G, E0004 as H and so on.

And the last two entries maintain the relationship between extension field and user status: if user status is E0003, then G will be filled into the specified extension field.