SAP系統常見訂單狀態如下:
· CRTD (創建):標識生產訂單剛剛創建,此時禁止做後續發料和報工確認等操作;
· PREL (部分下達):當生產訂單部分下達時,如僅下達部分工序時出現此狀態;
· REL (已下達):當生產任務已經明確可下發生產時,將生產訂單轉換爲已下達狀態,這個狀態後可以繼續後續業務操作,如打印訂單、發料、報完工等操作;
· MANC (未檢查物料可用性):生產訂單未進行零部件物料的可用性檢查;
· SETC (結算規則維護):生產訂單已維護結算規則;
· MSPT (物料短缺):生產訂單的零部件物料在進行可用性檢查後發現存在短缺;
· MACM (已承諾的物料):生產訂單的零部件物料在進行可用性檢查後確認完全可用;
· GMPS (已過帳的貨物移動):生產訂單已經進行過發料;
· PCNF (部分確認):生產訂單隻進行了部分完工確認,如訂單10個,只生產5個,或者有2道工序,只完成了第一道工序;
· CNF (已確認) :生產訂單已全部完工確認;
· PDLV (部分交貨):生產訂單隻有部分產品入庫;
· DLV (交貨) :生產訂單已經完全交貨入庫,這意味着生產訂單業務全部完成。CO看到DLV狀態或TECO狀態時將對訂單進行完工結算。
· VCAL (差異計算) :生產訂單進行過差異運算;
· TECO (技術完成) :在生產過程中,會出現訂單未完成但是不再繼續生產的情況,這時就可以打上技術完結標識,此時訂單對零部件的需求同時刪除。在很多項目中,爲了簡便處理,會對所有完成的訂單進行技術完結處理(注:不再繼續生產也是一種完成)。CO看到DLV狀態或TECO狀態時將對訂單進行完工結算;
· RESA (進行結果分析):生產訂單進行過結算;
· CLSD (關閉):生產訂單做賬務關閉,不允許對訂單發生任何過賬,通常情況下,財務月末對訂單進行結算後,如果確認不會再有追加發料等業務發生,則應該將訂單進行關閉;
· DLID (刪除) :對生產訂單做刪除標識,數據仍然存在數據庫中,狀態可恢復。如果想徹底刪除,需對訂單進行歸檔處理。
通過函數STATUS_CHECK,檢查一個生產訂單是否有某個狀態
表:JEST,字段OBJNR爲OR+訂單號,STAT即爲訂單狀態。但是STAT的都是I打頭的狀態
生產訂單系統狀態保存在表TJ02/TJ02T中:
STATUS_CHECK的輸入參數objnr可以從aufk-objnr中取得,也可以自己組串格式爲OR+訂單號。
代碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
REPORT ztest_checkppstatus.
DATA:l_objnr TYPE jest-objnr. PARAMETERS:p_aufnr TYPE aufk-aufnr.
SELECT SINGLE objnr FROM aufk INTO l_objnr WHERE aufnr = p_aufnr. CALL FUNCTION 'STATUS_CHECK' EXPORTING * BYPASS_BUFFER = ' ' client = sy-mandt objnr = l_objnr status = 'I0045' EXCEPTIONS object_not_found = 1 status_not_active = 2 OTHERS = 3. IF sy-subrc EQ 0. WRITE: p_aufnr , 'YES, this pp order has I0045 status'. ELSE. WRITE:p_aufnr , 'NO, this pp order dose not has I0045 status'. ENDIF. |