SAP ALV – Double Click Event
Below code example is to display the purchase orders as per selection screen. This program also deals with the double click event. If user double click one line in purchase order number column, the screen will navigate to transaction code ME23N to display the selected PO.
************************************************************************ * Program ID : ZDOUBLE_CLICK_EVENT * * Program Title : Handle double click event * * Created By : kingsxiaoz * * Creation Date : 08.10.2009 * ************************************************************************ REPORT zhaotest. TABLES: ekko,ekpo. * selection option SELECT-OPTIONS s_ebeln FOR ekko-ebeln. TYPE-POOLS:slis. * define output table DATA: BEGIN OF outputtab OCCURS 0, ebeln LIKE ekpo-ebeln, ebelp LIKE ekpo-ebelp, matnr LIKE ekpo-matnr, werks LIKE ekpo-werks, menge LIKE ekpo-menge, netpr LIKE ekpo-netpr, peinh LIKE ekpo-peinh, netwr LIKE ekpo-netwr, END OF outputtab. DATA: i_fieldcat TYPE slis_t_fieldcat_alv. DATA: v_repid LIKE sy-repid. INITIALIZATION. v_repid = sy-repid. START-OF-SELECTION. PERFORM get_data. END-OF-SELECTION. * get field catalog of output table CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name = sy-repid i_internal_tabname = 'OUTPUTTAB' i_inclname = v_repid i_bypassing_buffer = 'X' i_buffer_active = '' CHANGING ct_fieldcat = i_fieldcat EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3. IF sy-subrc <;>; 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = v_repid i_callback_user_command = 'USER_COMMAND' it_fieldcat = i_fieldcat i_save = 'A' TABLES t_outtab = outputtab EXCEPTIONS program_error = 1 OTHERS = 2. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. * Form get_data FORM get_data. SELECT ebeln ebelp matnr werks menge netpr peinh netwr INTO TABLE outputtab UP TO 300 ROWS FROM ekpo WHERE ebeln IN s_ebeln. ENDFORM. "get_data * Form user_command FORM user_command USING v_ucomm LIKE sy-ucomm wa_selrow TYPE slis_selfield. CASE v_ucomm. WHEN '&IC1'. READ TABLE outputtab INDEX wa_selrow-tabindex. CASE wa_selrow-fieldname. WHEN 'EBELN'. SET PARAMETER ID 'BES' FIELD outputtab-ebeln. CALL TRANSACTION 'ME23N'. ENDCASE. ENDCASE. ENDFORM.
This is a very good tutorial site for ERP.. I like it most.
Thanks for your compliment:-)