crm|SAP CRM订单状态管理的一些重要的数据库表

I record down my self study notes here in order to be used in the future.
TJ01: Business Transactions definition
TJ02: System status definition. For some of entries in this table, the corresponding constants are defined in include CRM_STATUS_CON
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

TJ03: status object type definition. Storage table for tcode BS12, see screenshot below:
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

TJ04: define initial status for system object. For example, I1002 ( open ) is defined as initial status for status object COH ( CRM Order Header ). Due to this setting, every time you create an order, it always has open as initial status.
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

TJ05: Permitted transactions per object type
For example, status object COH has totally 369 permitted business transactions. The system status bound with a unpermitted business transaction will not appear in status drop down list in WebUI. See this blog How is status drop down list entry generated in Order detail page about detail filtering logic.
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

TJ06: System statuses set/deleted by process
For example, the following report checks whether a given user status is actually mapped to Completed system status I1005 or not.

REPORT order_is_status_completed. PARAMETERS: t_typeTYPE crmd_orderadm_h-process_type OBLIGATORY DEFAULT 'OPPT', i_status TYPE crm_j_status OBLIGATORY DEFAULT 'I1001'. DATA lt_sys_statTYPE TABLE OF tj06. DATA lv_status_profileTYPE j_stsma.SELECT SINGLE user_stat_proc FROM crmc_proc_type INTO lv_status_profile WHERE process_type = t_type. CALL FUNCTION 'CRM_WAP_GET_OPP_POSSIBLE_STAT' EXPORTING iv_stat= i_status iv_user_stat_proc = lv_status_profile TABLES et_06= lt_sys_stat. READ TABLElt_sys_stat WITH KEY istat = 'I1005' inact = abap_false TRANSPORTING NO FIELDS. "check system status is complete IF sy-subrc = 0. WRITE:/ 'This status is Completed Status'. ELSE. WRITE:/ 'This status is NOT Completed Status'. ENDIF.

Can you tell the answer that for status profile CRMOPPOR below, which user status is actually mapped to system status I1005?
The answer is COMP ( Completed – Jerry ), since it is assigned with business transaction CCOR,
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

And there is one entry for CCOR and I1005 in this TJ06 table.
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

TJ07: Influence of system status on transactions
For example, this entry below means it is not allowed to perform transaction ARCH ( Archive ) if order has status I1002 – Open.
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

This table is part of storage table for tcode BS22 – maintain system status
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

TJ21: Permitted object types for status profile
For example, status profile is only allowed for status object type COH.
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

TJ30: storage table for tcode BS02 – Maintain status profiles
Compare the content of this table with tcode BS02:
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

CRM_JSTO: assignment of object with its status object type
If you woud like to get a statistics for example which combination of status object and status profile has been used most of the time in your system, you can get the source code of report from my blog A real case to use REDUCE to finish a task in daily work.
For example, the screenshot belows show in my system there are totally 69436 objects which has used object type MPL and empty status profile for status management.
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

CRM_JEST: object guid and all of its status value
【crm|SAP CRM订单状态管理的一些重要的数据库表】要获取更多Jerry的原创文章,请关注公众号"汪子熙":
crm|SAP CRM订单状态管理的一些重要的数据库表
文章图片

    推荐阅读