查找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. python基础(三元运算+深浅拷贝+函数参数)

    三元运算 三元运算,又称三目运算,主要作用是减少代码量,是对简单的条件语句的缩写. 书写格式: result = 值1 if 条件 else 值2 即如果条件成立,则将值1赋给result变量,如果不 ...

  2. 2015弱校联盟(1) - E. Rectangle

    E. Rectangle Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java class name ...

  3. mfc显示静态图片最简单的方法

    一致都是研究如何调用opencv显示动态图片,但是很多时候在显示图标的时候,都是需要显示静态图片,现在将最简单的方法总结下: 1.添加picture控件 2.添加资源,要求为bmp 3.修改属性 结果 ...

  4. 控制边框颜色:《CSS3 Border-color》

    CSS3中有关于Border的属性一共有三个:圆角border-radius,图片边框border-images,边框多颜色border-color,其中圆角border-radius是常用的一个属性 ...

  5. CentOS 7下关于systemd的一些唠叨话一:systemd的特点和使用

    摘要 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经逐渐淡出历史舞台,新的 UpStart 和 systemd 各有特点,越来越多的 Linux 发行版 ...

  6. VS2012解决方案的设置

    用VS开发项目时,一个解决方案可以包含多个项目,在此我记录一下: 1.首先我新建一个Win32Demo的解决方案: 2.勾选"空项目": 3.新建完之后,会默认生成一个Win32D ...

  7. [转](一)unity4.6Ugui中文教程文档-------概要

    转载请注明出处:http://blog.csdn.net/u010019717更全的内容请看我的游戏蛮牛地址:http://www.unitymanual.com/forum.php?mod=guid ...

  8. JS城市data

    CityData = { "中国": { "北京": ["东城区", "西城区", "崇文区", & ...

  9. Java vs. C#

    Java Program Structure C# package hello; public class HelloWorld {    public static void main(String ...

  10. day5 -指针

    指针和指针变量 指针就是地址,地址就是指针 地址就是存放单元的编号 指针变量是存放地址的变量 指针和指针变量是两个不同的概念,但是要注意,通常我们叙述时会把指针变量简称为指针,实际他们含义并不一样 指 ...