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).
新建一個(gè)Opportunity,將其status 設(shè)置成E0001( User status):
After I saved the Opportunity, in the DB, I can find both user status E0001 - Open and system status I1002 there.
保存之后,在數(shù)據(jù)庫(kù)里針對(duì)該Opportunity不僅僅存儲(chǔ)了用戶手動(dòng)選擇的user status E0001 - Open,還保存了如下的system status I1002:
Second,How the mapping relationship between User status and System status maintained in One Order?
這個(gè)user status到system status的mapping 邏輯:
Step1. Under transaction type OPSM, we can find status profile.
找到transaction type OPSM 對(duì)應(yīng)的status profile:
Step2. In the status profile, we can find the business transaction OPEN of user status.
找到該 user status對(duì)應(yīng)的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
系統(tǒng)從step2里取得business transaction之后,根據(jù)VRGNG = transaction的邏輯到TJ06里去查找所有結(jié)果INACT不為X的entry,結(jié)果即為該user status對(duì)應(yīng)的所有system status
Then,The configure point for table TJ06: tcode BS32
TJ06 表里的entry通過tcode BS32維護(hù):
Finally,You can find below 3 steps in below function module.
上述三步系統(tǒng)的執(zhí)行邏輯可以通過debug如下的function module來學(xué)習(xí):
再看另一個(gè)例子:
創(chuàng)建Task的時(shí)候,可以選擇的status是根據(jù)Task的status profile來的,最終會(huì)看到在Table TJ30中會(huì)有各種user status對(duì)應(yīng)task這個(gè)transaction,其中就包括released:
但是在WEB UI新建task的drop down list里面卻沒有這個(gè)user status:
這是因?yàn)樵赪eb UI上,雖然drop down list里面的status是從TJ30來的,但是這期間還有對(duì)新建transaction的status check。在Table TJ07或者Tcode BS22中,有對(duì)user status和system status之間的mapping:
其中I1030是system status,它對(duì)應(yīng)的releases這個(gè)user status 的配置是forbidden,意思是當(dāng)transaction上有error的時(shí)候,改變transaction的狀態(tài)到released是被禁止的。所以在Web UI上新建一個(gè)task的時(shí)候,因?yàn)檫€有很多字段沒有維護(hù),所以transaction的system status是contains error - I1030的狀態(tài),Page上的每次change操作都會(huì)觸發(fā)狀態(tài)檢查,一旦有I1030這個(gè)狀態(tài),對(duì)應(yīng)的released user status就會(huì)從drop down list中拿掉。
如果維護(hù)了所有必填字段確保transaction沒有error,released status就會(huì)出現(xiàn)在drop down list中:
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的SAP CRM One order里user status和system status的mapping逻辑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实现阶乘的方法
- 下一篇: 网页Cookie如何获取