customer is using XIF module to create an object with user status. Customer has defined the user status profile, created user status and assigned it to the object type in SPRO customizing in CRM. The issue here is that while creation of an object through XIF interface, ‘user status’ is not being supported.
While creation of an object through XIF a check is performed in FM COM_PRD_STATUS_CHECK which again calls FORM CHECK_STATUS_SETTINGS which in turn will call PERFORM GET_ALLOWED_STATUS which retrieves only the system status. Hence the user status is in turn mapped to system status instead of persisting the status as an ‘user status’. Please find the detailed call stack:
FORM CHECK_STATUS_SETTINGS SAPLCOM_PRODUCT_STATUS LCOM_PRODUCT_STATUSF04 FUNCTION COM_PRD_STATUS_CHECK SAPLCOM_PRODUCT_STATUS LCOM_PRODUCT_STATUSU03 FUNCTION COM_PR_SET_CHECK_ALL SAPLCOM_PRODUCT_SET LCOM_PRODUCT_SETU02 FORM CHECK SAPLCOM_PRODUCT_MAINTAIN_API LCOM_PRODUCT_MAINTAIN_APIF07 FORM MAINTAIN_PRODUCT SAPLCOM_PRODUCT_MAINTAIN_API LCOM_PRODUCT_MAINTAIN_APIF02 FUNCTION COM_PRODUCT_MAINTAIN_MULT_API SAPLCOM_PRODUCT_MAINTAIN_API LCOM_PRODUCT_MAINTAIN_APIU01 FUNCTION COM_PRODUCT_INDOBJ_BDOC_PROC SAPLCRM_PRODUCT_INDOBJ_INBOUND LCRM_PRODUCT_INDOBJ_INBOUNDU03 FUNCTION CRM_PRODUCT_INDOBJ_VALIDATE SAPLCRM_PRODUCT_INDOBJ_INBOUND LCRM_PRODUCT_INDOBJ_INBOUNDU01
The user status is not supported in AP layer and hence this functionality cannot be provided from their side. But customer is insisting the functionality of ‘user status through XIF interface’ to be developed as a standard functionality. 要获取更多Jerry的原创文章，请关注公众号"汪子熙":