zoukankan      html  css  js  c++  java
  • 增强小记

    2009-02-09 16:56

    SAP用户增强总结(2)

    SAP用户增强总结(2)2008年09月08日 星期一 17:00

    sap的用户出口总共有三代: 1、第一代
    sap提供一个空代码的子过程,在这个子过程中用户可以添加自己的代码,控制自己的需求。这类增强都需要修改sap的标准代码。
    示例:USEREXIT.. in SAPMV

    2、第二代 sap提供的是CUSTOMER-FUNCTION,它是通过SMOD和CMOD完成实现。

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

    对于第一代增强,可以用以下方法查找增强: 打开欲增强的程序,点击工具栏上的“Display Object List”按钮,选择Subroutines,查找以“UserExit”开头的子程序,根据子程序前面的注释文档来查找用户出口

    对于第二代增强,可以用以下方法查找增强

    用户增强通常包括下面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’,用程序也可.)
    the third generation enhancement will be discussed in the next post.

  • 相关阅读:
    JSP内置对象——application,page,pageContext,config,Exception
    点击按钮添加一组下拉框,然后改变下拉框的值触发事件
    vue基础学习(三)
    轻量级quill富文本编辑器
    jQuery 文档操作方法
    点击识别位置并在该位置下弹出选择框
    css样式清零及常用类
    vue基础学习(二)
    响应式web-媒体查询
    在cmd下编译一个简单的servlet时出现程序包javax.servlet不存在
  • 原文地址:https://www.cnblogs.com/huangjianisgood/p/2715605.html
Copyright © 2011-2022 走看看