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中:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2286047/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SAP CRM Product Sales status在中介軟體中的處理邏輯
- SAPCRMOneorder裡userstatus和systemstatus的mapping邏輯APP
- SAP CRM 裡 Attachment 搜尋的實現邏輯介紹
- SAP CRM One Order的事件序號產生器制事件
- SAP CRM One Order跟蹤和日誌工具CRMD_TRACE_SET
- SAP Commerce(原Hybris)的訂單處理框架和SAP CRM One Order框架框架
- 我在德國做SAP CRM One Order redesign工作的心得
- SAP CRM Product category的決定邏輯Go
- 兩種使用程式碼獲得SAP CRM product sales status的辦法
- AVADA提示red system status的解決方法
- 如何使用程式碼修改SAP CRM One Order CUMULAT_H物件的值物件
- SAP CRM中介軟體Request download的警告資訊:message Object is in status WaitObjectAI
- SAP CRM WebClient UI Text 可編輯與否的控制邏輯WebclientUI
- SAP CRM WebClient UI html 格式的 Text 顯示邏輯WebclientUIHTML
- SAP CRM One Order header資料庫表幾個和時間戳相關的欄位Header資料庫時間戳
- Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERRORAIDNNError
- SAP CRM WebClient UI Text Type 顯示的過濾邏輯WebclientUI
- SAP BSP和JSP頁面裡UI元素的ID生成邏輯JSUI
- SAP CRM中介軟體Material Sales Organization和distribution channel的對映邏輯
- ORA-27300: OS system dependent operation:fork failed with statusAI
- CRM WebClient UI和Hybris裡工作中心跳轉的url生成邏輯WebclientUI
- git status 命令Git
- SAP Fiori裡Contact Support的按鈕渲染邏輯
- SAP CRM產品主資料ID的生成邏輯介紹
- SAP CRM Settype COM_TA_R3_ID的對映邏輯
- SAP CRM user引數CRM_UI_PROFILE是在哪行ABAP程式碼裡讀取的UI
- 理解 oracle 的 “lsnrctl status”Oracle
- CRM product UI裡assignment block的顯示隱藏邏輯UIBloC
- ORA-27300: OS system dependent operation:fork failed with status: 12AI
- ORA-27300: OS system dependent operation:fork failed with status: 11AI
- Check database status in RACDatabase
- STATUS OF ORACLE INSTANCEOracle
- MySQL的show engine innodb statusMySql
- XMLHttpRequest物件的status屬性XMLHTTP物件
- iOS Status Bar 的隱藏iOS
- status 與 state 的區別
- 理解 oracle 的 “lsnrctl status”(ZT)Oracle
- ORA-27300: OS system dependent operation:semget failed with status: 28 - 2AI