S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

i042416發表於2019-02-14

題目這個增強的輸入引數很恐怖,長長的一串:

 CALL BADI l_badi->BEFORE_UPDATE
     EXPORTING
       IT_PIINSTRUCTIONVALUE = IT_PIINSTRUCTIONVALUE
       IT_PIINSTRUCTION = IT_PIINSTRUCTION
       IT_PMPARTNER_OLD = IT_PMPARTNER_OLD
       IT_PMPARTNER = IT_PMPARTNER
       IT_PRT_ALLOCATION_OLD = IT_PRT_ALLOCATION_OLD
       IT_PRT_ALLOCATION = IT_PRT_ALLOCATION
       IT_DOCLINK_OLD = IT_DOCLINK_OLD
       IT_DOCLINK = IT_DOCLINK
       IT_OPR_RELATIONS_OLD = IT_OPR_RELATIONS_OLD
       IT_OPR_RELATIONS = IT_OPR_RELATIONS
       IT_STATUS_OLD = IT_STATUS_OLD
       IT_STATUS = IT_STATUS
       IT_PLANNED_ORDER = IT_PLANNED_ORDER
       IT_MILESTONE_OLD = IT_MILESTONE_OLD
       IT_MILESTONE = IT_MILESTONE
       IT_PSTEXT_OLD = IT_PSTEXT_OLD
       IT_PSTEXT = IT_PSTEXT
       IT_RELATIONSHIP_OLD = IT_RELATIONSHIP_OLD
       IT_RELATIONSHIP = IT_RELATIONSHIP
       IT_COMPONENT_OLD = IT_COMPONENT_OLD
       IT_COMPONENT = IT_COMPONENT
       IT_OPERATION_OLD_AFVU = IT_OPERATION_OLD_AFVU
       IT_OPERATION_OLD_AFVV = IT_OPERATION_OLD_AFVV
       IT_OPERATION_OLD_AFVC = IT_OPERATION_OLD_AFVC
       IT_OPERATION = IT_OPERATION
       IT_SEQUENCE_OLD = IT_SEQUENCE_OLD
       IT_SEQUENCE = IT_SEQUENCE
       IT_ITEM_OLD = IT_ITEM_OLD
       IT_ITEM = IT_ITEM
       IT_HEADER_OLD = IT_HEADER_OLD
       IT_HEADER = IT_HEADER.
S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

好在絕大部分內表都是空的。我們就一起來看看非空列表裡包含的資料。

S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

IT_STATUS

狀態遷移。STAT是SAP系統狀態ID,

S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

其描述資訊在表TJ02T裡能查到。比如I0001狀態的四位識別符號是CRTD,意思是已建立-Created

S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

INACT欄為X的狀態代表該Production Order當前已經從該狀態跳轉到了其他狀態。
上圖的意思是該Production Order已經從狀態I0001已建立,進入了狀態I0002- Released已釋放。

IT_COMPONENT

要理解Production Order component這個概念,我們先看一個已經建立好的生產訂單。

下圖component的意思是為了生產REDUCER_A這個成品,我們需要生產它的元件0010 COVER1, 0020 AXIS和0030 BASE。

S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

那麼REDUCER_A和其三個元件執行時的資訊,就維護在內表IT_COMPONENT裡。

S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

IT_OPERATION

同理,一個生產訂單可以包含若干生產工序,比如下圖的Manual processing, Maching,Assembly和Testing,對應的系統狀態都是REL - Released。

S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

這些工序資訊維護在內表IT_OPERATION裡

S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

IT_SEQUENCE

該生產訂單的前置文件資訊,即我們說的文件流 - document flow

S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

IT_ITEM

待生產的成品明細,比如物料主資料ID,待生產數量,單位等。

S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

IT_HEADER

很好理解,生產訂單抬頭資訊:

S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":


S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2633182/,如需轉載,請註明出處,否則將追究法律責任。

相關文章