zoukankan      html  css  js  c++  java
  • BADIs 查找

    • BADIs对象的信息存储在SXS_INTER, SXC_EXIT, SXC_CLASS 和SXC_ATTR 这四个表中。
    • SAP程序都会调用cl_exithandler=>get_instance来判断对象是否存在,并返回实例;其实get_instance就是对上述几个表和他们的视图(V_EXT_IMP 和 V_EXT_ACT)进行查询和搜索。
    • 基于这个机理,我查用ST05来监控一个TCODE来跟踪,然后选择查找有关上述几个表和视图的操作,就可获得相关BADI。
    • SE18 查找接口,SE19 实现接口就可以实现用户增强。

    方法一:

    • 通过SE24,输入CL_EXITHANDLER
    • 然后双击方法GET_INSTANCE中设置断点
    • 然后运行事务代码判断 exit_name的值

    方法二:

    • 通过ST05跟踪,BADI对应的数据表为 SXS_INTER, SXC_EXIT, SXC_CLASS 和 SXC_ATTR,而这些表都是通过视图V_EXT_IMP 和 V_EXT_ACT来查询的。
    • 打开运行事务码: ST05 选择“table buffer trace”而不是常用的"SQL trace"
    • activate trace(开始跟踪)
    • 运行事务码,例如:me21n
    • 创建一个采购订单,保存
    • deactivate trace(结束跟踪)
    • 点击display trace,在出来的选择条件中: objects中输入:V_EXT_IMP和V_EXT_ACT;在 operations中输入“OPEN”
    • 查询
    • 通过查询的结果可以看出,视图V_EXT_IMP的BADI的接口类名字都是以IF_EX_开头的,其中IF_EX_之后的就是对应BADI接口的定义。
  • 相关阅读:
    sql server 数据类型转换
    sql server replace 的使用方法
    sql sever 触发器的概念和使用
    转,sql 50道练习题
    sql server 计算属性,计算字段的用法与解析
    sql server 的模糊查询的用法
    sql server 游标的基本用法
    sql server if exists用法
    sql server in和exists 的区别
    Sql日期时间格式转换大全
  • 原文地址:https://www.cnblogs.com/SolisOculus/p/2965461.html
Copyright © 2011-2022 走看看