传统ALV事件.
在顯示代碼中一定要有下面參數:
?????? i_callback_user_command = 'USER_CALLBACK'
'USER_CALLBACK' 為處理事件的程序.
FORM. alv_display TABLES p_int_t.
??? CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
????? EXPORTING
??????? i_callback_program????? = sy-repid
??????? is_layout?????????????? = g_layout_s
??????? it_fieldcat???????????? = g_fieldcat_t[]
??????? i_callback_user_command = 'USER_CALLBACK'
??????? i_save????????????????? = 'A'
????? TABLES
??????? t_outtab??????????????? = p_int_t
????? EXCEPTIONS
??????? program_error?????????? = 1
??????? OTHERS????????????????? = 2.
? ENDFORM.? " ALV_DISPLAY
?FORM. USER_CALLBACK USING r_ucomm LIKE sy-ucomm
????????????????? rs_selfield TYPE slis_selfield.
??? CASE r_ucomm.
????? WHEN '&IC1'.??????? " SAP standard code for double-clicking
??????? DATA msg TYPE string.
??????? FIELD-SYMBOLS <line> LIKE LINE OF itab1.
???????? if rs_selfield-sel_tab_field = '1-VBELN'."當雙擊的是銷售訂單號列時,才觸發
*1-VBELN測試rs_selfield-sel_tab_field的實際值
??????? READ TABLE itab1 INDEX rs_selfield-tabindex ASSIGNING <line>.
??????? IF sy-subrc = 0.
????????? SET PARAMETER ID: 'AUN' FIELD <line>-vbeln.
????????? CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
??????? ENDIF.
??????? endif.
?????? WHEN ' SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}ENTE '. "回車事件
?
??? ENDCASE.
? ENDFORM.??????????????????? "user_command
總結
- 上一篇: 使用ALV中输出ICON
- 下一篇: ALV列、行、单元格颜色设置