理论教育 如何创建字段增强并激活?

如何创建字段增强并激活?

时间:2023-06-12 理论教育 版权反馈
【摘要】:Input是将屏幕字段的值传入出口程序,而Output则是传出。步骤二:执行程序RSMODPRF,不输入任何参数,进入字段增强的主界面,如图4-7所示。图4-6图4-7步骤三:按照以下路径创建新的字段增强,如图4-8所示。图4-15步骤四:激活新建的字段增强。图4-16图4-17注:上述字段增强是对所有程序的增强,只要程序用到数据元素XUBNAME,那么都会触发。

如何创建字段增强并激活?

字段增强技术基于数据元素(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所示。

978-7-111-50126-8-Chapter04-11.jpg

图4-6

978-7-111-50126-8-Chapter04-12.jpg

图4-7

步骤三:按照以下路径创建新的字段增强,如图4-8所示。

978-7-111-50126-8-Chapter04-13.jpg

图4-8

输入要增强的数据元素XUBNAME,如图4-9所示。

978-7-111-50126-8-Chapter04-14.jpg

图4-9

系统会自动创建一个以FIELD_EXIT_开头的函数,用以做相应的增强,如图4-10所示。

978-7-111-50126-8-Chapter04-15.jpg

图4-10

单击978-7-111-50126-8-Chapter04-16.jpg按钮,如图4-11所示。

978-7-111-50126-8-Chapter04-17.jpg

图4-11

输入函数组及描述,单击978-7-111-50126-8-Chapter04-18.jpg按钮。

978-7-111-50126-8-Chapter04-19.jpg

单击标准工具栏上的“保存”按钮978-7-111-50126-8-Chapter04-20.jpg,如图4-12所示。

978-7-111-50126-8-Chapter04-21.jpg

图4-12

单击标准工具栏上的“检查”按钮978-7-111-50126-8-Chapter04-22.jpg,如图4-13所示。(www.daowen.com)

978-7-111-50126-8-Chapter04-23.jpg

图4-13

单击标准工具栏上的“检查”按钮978-7-111-50126-8-Chapter04-24.jpg,如图4-14所示。

978-7-111-50126-8-Chapter04-25.jpg

图4-14

单击标准工具栏上的检查按钮978-7-111-50126-8-Chapter04-26.jpg退回至管理画面,如图4-15所示。

978-7-111-50126-8-Chapter04-27.jpg

图4-15

步骤四:激活新建的字段增强。

选中新建的字段增强,按照以下路径激活,如图4-16所示,效果如图4-17所示。

978-7-111-50126-8-Chapter04-28.jpg

图4-16

978-7-111-50126-8-Chapter04-29.jpg

图4-17

注:上述字段增强是对所有程序的增强,只要程序用到数据元素XUBNAME,那么都会触发。在这里单击978-7-111-50126-8-Chapter04-30.jpg按钮,可以将增强绑定到某个程序,如图4-18所示。

978-7-111-50126-8-Chapter04-31.jpg

图4-18

步骤五:测试新建的字段增强,如图4-19所示。

978-7-111-50126-8-Chapter04-32.jpg

图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做得更细,那就要给它分配程序及其对应的屏幕号。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈