欢迎来到天天文库
浏览记录
ID:13256334
大小:694.00 KB
页数:9页
时间:2018-07-21
《sap 屏幕增强的方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、屏幕增强的方法用户增强通常包括下面3类,顾名思义,就是增强SAP的可能没有提供的功能(通过后台配置也不能实现).1.EEnhancementexits:就是常说User_exit(用户出口),使用SE37搜索EXIT*的函数大都是做exit用的,通常里面预包含了一个Z开头的程序.SE16查询TFDIR(函数表)输入EXIT*也可.2.CGUIcodes(GUI接口增强)3.SSubscreens(屏幕增强)Enhancement在表MODSAP可看到,而TFDIR字段MAND(值为C表示此出口函数被激活).使用SMOD(CMOD)当然可激活exitfunction,有时候一
2、时难以查询到相关Enhancement时可使用下面程序将出口函数激活.下面我们主要讲一下屏幕增强。我们以采购订单明细的屏幕增强为例,效果如下图:通过增强,可以多出一个用户增强的选项卡,上面为要增强的字段。1.找增强。(这个就不详细介绍了--!!)A.屏幕增强是MM06E005B.cmod将增强添加到项目下。这是激活后的状态这里面有好多“功能退出”和“Screenexit”,对于他们具体都是什么作用,我们可以通过事务码SMOD来大体知道:相应的文本描述SE38输入SAPMM06ESAPLXM06screen0111就是将增强的子屏幕屏幕的描述从这里都可以找到SAPMM06E可
3、看成专为PO增强的一个modulepool,可以增强的subscreenno一般还有0101,0111,0201,0211,0301,0311(增强的子屏作用读者可从描述中就知).SAPLXM06实际上包含四个include,INCLUDELXM06TOP(GlobalData在此为增强定义globaldata),INCLUDELXM06UXX.(FunctionModules实际上包含所有可用的userexit),INCLUDELXM06F00.(SAP-FormpoolforCustomer-Use可在此建立Formpool),INCLUDEZXM06ZZZ.(Subp
4、rogramsandModules,在此建立增强子屏)1.新建屏幕从上图的屏幕解释中知道,要增强的屏幕就是0111(明细中的屏幕)双击0111的screenexit,提示新建一个屏幕:建屏幕我就不赘述了,这个比较简单,但是我要强调一点,屏幕中字段的名字要注意命名。这个CI_EKPODB是表EKPO的增强字段当然,在这样命名之前,要先把EKPO的增强字段做好。双击这个字段里面用到的数据元素、域都是自己建的,我就不详述了。这三个字段就是为了存储增强屏幕上的三个值。屏幕激活后,进入ME23N就可以看到新作的屏幕已经出来了。但是状态一直是可输入,点保存也不会更新到EKPO表。现在来
5、修改增强屏幕的状态。三个增强字段的组都设置成’MM1’’编辑屏幕0111*----------------------------------------------------------------------****INCLUDEZXM06O01.*----------------------------------------------------------------------**&---------------------------------------------------------------------**&ModuleCHECK_FIELD
6、OUTPUT*&---------------------------------------------------------------------**text*----------------------------------------------------------------------*MODULECHECK_FIELDOUTPUT.LOOPATSCREEN.IFSCREEN-GROUP1='MM1'.IFG_DISPLAY_ONLYS='A'.“双击这个值,建一个全局变量SCREEN-INPUT=0.ELSE.SCREEN-INPUT=1.ENDIF
7、.MODIFYSCREEN.ENDIF.ENDLOOP.ENDMODULE."CHECK_FIELDOUTPUT*----------------------------------------------------------------------****INCLUDEZXM06TOP.*----------------------------------------------------------------------*tables:CI_EKPODB.“这个声明是为了将值保存到CI_EKPODBDA
此文档下载收益归作者所有