FORM frm_user_command USING i_ucomm TYPE sy-ucomm
i_wa_selfield TYPE slis_selfield.
CASE i_ucomm.
WHEN '&IC1'. "Double click
* if click on PO field, jump to me23n
IF i_wa_selfield-fieldname = 'EBELN'.
SET PARAMETER ID 'LIF' FIELD us_selfield-value.
CALL TRANSACTION 'XK03' AND SKIP FIRST SCREEN.
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDFORM.
上面的代码跳转到事务代码XK03,并且有一个带过去一个参数,'LIF是事务代码ME23N里面的一个输入框的ID。
另一种方法
DATA:gt_seltab TYPE TABLE OF rsparams WITH HEADER LINE.
DATA: gs_report(40) TYPE c.
gs_report = 'Y01MMRTEST_LJL_09'."程序名
CLEAR gt_seltab.
gt_seltab-selname = 'RF02K-LIFNR'.
gt_seltab-kind = 'S'.
gt_seltab-sign = 'I'.
gt_seltab-OPTION = 'EQ'.
gt_seltab-low = '1000'.
APPEND gt_seltab.
SUBMIT SAPMF02K WITH SELECTION-table gt_seltab
VIA SELECTION-SCREEN
AND RETURN.
定义一个rsparams类型的数据结构,rsparams是PARAMETERS 和 SELECT-OPTIONS 的通用结构。
然后在数据结构中填充所需要带过去的字段名和数值。
最后submit程序名。
如果是有按钮选择后要填充选择的按钮
则直接在submit后加with (SUBMIT 程序名 WITH 按钮名 = ”X“ 不选的按钮名 = ”“),不选择的按钮为空,必须所有的按钮都要赋值,不然会报错。