字段增强技术基于数据元素(Data Element),如果屏幕的输入框参考了该数据元素,定义激活字段增强(Field Exit)后,程序响应一块函数代码,可以触发该字段增强逻辑。
技术上来讲有点像Customer Exits,两者都是通过Function来实现出口的,但是其原理和用途又有很大不同,而且Field Exits SAP在4.6之后就不再支持了。因此如果要在后续版本中使用,需要增加系统参数abap/fieldexit=YES,然后重新启动SAP。
■可以在SE38里运行程序RSMODPRF来寻找已经存在的Field Exits,同时也可以进入Field Exits的管理界面。
■可以在CMOD界面中输入事务PRFB,也可以进入Field Exits的管理界面。新建一个Field Exits时,只要有相应的Data Element在数据库中存在,就能建立出针对这个Data Element的Field Exits。同时会生成一个FIELD_EXIT_开头的Function,用以做相应的增强。里面有两个参数,Input和Output,这两个参数是固定的,不能修改。Input是将屏幕字段的值传入出口程序,而Output则是传出。
例如,对用户进行维护(SU01),只允许SAP*和DDIC实现用户的维护,其他用户没有权限进行维护。
步骤一:找出用户这个输入字段的数据元素,如图4-6所示。
步骤二:执行程序RSMODPRF,不输入任何参数,进入字段增强的主界面,如图4-7所示。
图4-6
图4-7
步骤三:按照以下路径创建新的字段增强,如图4-8所示。
图4-8
输入要增强的数据元素XUBNAME,如图4-9所示。
图4-9
系统会自动创建一个以FIELD_EXIT_开头的函数,用以做相应的增强,如图4-10所示。
图4-10
单击按钮,如图4-11所示。
图4-11
输入函数组及描述,单击按钮。
单击标准工具栏上的“保存”按钮,如图4-12所示。
图4-12
单击标准工具栏上的“检查”按钮,如图4-13所示。(www.daowen.com)
图4-13
单击标准工具栏上的“检查”按钮,如图4-14所示。
图4-14
单击标准工具栏上的检查按钮退回至管理画面,如图4-15所示。
图4-15
步骤四:激活新建的字段增强。
选中新建的字段增强,按照以下路径激活,如图4-16所示,效果如图4-17所示。
图4-16
图4-17
注:上述字段增强是对所有程序的增强,只要程序用到数据元素XUBNAME,那么都会触发。在这里单击按钮,可以将增强绑定到某个程序,如图4-18所示。
图4-18
步骤五:测试新建的字段增强,如图4-19所示。
图4-19
此类出口程序中,以下ABAP语句是受限制的:
■CALL SCREEN、CALL DIALOG、CALL TRANSACTION、SUBMIT。
■COMMIT WORK、ROLLBACK WORK。
■COMMUNICATION RECEIVE。
■EXIT FROM STEP-LOOP。
■MESSAGE I、MESSAGE W。
■STOP、REJECT。
所以也给出口的功能带来了限制。同时,调试在Field Exit会被忽略,这对纠错来说也是一个不利因素,只能做单元测试,而不能做集成测试。要将Field Exits做得更细,那就要给它分配程序及其对应的屏幕号。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。