SAP ABAP 屏幕增强
更新时间:2023-10-13 21:11:01 阅读量: 综合文库 文档下载
- sap是什么意思呀推荐度:
- 相关推荐
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’,用程序也可.) 关于增强中的user exit,在实战篇中会有更多详细的例子. 找屏幕增强有很多方法,读者可从SE16:TSDIR中找寻,或者CMOD菜但
utilities(M)->SAP Enhancements搜寻出所有的exit name,然后在搜寻结构中再输入’screen’ 关键字(通常在short text描述)一般能找到一些SAP预留的屏幕增强. 下面以建立PO举个实例介绍什么是屏幕增强. 如图2-11-2,很简单,SE38输入SAPMM06E.
SAPMM06E可看成专为PO增强的一个module pool,可以增强的subscreen no一般还有0101,0111,0201,0211,0301,0311(增强的子屏作用读者可从描述中就知).
SAPLXM06实际上包含四个include,INCLUDE LXM06TOP(Global Data在此为增强定义global data), INCLUDE LXM06UXX.(Function Modules实际上包含所有可用的user exit),INCLUDE LXM06F00. (SAP-Formpool for Customer-Use可在此建立Form pool),INCLUDE ZXM06ZZZ. (Subprograms and Modules,在此建立增强子屏) 在include程序ZXM06ZZZ中加入如下代码.
*&---------------------------------------------------------- *& Include ZXM06ZZZ *
*&---------------------------------------------------------- module modpohead.
call screen 0101. \增强子屏 endmodule. module modpoitem.
call screen 0111. \增强子屏 endmodule.
注意上面的screen 0101和0111在attribute screen type必须选subscreen.再ME22N(ME23N)进去后能发现在PO header和line item都多出了一customer data tab页,不妨这样设想,假设用户希望在操作PO时写些额外的东西进自定义的表格,而且这些数据通过一般的user exit还做不到,因为这些字段在PO相关数据表中不存在,必须有用户在屏幕上输入(否则没必要使用增强屏幕直接使用合适的user exit将数据写到自定义表就可),就得使用增强屏幕. 屏幕上文本框和table control都可用,想输入怎样的额外数据到自定义表都行.
如图2-11-3,读者可看到header和item都多出一Customer data的增强屏幕.
1.有时实际需求会需要更改屏幕上某些字段的显示,比如用户希望物料主数据basic data 2视图other data 下的Prod./Insp. Memo(子段显示)保存其它信息,同时为了避免不必要的误会需要更改此字段显示,严格地讲,这并非屏幕增强.这是屏幕”强改”(强行更改).
2.所谓屏幕增强就是多出个子屏幕来,在此你可显示一些数据或插入一些数据(到自定义表格中),global data(可理解为定义的全局变量内表什么的)对ME21N是SAPLMEGUI(main程序)-> SAPLMEGUI(Global data include),就是PO的增强屏幕不能使用SAPLMEGUI中定义的东西.
3.一个SOFT(软件)的可扩充性写到这份上还没有什么bug,除了佩服还是佩服.
1.有时实际需求会需要更改屏幕上某些字段的显示,比如用户希望物料主数据basic data 2视图other data 下的Prod./Insp. Memo(子段显示)保存其它信息,同时为了避免不必要的误会需要更改此字段显示,严格地讲,这并非屏幕增强.这是屏幕”强改”(强行更改).
2.所谓屏幕增强就是多出个子屏幕来,在此你可显示一些数据或插入一些数据(到自定义表格中),global data(可理解为定义的全局变量内表什么的)对ME21N是SAPLMEGUI(main程序)-> SAPLMEGUI(Global data include),就是PO的增强屏幕不能使用SAPLMEGUI中定义的东西.
3.一个SOFT(软件)的可扩充性写到这份上还没有什么bug,除了佩服还是佩服.
正在阅读:
SAP ABAP 屏幕增强10-13
八年级下册文言文对比阅读复习(带答案)03-08
一种Ku波段宽带微带天线的设计03-28
百荣世贸商城保洁开荒工作方案 - 图文11-16
气候的类型及成因12-23
网站广告投放合同-中英文版05-24
《清稗类钞》着述类 性理类 经术类05-19
- 六年级数学下册《小升初模拟卷》(附答案)
- 高电压技术复习要点—大学
- 坚持以人为本 促进和谐发展
- 建筑施工企业安管人员安全生产管理知识培训考试题
- 2016二级建造师继续教育建筑工程题库及答案
- 初三 unit3 family life 语法总结
- 中国建筑工程装饰评选办法
- 江津区2011年上半年公招公务员(参照公务员法管理人员)第一批
- 高等光学
- 周三多《管理学》教案
- 弹塑性力学理论及其在工程上的应用
- 鄂教版三年级下语文课内阅读总复习
- 最新学校国有资产清查工作报告范文
- Metasploit渗透测试指南读书笔记第五章 - 图文
- 实验4 组合逻辑电路设计(编码器和译码器)
- 北京辖区拟上市公司辅导备案工作告知书
- 苏科版八年级上册物理 4.4照相机与眼睛 视力的矫正 同步测试题
- 公共政策学考试主观题答案
- 金蝶KIS测试题
- 《操作系统》期中试卷(1)