zoukankan      html  css  js  c++  java
  • 生产订单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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    UVa 1605
    UVa 120
    UVa 10384
    UVa 11694
    UVa 11846
    常用小函数
    【DP】:CF #319 (Div. 2) B. Modulo Sum
    类的无参方法
    类和对象
    七言
  • 原文地址:https://www.cnblogs.com/rainysblog/p/10932463.html
Copyright © 2011-2022 走看看