S/4HANA生產訂單增強WORKORDER_UPDATE方法BEFORE_UPDATE引數分析
題目這個增強的輸入引數很恐怖,長長的一串:
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.
好在絕大部分內表都是空的。我們就一起來看看非空列表裡包含的資料。
IT_STATUS
狀態遷移。STAT是SAP系統狀態ID,
其描述資訊在表TJ02T裡能查到。比如I0001狀態的四位識別符號是CRTD,意思是已建立-Created
INACT欄為X的狀態代表該Production Order當前已經從該狀態跳轉到了其他狀態。
上圖的意思是該Production Order已經從狀態I0001已建立,進入了狀態I0002- Released已釋放。
IT_COMPONENT
要理解Production Order component這個概念,我們先看一個已經建立好的生產訂單。
下圖component的意思是為了生產REDUCER_A這個成品,我們需要生產它的元件0010 COVER1, 0020 AXIS和0030 BASE。
那麼REDUCER_A和其三個元件執行時的資訊,就維護在內表IT_COMPONENT裡。
IT_OPERATION
同理,一個生產訂單可以包含若干生產工序,比如下圖的Manual processing, Maching,Assembly和Testing,對應的系統狀態都是REL - Released。
這些工序資訊維護在內表IT_OPERATION裡
IT_SEQUENCE
該生產訂單的前置文件資訊,即我們說的文件流 - document flow
IT_ITEM
待生產的成品明細,比如物料主資料ID,待生產數量,單位等。
IT_HEADER
很好理解,生產訂單抬頭資訊:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":