【转载】REUSE_ALV_GRID_DISPLAY ALV表格数据 双击事件

ALV表格数据双击事件这个功能,财务部门的人需要的REPORT,大多都需要这个功能。

我从《SAP工程师突击》抄下这段代码来,运行调试通过。

效果如下图:




代码如下:


[plain]  view plain  copy
  1. REPORT ZR_EXAMPLE_16.  
  2.   
  3. TABLES:MARA.  
  4. TYPE-POOLS: SLIS.  
  5. SELECT-OPTIONS:MATNR FOR MARA-MATNR OBLIGATORY.  
  6.   
  7. DATA:LT_MARA TYPE TABLE OF MARA WITH HEADER LINE,  
  8.   FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,  
  9.   LAYOUT TYPE SLIS_LAYOUT_ALV,  
  10.   W_REPID  LIKE SY-REPID.  
  11.   
  12. START-OF-SELECTION.  
  13.   SELECT * FROM MARA INTO TABLE LT_MARA  
  14.  WHERE MATNR IN MATNR.  
  15.   
  16.   W_REPID = SY-REPID.  
  17. *  定义热键显示字段,使双击事件有效  
  18.   FIELDCAT-REF_TABNAME = 'LT_MARA'.  
  19.   FIELDCAT-FIELDNAME = 'MATNR'.  
  20.   FIELDCAT-HOTSPOT = 'X'.  
  21.   APPEND FIELDCAT.  
  22.   
  23.   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'  
  24.     EXPORTING  
  25.       I_CALLBACK_PROGRAM            = W_REPID             "定义回执程序  
  26.       IS_LAYOUT                     = LAYOUT  
  27.       I_STRUCTURE_NAME              = 'MARA'  
  28.       I_CALLBACK_USER_COMMAND   = 'ALV_USER_COMMAND'   "定义执行事件  
  29.       IT_FIELDCAT                       = FIELDCAT[]  
  30.     TABLES  
  31.       T_OUTTAB                          = LT_MARA.  
  32.   
  33. *---------------------------------------------------------------------*  
  34. *       事件触发子程序                         *  
  35. *---------------------------------------------------------------------*  
  36. FORM ALV_USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM  
  37.                          RS_SELFIELD TYPE SLIS_SELFIELD.  
  38.   CASE R_UCOMM.  
  39.  WHEN '&IC1'.  
  40. * 获取当前ALV所在行数据  
  41.    READ TABLE LT_MARA INDEX RS_SELFIELD-TABINDEX.  
  42.    SET PARAMETER ID: 'MAT' FIELD LT_MARA-MATNR.  
  43.    CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.  
  44.   ENDCASE.  
  45. ENDFORM.  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值