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.
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
- One Order Partner Component model in S/4HANA for Customer Management
- Step by step to create custom partner function in S4HANA for Customer Management
- One Order Status Component in S4HANA for Customer Management
- How to create employee in S/4HANA for Customer Management