在SAP中,某些業務對象會有狀態的屬性,用來控制和約束該業務當前的操作。
比如PM模塊的工單和PS模塊的項目定義,狀態這個屬性并不存放在各個業務的業務表中,而是由SAP統一管理。
【系統狀態】
以I開頭,主數據表是TJ02,描述表TJ02T
表TJ04可以據業務對象號(如WBS是PRN),可以查出所有相關的狀態
【用戶狀態】
以E開頭,每個用戶狀態都關聯一個用戶參數文件,相同的狀態編碼在不用的參數文件下意義不用,
主數據表為TJ30, 文本表是TJ30T
對于每筆業務,都有一個唯一的對象編號,字段名一般為OBJNR,存在在業務表中(AUFK, PROJ...)
JEST:存放了該對象編號的當前狀態
JCDS:存在對象狀態修改的歷史記錄
Function module: STATUS_READ 讀出某個業務對象的當前狀態(注意包括業務進行中BUFFER的狀態)
STATUS_UPDATE 修改狀態(批量新增或者修改狀態)
I_CHANGE_STATUS 狀態更新(取消一個當前狀態,激活一個新的狀態)
補充一點,還有一個取項目的狀態描述的FUNCTION是:STATUS_TEXT_EDIT在【ABAP】項目相關開發中的一些經驗總結里有詳細的用法介紹。