zoukankan      html  css  js  c++  java
  • 关于EXIT和BADI增强的查找

    EXIT出口的查找:

    方法一:

    第一步:通过SE30,输入TCODE(例如ME21N),执行EXCUTE,前台创建一张采购订单。点击TIMES页签,查找EXIT开头的SAP程序。


     第二步:这些function就是tcode提供的一个出口,可以通过SE11查询MODSAP表,查看该出口属于哪一个SMOD。


     

    方法二:

    第一步:通过SE37中的:MODX_FUNCTION_ACTIVE_CHECK 函数来找。

    在函数的最后一行打个断点,再运行TCODE(例如ME21N),如果有增强则会跳入DEBUG界面,在DEBUG界面中,查看L_FUNCNAME字段对应的值,此值就是就是要找的出口,


      第二步:这些function就是tcode提供的一个出口,可以通过SE11查询MODSAP表,查看该出口属于哪一个SMOD。

    第三步:找到合适的出口,通过TCODE-CMOD创建项目,将SMOD分配增强里,根据业务需求进行开发即可。

    如果碰到增强已经属于其他项目,则可以其他项目里进行开发。


    BADI的查找:

    第一步:执行TCODE-SE24,查看类对象CL_EXITHANDLER,。

    在其方法:GET_INSTANCE的14行( CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE)打上一个断点。

    第二步:接下来运行事务代码例如(ME21N),当有BADI是将会被执行,这时在DEBUG模式下,

    会进入类CL_EXITHANDLER 的GET_INSTANCE 方法,按F6执行这个方法之后,点参数EXIT_NAME查看其对应的值,所有的方法实现都在此类对象中,此时就是我们所要找的BADI。


    第三步:进入SE19,选择Create Implementation中的Classic BADI


    利用开发类找增强。

    第一步:以ME21N事务代码为例,进入TCODE后,选择点系统 ->状态 ->双击事务代码->程序名称,

    双击后进入到程序中,再点菜单栏中的 转到 ->属性,找到开发类的名称,比如ME21N的开发类是‘ME’。

     

     第二步:

    如果是找出口,则到SMOD事务代码中,点 加强边的按纽,在开发类中输入‘ME’,回车后就会显示出所有的出口。
    找BADI也是同样的过程,只是到SE18中去确定BADI。
    不过此方法找出来的出口,不是针对某个程序的出口,而是把开发类所对应的出口全找出口,所以还要通过自己的判断找到所需求的出口

    
    
    
     
     
  • 相关阅读:
    Java实现One-way traffic(单向交通)
    Java实现One-way traffic(单向交通)
    Java实现One-way traffic(单向交通)
    Java实现One-way traffic(单向交通)
    C#调用Delphi Dll返回字符串的示例(使用Move才能拷贝字符串)
    Delphi实现菜单项上出现提示
    WebBrowser中获得脚本中的变量值
    比较两个文件是否相同(比较两个流是否相等)
    WebBrowser执行脚本和调用外部方法
    c#之函数创建和闭包
  • 原文地址:https://www.cnblogs.com/aiden-yang/p/11805619.html
Copyright © 2011-2022 走看看