ALV表格数据双击事件

TABLES:mara.
TYPE-POOLS:slis.
SELECT-OPTIONS:matnr FOR mara-matnr OBLIGATORY.
DATA:lt_mara TYPE TABLE OF mara WITH HEADER LINE,
      fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
      layout TYPE slis_layout_alv,
      w_repid LIKE sy-repid.

START-OF-SELECTION.
  SELECT * FROM mara INTO TABLE lt_mara
    WHERE matnr IN matnr.

  w_repid = sy-repid.
*定义热键显示字段,使双击事件有效
  fieldcat-ref_tabname 'LT_MARA'.
  fieldcat-fieldname 'MATNR'.
  fieldcat-hotspot 'X'.
  APPEND fieldcat.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program      = w_repid "定义回执程序
      i_callback_user_command 'ALV_USER_COMMAND' "定义执行事件
      is_layout               = layout
      it_fieldcat             = fieldcat[]
      i_structure_name        'MARA'
    TABLES
      t_outtab                = lt_mara.

*&---------------------------------------------------------------------*
*&      Form  alv_user_command
*&---------------------------------------------------------------------*
*       text 事件触发子程序
*----------------------------------------------------------------------*
*      -->R_UCOMM      text
*      -->RS_SELFIELD  text
*----------------------------------------------------------------------*
FORM alv_user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield.
*获取当前双击ALV行数,获取数据调用事务代码
  CASE r_ucomm.
    WHEN '&IC1'.
*获取当前ALV所在行数据
      READ TABLE lt_mara INDEX rs_selfield-tabindex.
      SET PARAMETER ID 'MAT' FIELD lt_mara-matnr.
      CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
  ENDCASE.
ENDFORM.                    "alv_user_command

转载于:https://www.cnblogs.com/zxiu/p/7611532.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值