题目这个增强的输入参数很恐怖,长长的一串:

 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参数分析的更多相关文章

  1. S/4HANA生产订单的标准状态和透明工厂原型状态的映射

    事务码CO03查看生产订单的状态: 从下面的界面能看出S/4HANA里生产订单在任意时刻可能存在多个状态: 生产订单的ID和状态ID的关系是1:N,维护在数据库表VSAUFK里: 如何把上述SAP系统 ...

  2. SAP S/4HANA生产订单的BAdI增强点之Initialize方法

    在S/4HANA里创建生产订单时,有一个增强点WORKORDER_UPDATE: 这个CAUFVDB里存放的是生产订单抬头级别的数据: 我们来观察下运行时这个结构里存放的数据. 请大家用我github ...

  3. SAP S/4HANA生产订单创建时使用的工厂数据是从什么地方带出来的

    大家如果使用我github上的这段代码创建S/4HANA的生产订单时,一定会发现,我在代码里并没有硬编码来指定生产订单的ID,然而运行时会发现我在系统里配置的这个2800被自动使用了,这是怎么做到的呢 ...

  4. 用ABAP代码读取S/4HANA生产订单工序明细

    在S/4HANA事务码CO03显示的Production Order里,我希望用ABAP代码显示出该订单的operation(工序)ID,描述和状态Status,如下图所示: 很简单的几行ABAP代码 ...

  5. PP生产订单的BADI增强 WORKORDER_UPDATE

    METHOD if_ex_workorder_update~before_update. *---------------------->增强1 开始* "当生产订单类型为PP01时, ...

  6. 为什么S/4HANA的销售订单创建会触发生产订单的创建

    调用S/4HANA销售订单创建函数SD_SALES_DOCU_MAINTAIN创建一个销售订单时,会触发生产订单的创建. 销售订单的每个行项目对应一个独立的生产订单,SD_SALES_DOCU_MAI ...

  7. 为什么S/4HANA的生产订单创建后会自动release

    在S/4HANA系统里我们观察到通过函数CO_61_ORDER_EDIT创建的生产订单会自动释放Release: 通过第86行的IF语句的条件检测不难找到原因. 变量PROFILE_TMP的类型为TC ...

  8. SAP S/4HANA使用ABAP获得生产订单的状态

    在S/4HANA里,我们如何根据一个销售订单的行项目,查看对应的生产订单状态? 双击行项目: 点击Schedule line: 这里就能看到生产订单的ID和状态了. 其中订单的状态存储在表vsaufk ...

  9. 增强篇4 CO01生产订单屏幕增强

    Step1. 结构 CO_AUFK 里增加自定义字段:ZZZ_TRIAL 然后激活结构 查看AUFK是激活状态, 字段增强完成: Step2. CMOD  使用客户增强:PPCO0012    生产订 ...

随机推荐

  1. Angular 4+ 修仙之路

    Angular 4.x 快速入门 Angular 4 快速入门 涉及 Angular 简介.环境搭建.插件表达式.自定义组件.表单模块.Http 模块等 Angular 4 基础教程 涉及 Angul ...

  2. Chrome , Firfox 不支持fireEvent的方法

    转自:http://bossdai.iteye.com/blog/2111458 Chrome , Firfox 不支持fireEvent的方法 可以使用dispatchEvent的方法替代, 直接给 ...

  3. 一:Bootstrap-css样式

    页面大块布局: div.container 栅格系统: 一行分成 12 列 div.row div.col-md-12 div.col-xs-12 <div class="row&qu ...

  4. 撩课-Java每天5道面试题第10天

    撩课Java+系统架构 视频 点击开始学习 81.Servlet的会话机制? HTTP 是一种无状态协议, 这意味着每次客户端检索网页时, 都要单独打开一个服务器连接, 因此服务器不会记录下 先前客户 ...

  5. 解决docker启动错误 error creating overlay mount to /var/lib/docker/overlay2

    原文 最近在centos7.1使用docker运行redis镜像,出现下面的错误: /usr/bin/docker-current: Error response from daemon: error ...

  6. ‘Starting Tomcat v9.0 Server at localhost’ has encountered a problem.

    上述错误是在将Web应用部署到Tomcat,最后一步 右键单击选择Start的时候报错,原因是我在启动Tomcat之前,就已经运行了Tomcat,导致端口被占用.将之前的Tomcat关闭重新启动就可以 ...

  7. Exception in thread "main" java.nio.channels.NotYetConnectedException

    import java.nio.channels.AsynchronousServerSocketChannel; import java.nio.channels.AsynchronousSocke ...

  8. Spring入门(四)— 整合Struts和Hibernate

    一.Spring整合Struts 1. 初步整合 只要在项目里面体现spring和 strut即可,不做任何的优化. struts 环境搭建 创建action public class UserAct ...

  9. Github+hexo+next搭建教程

    今天参考的是大神的教程,学了一个新东西,但是可能由于原教程中运用的npm包与我当前使用的npm包版本不同的原因,有出过多处运行错误,但都在此教程中解决了; 总结了下命令: npm install he ...

  10. js-js的不重载

    * 什么是重载?方法名相同,参数列表不同 - Java里面有重载 * js里面不存在重载! <html> <head> <title>World</title ...