2024年5月10日发(作者:)

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

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(CMO

D)当然可激活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 MM06

E005后使用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(屏幕增强)