PP生產訂單狀態+函數STATUS_CHECK

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.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章