SAP CRM One order里user status和system status的mapping逻辑

简介:

Below example show: How the mapping relationship between User status and System status maintained in One Order.

APP: My Opportunity
Transaction type: OPSM

First,I create an new Opportunity in WebClientUI, I set the status with E0001( User status).

新建一个Opportunity,将其status 设置成E0001( User status):

After I saved the Opportunity, in the DB, I can find both user status E0001 - Open and system status I1002 there.

保存之后,在数据库里针对该Opportunity不仅仅存储了用户手动选择的user status E0001 - Open,还保存了如下的system status I1002:

Second,How the mapping relationship between User status and System status maintained in One Order?
这个user status到system status的mapping 逻辑:
Step1. Under transaction type OPSM, we can find status profile.

找到transaction type OPSM 对应的status profile:

Step2. In the status profile, we can find the business transaction OPEN of user status.
找到该 user status对应的business transaction OPEN:

Step3.Based on the business transaction OPEN, we will select system status from TJ06
where VRGNG = business transaction OPEN
and INACT not equal X

系统从step2里取得business transaction之后,根据VRGNG = transaction的逻辑到TJ06里去查找所有结果INACT不为X的entry,结果即为该user status对应的所有system status

Then,The configure point for table TJ06: tcode BS32
TJ06 表里的entry通过tcode BS32维护:

Finally,You can find below 3 steps in below function module.
上述三步系统的执行逻辑可以通过debug如下的function module来学习:

再看另一个例子:
创建Task的时候,可以选择的status是根据Task的status profile来的,最终会看到在Table TJ30中会有各种user status对应task这个transaction,其中就包括released:

但是在WEB UI新建task的drop down list里面却没有这个user status:

这是因为在Web UI上,虽然drop down list里面的status是从TJ30来的,但是这期间还有对新建transaction的status check。在Table TJ07或者Tcode BS22中,有对user status和system status之间的mapping:

其中I1030是system status,它对应的releases这个user status 的配置是forbidden,意思是当transaction上有error的时候,改变transaction的状态到released是被禁止的。所以在Web UI上新建一个task的时候,因为还有很多字段没有维护,所以transaction的system status是contains error - I1030的状态,Page上的每次change操作都会触发状态检查,一旦有I1030这个状态,对应的released user status就会从drop down list中拿掉。

如果维护了所有必填字段确保transaction没有error,released status就会出现在drop down list中:

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

相关文章
|
6月前
|
存储 数据处理 数据库
关于 SAP CRM User Status 处理的示例 ABAP 代码
关于 SAP CRM User Status 处理的示例 ABAP 代码
25 0
|
存储
SAP CRM One order里user status和system status的mapping逻辑
SAP CRM One order里user status和system status的mapping逻辑
110 0
|
存储
One order里user status和system status的mapping逻辑
One order里user status和system status的mapping逻辑
One order里user status和system status的mapping逻辑
Service group - get entity set
Created by Wang, Jerry on Jan 12, 2015
74 0
Service group - get entity set
如何处理SAP gateway service使用过程中遇到的400 error - invalid key predicate type for guid
如何处理SAP gateway service使用过程中遇到的400 error - invalid key predicate type for guid
225 0
如何处理SAP gateway service使用过程中遇到的400 error - invalid key predicate type for guid
SAP Repository Information System查找Message ID的一个小技巧
SAP Repository Information System查找Message ID的一个小技巧
271 0
SAP Repository Information System查找Message ID的一个小技巧
SAP CRM里的user parameter之COM_IOITF_DEBUG
SAP CRM里的user parameter之COM_IOITF_DEBUG
106 0
SAP CRM里的user parameter之COM_IOITF_DEBUG
|
容器
Service order description modify and save
Service order description modify and save
101 0
Service order description modify and save