生产订单BADI实例
转自:https://blog.csdn.net/wbin9752/article/details/7951390
以生产订单收货为例:
1、BADI的查找方法:
SE38在程序中搜索关键字CL_EXITHANDLER
或SE24(CL_EXITHANDLER)在方法GET_INSTANCE中打断点,然后运行相应事物码扑捉BADI
然后运行MB31事务码
假若找到可以使用的BADI为MB_DOCUMENT_BADI。
2、BADI应用
可以使用SE18查看该BADI,可以看到改BADI对应的接口,接口中定义的方法及参数传递。
然后SE19 Implementation该BADI
点击“创建”
点击“保存”
然后就可以在此添加代码了。
注:接口编码BADI加前缀IF_CL_,客户类编码ZCL_IM_
3、BADI原理
调用BADI时,MB31对应程序中有如下代码
打断点分析函数GET_IINSTANCE返回值mb_document_badi
返回值为 {O:79*\CLASS=CL_EX_MB_DOCUMENT_BADI},在执行函数mb_document_before_update过程,会执行
跟踪会发现,系统一直调用类CL_EX_MB_DOCUMENT_BADI做中间处理,在最后一步才调用ZCL_IM_MBPOST执行自定义程序。
---------------------
作者:wbin9752
来源:CSDN
原文:https://blog.csdn.net/wbin9752/article/details/7951390
版权声明:本文为博主原创文章,转载请附上博文链接!
生产订单BADI实例的更多相关文章
- PP生产订单的BADI增强 WORKORDER_UPDATE
METHOD if_ex_workorder_update~before_update. *---------------------->增强1 开始* "当生产订单类型为PP01时, ...
- SAP S/4HANA生产订单的BAdI增强点之Initialize方法
在S/4HANA里创建生产订单时,有一个增强点WORKORDER_UPDATE: 这个CAUFVDB里存放的是生产订单抬头级别的数据: 我们来观察下运行时这个结构里存放的数据. 请大家用我github ...
- S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析
题目这个增强的输入参数很恐怖,长长的一串: CALL BADI l_badi->BEFORE_UPDATE EXPORTING IT_PIINSTRUCTIONVALUE = IT_PIINST ...
- PP生产订单创建、下达、报工、收货、投料
转自http://blog.sina.com.cn/s/blog_69fb8eb60102vpjd.html SAP 物料订单创建.下达.报工.收货与投料(ABAP代码) (2015-06-03 22 ...
- ABAP 生产订单的创建与修改函数
ABAP 生产订单的创建与修改函数转自http://www.cnblogs.com/aBaoRong/archive/2012/04/11/2441946.html 如果生产订单过多,可以批量创建 ...
- 物料BOM和生产订单BOM的区别
物料BOM和生产订单BOM的区别[@more@] 一般企业生产部在SAP创建生产订单的时候,就会产生一个生产订单BOM,这里的生产订单BOM是读取的物料BOM. 由于其它原因,需要修改成品的某几个零部 ...
- 创建生产订单函数BAPI_PRODORD_CREATE
创建生产订单,创建订单长文本,订单下达 DATA:gs_bapi_pp_order_create TYPE bapi_pp_order_create. DATA:gt_bapi_order_key T ...
- SAP PP 生产订单变更记录保存
*&---------------------------------------------------------------------* *& 包括 ZXCO1U01 *&am ...
- SAP生产订单状态
SAP系统的常见订单状态如下: · CRTD (创建):标识生产订单刚刚创建,此时禁止做后续发料和报工确认等操作: · PREL (部分下达):当生产订单部分下达时,如仅下 ...
随机推荐
- 使用pyinstaller打包使用cx_Oracle模块的程序出现The specified module could not be found的问题
pyinstaller看起来并不会将动态链接库自动打包,所以我们需要告诉pyinstaller要打包哪些动态链接库,步骤如下(假设python文件名为 oracletest.py): 1. 使用pyi ...
- mybatis-oracle 新增序列
1.参考 https://blog.csdn.net/qq_29001173/article/details/82106853 2.思考: 2.1获取序列下一个值:seq_car.nextval 2. ...
- idea 插件的使用
idea 插件的使用 进阶篇(个人收集使用中的) 恭喜你,如果你已经看到这篇文章,证明在idear使用上已经初有小成!那么就要向着大神进发了! 下边就是大神之路! 插件的设置 在 IntelliJ I ...
- Android特定语言 Xtendroid
Xtendroid是一款Android的领域特定语言,它大大降低样板代码,同时提供巨大的工具支持.Xtendroid利用Xtend transpiler实现,它的特点是能够在Java代码编辑或编译期间 ...
- nginx location if 的匹配规则
cation匹配命令 ~ #波浪线表示执行一个正则匹配,区分大小写~* #表示执行一个正则匹配,不区分大小写^~ #^~表示普通字符匹配,不是正则匹配.如果该选项匹配,只匹配该选 ...
- Educational Codeforces Round 74 (Rated for Div. 2) A. Prime Subtraction
链接: https://codeforces.com/contest/1238/problem/A 题意: You are given two integers x and y (it is guar ...
- javaMail 详解
原文:http://www.matrix.org.cn/resource/article/44/44101_JavaMail.html 一.JavaMail API简介JavaMail API是读取. ...
- MySQL Group Replication-MGR集群简介
简介 MySQL Group Replication(简称MGR)字面意思是mysql组复制的意思,但其实他是一个高可用的集群架构,暂时只支持mysql5.7和mysql8.0版本. 是MySQL官方 ...
- linux系统编程--线程同步
同步概念 所谓同步,即同时起步,协调一致.不同的对象,对“同步”的理解方式略有不同. 如,设备同步,是指在两个设备之间规定一个共同的时间参考: 数据库同步,是指让两个或多个数据库内容保持一致,或者按需 ...
- 关于slf4j log4j log4j2的jar包配合使用的那些事
由于java日志框架众多(common-logging,log4j,slf4j,logback等),引入jar包的时候,就要为其添加对应的日志实现.. 不同的jar包,可能用了不同的日志框架,那引用了 ...