zoukankan      html  css  js  c++  java
  • 查找SAP标准程序用户出口及BADI的方法

    查找SAP标准事务代码中使用的BADI

    在SE24中,查看类对象CL_EXITHANDLER,在其方法(Methods)GET_INSTANCE 的第14行打断点,之后运行事务代码;

    当有BADI将会被执行的时候,这时候会进入类CL_EXITHANDLER的GET_INSTANCE方法,按F6执行这个方法之后,参数EXIT_NAME中的值便是BADI定义(SE18中看到的东西),参数CLASS_NAME则是类对象名称(SE24里面看到的东西),所有的方法实现都是存在于类对象中;

    通过查找类方法中的参数(Parameter)和对对象的属性(Attribute),如果能满足自己需要实现的功能,则可以通过实现这个BADI来做增强。

    实现BADI的方法(ECC6.0版本下):

    进入SE19,选择Create Implementation中的Classic BADi,输入刚才查找到的EXIT_NAME;

    点击Create Impl,输入实现名;

    点绿勾;

    点击保存,激活(如果是ECC6.0版本,则还需要指定对应的Enhancement Spot,才可以完全创建成功。但是这里有个疑问:我第一次创建BADI实现需要指定Enhancement Spot,这次创建保存激活时直接创建成功,并没有提示我需要指定Enhancement Spot,不知道为什么!);

    双击进入方法CHANGE_SEGMENT_PSEGMENT,即可在里面实现功能;

    下面再运行F-02,执行程序,即可进入此段代码。

    查找SAP标准事务代码中使用的USER_EXIT

    在SE37中,查看函数MODX_FUNCTION_ACTIVE_CHECK ,在最后一行打断点;

       当有USER_EXIT将会被执行的时候,这时候函数MODX_FUNCTION_ACTIVE_CHECK中的参数L_FUNCNAME 会显示出口的名称。

    如果要使用这个出口,必须先激活(已经激活的则不需要);

    先去表MODSAP中查找这个程序名的出口名;

    进入CMOD,创建出口对象(以下图例使用的是一个已经存在的增强对象);

    选择Enhacement assignments;

    在这里输入增强对象名,也就是刚才在MODSAP表里面查到的F180A001,点击组件;

    选择修改,激活这些增强,双击进入EXIT_SAPLF048_001 程序;

    创建INCLUDE ZXF48U01;

    运行F-02,便会进入此出口程序。

  • 相关阅读:
    C# 枚举转列表
    Idea 快捷键大全【转】
    Bootstrap列表与代码样式(附源码)--Bootstrap
    JQuery实现点击按钮切换图片(附源码)--JQuery基础
    Bootstrap文本排版基础--Bootsrap
    使用定时器限制点击按钮发送短信(附源码)--JavaScript小案例
    分类导航菜单的制作(附源码)--HTML
    MyEclipse开发平台下如何将新建的JSP页面的默认编码格式设置为UTF-8--JSP
    网页加载进度的实现--JavaScript基础
    动态地添加HTML控件-JavaScript基础
  • 原文地址:https://www.cnblogs.com/goodsmith/p/3723807.html
Copyright © 2011-2022 走看看