zoukankan      html  css  js  c++  java
  • SAP用户出口(exit)问题数据源增强

    SAP用户出口(exit)问题

    数据源增强


    sap的用户出口总共有三代:
    第一代
    sap提供一个空代码的子过程,在这个子过程中用户可以添加自己的代码,控制自己的需求。这类增强都需要修改sap的标准代码。
    示例:USEREXIT.. in SAPMV45A
    对于第一代增强,可以用以下方法查找增强:打开欲增强的程序,点击工具栏上的“Display Object List”按钮,选择Subroutines,查找以“UserExit”开头的子程序,根据子程序前面的注释文档来查找用户出口

    第二代
    sap提供的是CUSTOMER-FUNCTION,它是通过SMOD和CMOD完成实现。
    对于第二代增强,可以用以下方法查找增强用户增强通常包括下面3类,顾名思义,就是增强SAP的可能没有提供的功能(通过后台配置也不能实现).
    1.E Enhancement exits :就是常说User_exit (用户出口)
    使用SE37搜索EXIT*的函数大都是做exit用的,通常里面预包含了一个Z开头
    的程序. SE16查询TFDIR(函数表)输入EXIT*也可.
    2.C GUI codes( GUI接口增强)
    3. S Subscreens (屏幕增强)
    Enhancement在表MODSAP可看到,而TFDIR字段 MAND(值为C表示此出口函数被激活).使用SMOD(CMOD)当然可激活exit function,有时候一时难以查询到相关Enhancement时可使用下面程序将出口函数激活.

    REPORT Zactexitfun .
    data ztfdir like tfdir .
    * select single * from tfdir into ztfdir
    * where FUNCNAME =
    * 'EXIT_SAPMM06E_013'.
    * ztfdir-MAND = 'C' .
    * update tfdir from ztfdir.
    * 将EXIT_SAPMM06E_013换成实际所需exit函数名
    update tfdir set MAND = 'C'.
    where FUNcname = 'EXIT_SAPMM06E_013'.

    ***当然也可SE16:MODSAP表enhancement输入EXIT_SAPMM06E_013然后得到enhancement name MM06E005后使用SMOD测试激活exit函数.
    增强相关函数和表格
    Function:
    [1].DYNP_VALUES_READ
    [2]. MODX_ALL_ACTIVE_MENUENTRIES(菜单增强)
    [3].MODX_FUNCTION_ACTIVE_CHECK(出口函数增强)
    由于读者可能接触user exit最多,除了附录光盘有个查找ZFINDEXIT的程序外(有些exit使用它并不能找到),另一个直接有效的方法就是使用这个函数,SE37设好断点后执行tcode如其有exit就会调用此函数.
    [4].MODX_MENUENTRY_ACTIVE_CHECK(菜单增强)
    [5].MODX_SUBSCREEN_ACTIVE_CHECK(屏幕增强)
    Table:
    [1]. TFDIR->function module table
    [2]. MODSAP->sap enhancement table
    [3]. TSDIR->Dynpro Areas CALL CUSTOMER SUBSCREEN(屏幕增强)
    [4]. CUATEXTS-> GUI Interface: Menu Texts Changed(GUI 菜单文本增强)

    ***注意,为了确保一个出口被真正应用,必须同时激活相关程序(SE38)和出口函数(SMOD|CMOD,反正就是要保证tfdir-mandt=’C’,用程序也可.)

    第三代
    sap提供的第三代的用户出口就是BADI,他的调用方式是CALL METHOD (instance),(相关的TCODE是SE18和SE19),可以通过EXIT_HANDLER这个单词查找BADI。

  • 相关阅读:
    HDFS面试准备
    大数据learn---准备复试
    spring和springMVC的整合
    jsp前端语言
    my_SpringMVC_learning
    代理类学习
    my-spring-learing(AOP)
    django安装配置及测试
    IOS学习之路五(代码实现UITableView)
    IOS7配置自动布局的约束
  • 原文地址:https://www.cnblogs.com/hanmos/p/2610543.html
Copyright © 2011-2022 走看看