查找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,便会进入此出口程序。

查找SAP标准程序用户出口及BADI的方法的更多相关文章

  1. 【ABAP系列】SAP ABAP模块-查找系统出口或BADI的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP模块-查找系统出 ...

  2. SAP-SD-ABAP-VMOD 查找和应用SD模块用户出口(user exit) 好方法 .

    针对 SD 模块,有一个专门管理 user-exit 的开发包  VMOD , 只要用tcode: se80 查看它, 会发现绝大部分的 SD 要相关的 user-exit 都能在这找到.

  3. sap 三代出口(BADI)的查找方法

    sap 三代出口(BADI)的查找方法 对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结下来无非就两种方法,在此把它记录下来,方便以后自己查阅了.(1)通过SE24,输入CL_EXITH ...

  4. SAP ABAP 查找用户出口

    1.查找事物代码程序名 2.查找用户出口 T-CODE:SE80 在子例程中查找以USEREXIT开头的子程序.

  5. SAP abap 需找出口(BADI)的几种方法

    需找BADI方法有很多,据公司的牛人说,他知道的就不止5种 现在给出一些比较简单的方法 首先,大家要知道,一个程序的出口不会太多,需找出口,很多的时候都是在尝试 第二,方法:首先会给出事务码,然后通过 ...

  6. 根据T-Code查看用户出口的代码

    在此非常非常感谢源作者,这段代码真的非常非常有用好用! REPORT  YLBTEST. TABLES :  tstc,     "SAP Transaction Codes(SAP 事务代 ...

  7. 有效地查找SAP增强点

    找SAP增强点一直都是SAP开发的重点难点,增强开发的代码一般不会很多,但是需要花费比较多的时间在查找增强点上 网上也流传了很多查找SAP增强的方法: 1.利用TCODE寻找增强 2.利用系统函数寻找 ...

  8. 查找oracle自己用户的表

    查找oracle自己用户的表 select table_name from user_tables;

  9. finger---用于查找并显示用户信息

    finger finger命令用于查找并显示用户信息.包括本地与远端主机的用户皆可,帐号名称没有大小写的差别.单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,包括帐号名称,真实姓名 ...

随机推荐

  1. 【转】Struts1.x系列教程(6):Bean标签库

    转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/0 ...

  2. asp.net 捕获throw

    <script type="text/javascript"> function pageLoad() { Sys.WebForms.PageRequestManage ...

  3. JAVA基础知识之NIO——Buffer.Channel,Charset,Channel文件锁

    NIO机制 NIO即NEW IO的意思,是JDK1.4提供的针对旧IO体系进行改进之后的IO,新增了许多新类,放在java.nio包下,并对java.io下许多类进行了修改,以便使用与nio. 在ja ...

  4. [问题2014S04] 解答

    [问题2014S04] 解答  由于 \(A\) 可对角化, 可设 \(\alpha_1,\alpha_2,\cdots,\alpha_n\in\mathbb{C}^n\) 是 \(A\) 的 \(n ...

  5. Core Data

    •   Core Data   是 iOS SDK   里的一个很强大的框架,允许程序员 以面向对象 的方式储存和管理数据 .使用 Core Data 框架,程序员可以很轻松有效 地通过面向对象的接口 ...

  6. jsp标签精华(持续更新中)

    <%@ taglib uri="/struts-tags" prefix="s" %> <%@ taglib uri="http:/ ...

  7. php : 单例设计演示

    单例 : 保证只有一个实例 <?php /* * 单例设计 */ // 单例: 只能"创造"出它的一个对象实例 class Single{ // 第一步: 私有化构造方法 p ...

  8. 《BI项目笔记》创建父子维度

    创建步骤: 而ParentOriginID其实就是对应的ParentOriginID,它的 Usage 必须是 Parent 才能表示这样的一个父子维度. 查看OriginID属性, Usage 是 ...

  9. [Mysql] mysql临时表corrupt

    问题描述 机房临时硬件问题, 机器掉电. 恢复后, 重启mysql进程, 结果出现core dump. 而且一直循环, 无法终止, 只能kill掉. backtrace如下. # service my ...

  10. (九)errno和perror、标准IO

    3.1.6.文件读写的一些细节3.1.6.1.errno和perror(1)errno就是error number,意思就是错误号码.linux系统中对各种常见错误做了个编号,当函数执行错误时,函数会 ...