SAPCRMOneorder裡userstatus和systemstatus的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中:
本文來自雲棲社群合作伙伴“汪子熙”,瞭解相關資訊可以關注微信公眾號”汪子熙”。
相關文章
- SAP CRM One order裡user status和system status的mapping邏輯APP
- BSP和JSP裡的UI元素ID生成邏輯JSUI
- SAP BSP和JSP頁面裡UI元素的ID生成邏輯JSUI
- SAP Fiori裡Contact Support的按鈕渲染邏輯
- CRM WebClient UI和Hybris裡工作中心跳轉的url生成邏輯WebclientUI
- javascript邏輯運算子“||”和“&&”JavaScript
- 業務邏輯漏洞和cs
- 漏洞小總結:瀏覽器裡那些奇怪的邏輯瀏覽器
- SAP CRM 裡 Attachment 搜尋的實現邏輯介紹
- 物理standby和邏輯standby的區別
- 物聯網學習教程——邏輯運算子和邏輯表示式
- !和~的區別(邏輯取反和按位取反)
- 型別系統和邏輯型別
- Oracle物理讀和邏輯讀Oracle
- 關於 SAP Spartacus scss 處理邏輯裡的變數 $useLatestStylesCSS變數
- CRM product UI裡assignment block的顯示隱藏邏輯UIBloC
- 形式邏輯(普通邏輯)7:推理概述
- 理解Nginx中Server和Location的匹配邏輯NginxServer
- 短影片的底層邏輯和認知
- linux系統掛載邏輯卷和擴充套件邏輯卷組Linux套件
- 邏輯架構和物理架構架構
- Oracle裡邏輯備份、物理備份、Rman備份的區別Oracle
- 請教在ssh種哪裡實現邏輯程式碼
- 邏輯 rac standby和物理 rac standby的switchover 和 failoverAI
- 邏輯分析
- 邏輯題
- Flutter 的渲染邏輯及和 Native 通訊Flutter
- Java鎖的邏輯(結合物件頭和ObjectMonitor)Java物件Object
- Linux下的磁碟分割槽和邏輯卷Linux
- 檔案系統和邏輯卷的關係
- 大量邏輯讀的瓶頸分析和優化優化
- 社交網路的邏輯、產品和未來
- Oracle上的邏輯壞塊和物理壞塊Oracle
- 網際網路 | 邏輯上的黑話才是真正的花裡胡哨
- 在 CloudIDE 裡實現天貓精靈自定義技能的業務邏輯CloudIDE
- java和C++邏輯註釋文件JavaC++
- 有關oracle邏輯讀和物理讀Oracle
- 幾道經典邏輯推理題,提高你的邏輯思考能力