ABAP ALV点击一个字段跳转到另一个事务代码并填充内容

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“ 不选的按钮名 = ”“),不选择的按钮为空,必须所有的按钮都要赋值,不然会报错。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值