I meet an interesting issue recently.
There is the request to change system status to I1005 in some special logic. FM CRM_ORDER_MAINTAIN is used to change the system status. But it does not work. After long time debugging, I found that system checks the user status profile to see whether the system status I1005 could be set or not.
My user status profile is configured as:
|Status||Business Transaction Triggerred|
User status Z003 is mapped to business transaction FINI, thus system does not allow changing the system status to I1005 with CRM_ORDER_MAINTAIN. There are also logs found in the system status analysis:
System status ‘Completed’ (short ‘CMPD’, technical short form: ‘I1005’) is inactive
Status ‘Completed’ cannot be set
Transaction ‘FINI’ to change status ‘Completed’ used in status profile
The solution is simple, in the ‘Transaction Control’ of user status Z003, add the entry:
The issue was solved. I think the check makes sence. Both system status and user status can infunce the business transactions. If the user status does not allow the setting, there might be inconsistancy caused.
A couple of days later, I realized there is another way to solve the issue: making above setting in my user status profile, then use FM CRM_ORDER_MAINTAIN to change the user status to Z003, system will set system status I1005 automatically.
The system is clever, isn’t it?
More information can be found in Status Management in Business Transactions http://help.sap.com/saphelp_crm700_ehp01/helpdata/en/48/db7fe063f45c97e10000000a42189d/frameset.htm