技术开发 频道

用户出口-GUI接口增强-屏幕增强

【IT168 技术文章】

    11.编写用户增强

    用户增强通常包括下面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就会调用此函数.

    如图2-11-1是运行MIGO时的一个截图,表示相关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’,用程序也可.)

0
相关文章