题目这个增强的输入参数很恐怖,长长的一串:
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 的原创文章,请关注公众号 ” 汪子熙 ”: