SAP采购订单增强
通过调试MODX_FUNCTION_ACTIVE_CHECK系统函数(设置断点),运行ME23N,找到名为EXIT_SAPMM06E_006的出口函数,再根据这个出口函数到MODSAP表中找到对应的出口对象(增强点)MM06E005,再通过SMOD查看这个出口对象(增强点):
运行MODX_FUNCTION_ACTIVE_CHECK——断点调试
运行ME23N
运行MODSAP
运行SMOD
MM06E005包含功能出口、屏幕出口、表出口三种增强
在上面MM06E005增强的SMOD界面上双击表出口“CI_EKKODB”,可以对EKKO表结构进行扩充
在上面MM06E005增强的SMOD界面上双击出口函数“EXIT_SAPMM06E_006”,则会打开函数编辑器SE37,再点击工具栏中的“Display Object List”按钮,则切换到SE80编辑器模式中显示,这样就可以找到出口函数所在的函数组为XM06,主程序为SAPLXM06:
Goto——Maters Program
转到主程序。
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,在此创建增强子屏幕)
定义全局变量
屏幕字段名的前缀必须要设置为系统预先定义好的全局 EKKO_CI 内表类型名,这样屏幕字段的就可以自动与该内表结构进行交互,EKKO_CI即为系统预先就定义好的增强屏幕所需的结构类型:
当向结构预留结构CI_EKKODB中扩展字段时,EKKO_CI也会自动的得到扩展,还有EKKO表结构也会被扩充
子屏幕
在MM06E005增强点的SMOD界面上双击出口函数“SAPMM06E 0101 CUSTSCR1 SAPLXM06 0101”屏幕出口行,则会新创建屏幕0101(屏幕属性需设置为子屏幕):
屏幕与业务表数据间传递
最终将内表的数据读入到子屏幕绑定的内表中去。
将子屏幕绑定的数据放入到最终的内表中去
最终效果。
MM06E005增强出口中各个出口函数功能说明:
006:Export Data to Customer Subscreen for Purchasing Document Header (PBO) Header,显示子屏幕前调用,即在子屏幕的PBO事件块执行前就会先调用此函数,在该函数中可以:将数据表中扩展字段所存业务数据导出到采购凭证头中的客户增强子屏幕中
007:Export Data to Customer Subscreen for Purchasing Document Header (PAI) Header,输入后校验在该函数中:可以对输入的数据进行检验
008:Import Data from Customer Subscreen for Purchasing Document Header Header,将通过验证后的最终屏幕数据转存到业务数据内表中,将作为最终业务数据插入到数据库中
012:Check Customer-Specific Data Before Saving 按保存按钮后执行,保存前调用
016: Export Data to Customer Subscreen for Purchasing Document Item (PBO) Item,与006相同
017:Export Data to Customer Subscreen for Purchasing Document Item (PAI) Item,与007相同
018:Import Data from Customer Subscreen for Purchasing Document Item Item,与008相同
文章来自于网络,如果侵犯了您的权益,请联系站长删除!