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的原创文章,请关注公众号"汪子熙":

S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析的更多相关文章
- S/4HANA生产订单的标准状态和透明工厂原型状态的映射
事务码CO03查看生产订单的状态: 从下面的界面能看出S/4HANA里生产订单在任意时刻可能存在多个状态: 生产订单的ID和状态ID的关系是1:N,维护在数据库表VSAUFK里: 如何把上述SAP系统 ...
- SAP S/4HANA生产订单的BAdI增强点之Initialize方法
在S/4HANA里创建生产订单时,有一个增强点WORKORDER_UPDATE: 这个CAUFVDB里存放的是生产订单抬头级别的数据: 我们来观察下运行时这个结构里存放的数据. 请大家用我github ...
- SAP S/4HANA生产订单创建时使用的工厂数据是从什么地方带出来的
大家如果使用我github上的这段代码创建S/4HANA的生产订单时,一定会发现,我在代码里并没有硬编码来指定生产订单的ID,然而运行时会发现我在系统里配置的这个2800被自动使用了,这是怎么做到的呢 ...
- 用ABAP代码读取S/4HANA生产订单工序明细
在S/4HANA事务码CO03显示的Production Order里,我希望用ABAP代码显示出该订单的operation(工序)ID,描述和状态Status,如下图所示: 很简单的几行ABAP代码 ...
- PP生产订单的BADI增强 WORKORDER_UPDATE
METHOD if_ex_workorder_update~before_update. *---------------------->增强1 开始* "当生产订单类型为PP01时, ...
- 为什么S/4HANA的销售订单创建会触发生产订单的创建
调用S/4HANA销售订单创建函数SD_SALES_DOCU_MAINTAIN创建一个销售订单时,会触发生产订单的创建. 销售订单的每个行项目对应一个独立的生产订单,SD_SALES_DOCU_MAI ...
- 为什么S/4HANA的生产订单创建后会自动release
在S/4HANA系统里我们观察到通过函数CO_61_ORDER_EDIT创建的生产订单会自动释放Release: 通过第86行的IF语句的条件检测不难找到原因. 变量PROFILE_TMP的类型为TC ...
- SAP S/4HANA使用ABAP获得生产订单的状态
在S/4HANA里,我们如何根据一个销售订单的行项目,查看对应的生产订单状态? 双击行项目: 点击Schedule line: 这里就能看到生产订单的ID和状态了. 其中订单的状态存储在表vsaufk ...
- 增强篇4 CO01生产订单屏幕增强
Step1. 结构 CO_AUFK 里增加自定义字段:ZZZ_TRIAL 然后激活结构 查看AUFK是激活状态, 字段增强完成: Step2. CMOD 使用客户增强:PPCO0012 生产订 ...
随机推荐
- LightOJ 1214 Large Division
Large Division Given two integers, a and b, you should check whether a is divisible by b or not. We ...
- module使用和设置
Modules environmentDescription This is a system that allows you to easily change between different v ...
- 3行代码,为QQ轻游戏加上语音互动能力
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯游戏云 发表于云+社区专栏 游戏和社交往往有着密不可分的关系,QQ轻游戏就是一款集成在手Q里面的游戏平台,直接通过手Q入口就能随开 ...
- Javad的Validator框架概述
Java EE 6 提出了 Bean Validation 规范,使用注解的方式对 Java Bean 进行约束验证,不局限于某一层次或者某一编程模型,灵活易用.下边将向您系统的介绍该规范的各种特性. ...
- webstorm中sass编译时目录或内容包含中文字符报错
ruby版本:ruby 2.3.1p112 (2016-04-26 revision 54768) [x64-mingw32] sass版本:Sass 3.4.22 (Selective Steve) ...
- [转]OData – the best way to REST–实例讲解ASP.NET WebAPI OData (V4) Service & Client
本文转自:http://www.cnblogs.com/bluedoctor/p/4384659.html 一.概念介绍 1.1,什么是OData? 还是看OData官网的简单说明: An open ...
- SQL SERVER学习1——数据库概念
<SQL Server实例教程>(科学出版社) 数据库的基本概念 数据是载荷信息的物理符号,是数据库中存储的基本对象. 信息可以通过手势,眼神表达,但是表达信息的最佳方式还是数据. 数据有 ...
- 【转】redis windows环境搭建
一.下载redis windows压缩包 地址参考: https://github.com/ServiceStack/redis-windows/tree/master/downloads https ...
- 撩课-Web大前端每天5道面试题-Day16
1.for循环中的作用域问题? 写出以下代码输出值,尝试用es5和es6的方式进行改进输出循环中的i值. ; i<=; i++) { setTimeout(function timer() { ...
- 撩课-Python-每天5道面试题-第3天
一. 代码实现: 计算1到100之间, 所有的奇数之和 result = , ): result += i print(result) 二. 代码实现: 接收用户输入数字, 求出从0至这个数字的累加和 ...