(转)ABAP--处理'REUSE_ALV_GRID_DISPLAY'的双击事件

ABAP--处理'REUSE_ALV_GRID_DISPLAY'的双击事件 。

[@more@]

1 定义命令处理Form
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.

DATA: VBELN1 LIKE L_SPETAB-VBELN, VBTYP1 LIKE L_SPETAB-VBTYP.
RS_SELFIELD-REFRESH = 'X'. "控制grid产生新屏幕
CASE R_UCOMM.
WHEN 'BEAN' OR '&IC1'. "双击事件
LOOP AT L_SPETAB WHERE SELK = 'X' .
VBELN1 = L_SPETAB-VBELN.
VBTYP1 = L_SPETAB-VBTYP.
CALL FUNCTION 'RV_CALL_CHANGE_TRANSACTION'
EXPORTING
VBELN = VBELN1
VBTYP = VBTYP1.

COL = COL_BEARBEITEN.
FARB-FARB2 = COL.
L_SPETAB-COL = FARB.
LF_LAYOUT-INFO_FIELDNAME = 'L_SPETAB-COL'.
MODIFY L_SPETAB.
CLEAR: VBELN1, VBTYP1.
ENDLOOP.
IF SY-SUBRC NE 0.
READ TABLE L_SPETAB INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
REPLACE '1-' WITH ' ' INTO RS_SELFIELD-SEL_TAB_FIELD.
CONDENSE RS_SELFIELD-SEL_TAB_FIELD NO-GAPS.
FELD = RS_SELFIELD-SEL_TAB_FIELD.
PERFORM SELECT USING RS_SELFIELD-TABINDEX.
CLEAR FELD.
ENDIF.
ENDIF.
RS_SELFIELD-COL_STABLE = 'X'.
RS_SELFIELD-ROW_STABLE = 'X'.
ENDCASE.

ENDFORM. "USER_COMMAND

2 定义一个常量包含"USER_COMMAND"
DATA: L_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.

3 调用REUSE_ALV_GRID_DISPLAY
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_BUFFER_ACTIVE = 'X'
* I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = L_REPID
* I_CALLBACK_PF_STATUS_SET = L_STATUS
I_CALLBACK_USER_COMMAND = L_USER_COMMAND
* I_STRUCTURE_NAME = 'VBUK'
* IS_LAYOUT = LF_LAYOUT
IT_FIELDCAT = LF_FIELDCAT[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS = LF_SP_GROUP
* I_DEFAULT = 'X'
* I_SAVE = L_SAVE
* IS_VARIANT = L_VARIANT
* IT_EVENTS = LF_EVENTS[]
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = L_SPETAB .

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8356764/viewspace-950218/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8356764/viewspace-950218/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值