首页 > Linux操作系统 > Linux操作系统 > 向其他屏幕栏位传递参数
在项目中有时会用到A程序调用B程序,且需要A向B传递一定的参数输入到B程序的屏幕上,(B程序是用户自定义程序或者SAP标准程序)。
这样参数传递的方法,我用过的有三种:
1.BDC方式
批量导入数据的时候,经常使用这种方式,这种方式多是后台运行,一般不前台操作,因为这种录屏方式,是记录的操作的屏幕和鼠标点击序列,前台操作不当的话,程序就跑不动了。
不是批量导入的时候也可以。如果传的参数只是放到第一个屏幕上,也可以使用bdc方式,有的时候也特别好用,但是有的屏幕,BDC录屏的操作界面和正常操作的不太一样,这会让用户感觉不爽。
CALL TRANSACTION 'IE01'
USING BDCDATA MODE CTUMODE
2.submit方式
使用submit也可以向一个程序的屏幕栏位上传递参数,但它只能向report或program 传递参数,如果碰上MODULPOOL之类的,submit就搞不定了。
SUBMIT RQMELL30 WITH SELECTION-TABLE SELTAB
WITH DY_OFN EQ 'X'
WITH DY_IAR EQ 'X'
VIA SELECTION-SCREEN
AND RETURN.
RQMELL30是程序名,SELTAB是字段列表
3.set parameter ID方式
这是最好用的一种方式。如调用标准程序IE01,向设备栏位上传递设备号时,可以通过F1,tech info 查看此栏位的parameter ID,如下图
然后通过以下代码,就能将参数传递到相应栏位上。这是标准程序,如果是自己写的程序,可以通过SET PARAMETER ID和GET PARAMETER ID来做,PARAMETER ID自己定义。
SET PARAMETER ID 'EQN' FIELD EQUCODE.
CALL TRANSACTION 'IE01' .
call 标准事务码时, 有的屏幕的栏位只有SET PARAMETER ID,没有GET的设置,如IE01的这个屏幕,见下图
这样,就惨了,通过以上两句话,是没有办法将参数传递到对应栏位的,不过可以修改标准程序,把GET的那个勾打上,就OK了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23495244/viewspace-694455/ ,如需转载,请注明出处,否则将追究法律责任。