‎2009 Jan 05 6:11 AM
hello
experts
can anyone send me the code for alv interactive. my requirement is to click in any saled order from alv output and it will take to the sales order va03 .only this part of the code i need.
Thanks .
‎2009 Jan 05 6:14 AM
hi,
Refer to this link,,,
https://www.sdn.sap.com/irj/scn/wiki?path=/display/snippets/abapInteractiveALV+Program
Check examples : BCALV_GRID_01 to BCALV_GRID_11 in package SLIS.
Edited by: avinash kodarapu on Jan 5, 2009 11:44 AM
Edited by: avinash kodarapu on Jan 5, 2009 11:49 AM
‎2009 Jan 05 6:17 AM
Hi,
Gothrough the code.
REPORT ZALV_INTERACTIVE.
TABLES:EKKO, EKPO.
*data declarations
*1 internal tables and work areas
TYPES: BEGIN OF TP_EKKO,
EBELN TYPE EKKO-EBELN,
BUKRS TYPE EKKO-BUKRS,
BSTYP TYPE EKKO-BSTYP,
BSART TYPE EKKO-BSART,
END OF TP_EKKO,
BEGIN OF TP_EKPO,
EBELN TYPE EKPO-EBELN,
EBELP TYPE EKPO-EBELP,
AEDAT TYPE EKPO-AEDAT,
TXZ01 TYPE EKPO-TXZ01,
MATNR TYPE EKPO-MATNR,
END OF TP_EKPO,
BEGIN OF TP_MARA,
MATNR TYPE MARA-MATNR,
ERSDA TYPE MARA-ERSDA,
ERNAM TYPE MARA-ERNAM,
LAEDA TYPE MARA-LAEDA,
AENAM TYPE MARA-AENAM,
END OF TP_MARA.
DATA: IT_EKKO TYPE TABLE OF TP_EKKO,
IT_EKPO TYPE TABLE OF TP_EKPO,
WA_EKKO LIKE LINE OF IT_EKKO,
WA_EKPO LIKE LINE OF IT_EKPO,
IT_MARA TYPE TABLE OF TP_MARA,
WA_MARA LIKE LINE OF IT_MARA.
*DATA: it_ekko TYPE TABLE OF ekko,
* it_ekpo TYPE TABLE OF ekpo,
* wa_ekko LIKE LINE OF it_ekko,
* wa_ekpo LIKE LINE OF it_ekpo.
*
*2 alv grid and container definition
DATA: GRID_EKKO TYPE REF TO CL_GUI_ALV_GRID,
GRID_EKPO TYPE REF TO CL_GUI_ALV_GRID,
GRID_MARA TYPE REF TO CL_GUI_ALV_GRID,
CONT_EKKO TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
CONT_EKPO TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
CONT_MARA TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
*3 ebeln
DATA: V_EBELN TYPE EKKO-EBELN,
V_MATNR TYPE MARA-MATNR.
*4 layout
DATA: WA_LAYOUT1 TYPE LVC_S_LAYO,
WA_LAYOUT2 TYPE LVC_S_LAYO,
WA_LAYOUT3 TYPE LVC_S_LAYO.
*adding field catalog
DATA: IT_FCAT TYPE LVC_T_FCAT,
WA_FCAT TYPE LVC_S_FCAT,
IT_FCAT2 TYPE LVC_T_FCAT,
WA_FCAT2 TYPE LVC_S_FCAT,
IT_FCAT3 TYPE LVC_T_FCAT,
WA_FCAT3 TYPE LVC_S_FCAT.
.
*5 interface definition
INTERFACE INTF.
CLASS-METHODS: HANDLE_HOTSPOT_CLICK FOR EVENT HOTSPOT_CLICK OF
CL_GUI_ALV_GRID
IMPORTING E_ROW_ID,
HANDLE_HOTSPOT_CLICK1 FOR EVENT HOTSPOT_CLICK OF
CL_GUI_ALV_GRID
IMPORTING E_ROW_ID.
ENDINTERFACE. "intf
*----------------------------------------------------------------------*
* CLASS class1 DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS CLASS1 DEFINITION.
PUBLIC SECTION.
INTERFACES: INTF.
ALIASES HANDLER1 FOR INTF~HANDLE_HOTSPOT_CLICK.
ENDCLASS. "class1 DEFINITION
*----------------------------------------------------------------------*
* CLASS class1 IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS CLASS1 IMPLEMENTATION.
METHOD INTF~HANDLE_HOTSPOT_CLICK.
* break developer.
IF NOT E_ROW_ID IS INITIAL.
CLEAR WA_EKKO.
READ TABLE IT_EKKO INTO WA_EKKO INDEX E_ROW_ID-INDEX.
IF SY-SUBRC EQ 0.
V_EBELN = WA_EKKO-EBELN.
ENDIF.
IF NOT V_EBELN IS INITIAL.
PERFORM GET_DETAILED_DATA.
IF NOT IT_EKPO[] IS INITIAL.
CALL SCREEN 200.
ENDIF.
ENDIF.
ENDIF.
ENDMETHOD. "intf~handle_hotspot_click
METHOD INTF~HANDLE_HOTSPOT_CLICK1.
BREAK DEVELOPER.
IF NOT E_ROW_ID IS INITIAL.
CLEAR WA_MARA.
READ TABLE IT_EKPO INTO WA_EKPO INDEX E_ROW_ID-INDEX.
IF SY-SUBRC EQ 0.
V_MATNR = WA_EKPO-MATNR.
ENDIF.
IF NOT V_MATNR IS INITIAL.
PERFORM GET_DETAILED_DATA2.
IF NOT IT_MARA[] IS INITIAL.
CALL SCREEN 300.
ENDIF.
ENDIF.
ENDIF.
ENDMETHOD. "intf~handle_double_click
ENDCLASS. "class1 IMPLEMENTATION
START-OF-SELECTION.
SET SCREEN 100.
SELECT-OPTIONS: S_EBELN FOR EKKO-EBELN.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
IF SY-INDEX EQ 0.
SET PF-STATUS 'PF_100'.
SET TITLEBAR 'TITLE_100'.
IF CONT_EKKO IS INITIAL.
PERFORM GET_DATA.
PERFORM BUILD_FCAT.
CREATE OBJECT CONT_EKKO
EXPORTING
CONTAINER_NAME = 'CONTAINER1'.
CREATE OBJECT GRID_EKKO
EXPORTING
I_PARENT = CONT_EKKO.
WA_LAYOUT1-GRID_TITLE = 'Master data Display'.
WA_LAYOUT1-KEYHOT = 'X'.
CALL METHOD GRID_EKKO->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = 'IT_EKKO'
IS_LAYOUT = WA_LAYOUT1
CHANGING
IT_OUTTAB = IT_EKKO
IT_FIELDCATALOG = IT_FCAT
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
SET HANDLER CLASS1=>INTF~HANDLE_HOTSPOT_CLICK FOR ALL INSTANCES.
CALL METHOD GRID_EKKO->SET_TOOLBAR_INTERACTIVE.
ELSE.
CALL METHOD GRID_EKKO->REFRESH_TABLE_DISPLAY.
ENDIF.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = GRID_EKKO.
ELSE.
IF SY-INDEX EQ 1.
ENDIF.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DATA .
SELECT EBELN
BUKRS
BSTYP
BSART
FROM EKKO
INTO CORRESPONDING FIELDS OF TABLE IT_EKKO
WHERE EBELN IN S_EBELN.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
* break developer.
CASE SY-UCOMM.
WHEN 'BACK'.
PERFORM EXIT_PROGRAM.
WHEN 'CANCEL'.
PERFORM EXIT_PROGRAM.
WHEN OTHERS.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Form EXIT_PROGRAM
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM EXIT_PROGRAM .
CALL METHOD CONT_EKKO->FREE.
IF NOT CONT_EKPO IS INITIAL.
CALL METHOD CONT_EKPO->FREE.
ENDIF.
CALL METHOD CL_GUI_CFW=>FLUSH.
IF SY-SUBRC NE 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
TITEL = SY-REPID
TXT1 = 'Flush Failed'
TXT2 = SY-SUBRC.
ENDIF.
LEAVE PROGRAM.
ENDFORM. " EXIT_PROGRAM
*&---------------------------------------------------------------------*
*& Form GET_DETAILED_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DETAILED_DATA .
BREAK DEVELOPER.
SELECT EBELN
EBELP
AEDAT
TXZ01
MATNR
FROM EKPO
INTO CORRESPONDING FIELDS OF TABLE IT_EKPO
WHERE EBELN EQ V_EBELN.
ENDFORM. " GET_DETAILED_DATA
*&---------------------------------------------------------------------*
*& Module STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0200 OUTPUT.
SET PF-STATUS 'PF_200'.
SET TITLEBAR 'TITLE_200'.
IF CONT_EKPO IS INITIAL.
CREATE OBJECT CONT_EKPO
EXPORTING
CONTAINER_NAME = 'CONTAINER2'.
CREATE OBJECT GRID_EKPO
EXPORTING
I_PARENT = CONT_EKPO.
WA_LAYOUT2-GRID_TITLE = 'Detailed Display'.
PERFORM BUILD_FIELDCAT_DETAILED.
CALL METHOD GRID_EKPO->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = 'IT_EKPO'
IS_LAYOUT = WA_LAYOUT2
CHANGING
IT_OUTTAB = IT_EKPO
IT_FIELDCATALOG = IT_FCAT2
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SET HANDLER CLASS1=>INTF~HANDLE_HOTSPOT_CLICK1 FOR GRID_EKPO.
CALL METHOD GRID_EKPO->SET_TOOLBAR_INTERACTIVE.
ELSE.
CALL METHOD GRID_EKPO->REFRESH_TABLE_DISPLAY.
ENDIF.
ENDMODULE. " STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0200 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 100.
WHEN OTHERS.
ENDCASE.
ENDMODULE. " USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
*& Form BUILD_FCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM BUILD_FCAT .
WA_FCAT-FIELDNAME = 'EBELN'.
WA_FCAT-TABNAME = 'EKKO'.
WA_FCAT-SCRTEXT_M = TEXT-001.
WA_FCAT-HOTSPOT = 'X'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'BUKRS'.
WA_FCAT-TABNAME = 'EKKO'.
WA_FCAT-SCRTEXT_M = TEXT-002.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'BSTYP'.
WA_FCAT-TABNAME = 'EKKO'.
WA_FCAT-SCRTEXT_M = TEXT-003.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'BSART'.
WA_FCAT-TABNAME = 'EKKO'.
WA_FCAT-SCRTEXT_M = TEXT-004.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
ENDFORM. " BUILD_FCAT
*&---------------------------------------------------------------------*
*& Form BUILD_FIELDCAT_DETAILED
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM BUILD_FIELDCAT_DETAILED .
WA_FCAT2-FIELDNAME = 'EBELN'.
WA_FCAT2-TABNAME = 'IT_EKKO'.
WA_FCAT-SCRTEXT_M = TEXT-005.
APPEND WA_FCAT2 TO IT_FCAT2.
CLEAR WA_FCAT2.
WA_FCAT2-FIELDNAME = 'EBELP'.
WA_FCAT2-TABNAME = 'IT_EKKO'.
WA_FCAT-SCRTEXT_M = TEXT-006.
APPEND WA_FCAT2 TO IT_FCAT2.
CLEAR WA_FCAT2.
WA_FCAT2-FIELDNAME = 'AEDAT'.
WA_FCAT2-TABNAME = 'IT_EKKO'.
WA_FCAT-SCRTEXT_M = TEXT-007.
APPEND WA_FCAT2 TO IT_FCAT2.
CLEAR WA_FCAT2.
WA_FCAT2-FIELDNAME = 'TXZ01'.
WA_FCAT2-TABNAME = 'IT_EKKO'.
WA_FCAT-SCRTEXT_M = TEXT-008.
APPEND WA_FCAT2 TO IT_FCAT2.
CLEAR WA_FCAT2.
WA_FCAT2-FIELDNAME = 'MATNR'.
WA_FCAT2-TABNAME = 'IT_EKKO'.
WA_FCAT-SCRTEXT_M = TEXT-009.
WA_FCAT2-HOTSPOT = 'X'.
APPEND WA_FCAT2 TO IT_FCAT2.
CLEAR WA_FCAT2.
ENDFORM. " BUILD_FIELDCAT_DETAILED
*&---------------------------------------------------------------------*
*& Form GET_DETAILED_DATA2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DETAILED_DATA2 .
BREAK DEVELOPER.
SELECT MATNR
ERSDA
ERNAM
LAEDA
AENAM
FROM MARA
INTO CORRESPONDING FIELDS OF TABLE IT_MARA
WHERE MATNR EQ V_MATNR.
ENDFORM. " GET_DETAILED_DATA2
*&---------------------------------------------------------------------*
*& Module STATUS_0300 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0300 OUTPUT.
SET PF-STATUS 'PF_300'.
SET TITLEBAR 'TITLE_300'.
IF CONT_MARA IS INITIAL.
CREATE OBJECT CONT_MARA
EXPORTING
CONTAINER_NAME = 'CONTAINER3'.
CREATE OBJECT GRID_MARA
EXPORTING
I_PARENT = CONT_MARA.
WA_LAYOUT3-GRID_TITLE = 'Second secondary list'.
PERFORM BUILD_FCAT_SECOND.
CALL METHOD GRID_MARA->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = 'IT_MARA'
IS_LAYOUT = WA_LAYOUT3
CHANGING
IT_OUTTAB = IT_MARA
IT_FIELDCATALOG = IT_FCAT3
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
CALL METHOD GRID_MARA->REFRESH_TABLE_DISPLAY.
ENDIF.
ENDMODULE. " STATUS_0300 OUTPUT
*&---------------------------------------------------------------------*
*& Form BUILD_FCAT_SECOND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM BUILD_FCAT_SECOND .
WA_FCAT3-FIELDNAME = 'MATNR'.
WA_FCAT3-TABNAME = 'IT_MARA'.
APPEND WA_FCAT3 TO IT_FCAT3.
CLEAR WA_FCAT3.
WA_FCAT3-FIELDNAME = 'ERSDA'.
WA_FCAT3-TABNAME = 'IT_EKKO'.
APPEND WA_FCAT3 TO IT_FCAT3.
CLEAR WA_FCAT3.
WA_FCAT3-FIELDNAME = 'ERNAM'.
WA_FCAT3-TABNAME = 'IT_MARA'.
APPEND WA_FCAT3 TO IT_FCAT3.
CLEAR WA_FCAT3.
WA_FCAT3-FIELDNAME = 'LAEDA'.
WA_FCAT3-TABNAME = 'IT_MARA'.
APPEND WA_FCAT3 TO IT_FCAT3.
CLEAR WA_FCAT3.
WA_FCAT3-FIELDNAME = 'AENAM'.
WA_FCAT3-TABNAME = 'IT_MARA'.
APPEND WA_FCAT3 TO IT_FCAT3.
CLEAR WA_FCAT3.
ENDFORM. " BUILD_FCAT_SECOND
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0300 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0300 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 200.
WHEN OTHERS.
ENDCASE.
ENDMODULE. " USER_COMMAND_0300 INPUT
Code Formatted by: Alvaro Tejada Galindo on Jan 7, 2009 12:09 PM
‎2009 Jan 05 6:17 AM
Hi,
Here iam giving some sample code ....
Try to work out...
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_user_command = 'USER_COMMAND'-----------------> write form for action
i_callback_pf_status_set = 'PFSTATUS'---------> create set_status name PFSTATUS
it_fieldcat = it_fieldcat
is_layout = it_layout
it_event_exit = it_eventexit
i_screen_start_column = 10
i_screen_start_line = 20
i_screen_end_column = 70
i_screen_end_line = 45
i_grid_title = 'Call Tcode Refresh ALV'
TABLES
t_outtab = it_tstc.ENDFORM. "alv_display
*&---------------------------------------------------------------------*
*& Form user_command
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
*User actions on ALV
FORM user_command USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
*User clicks a transaction code and that tcode is called from ALV
WHEN '&IC1'.
READ TABLE it_tstc INDEX rs_selfield-tabindex INTO wa_tstc.
IF sy-subrc = 0.
CALL TRANSACTION wa_tstc-tcode.
ENDIF.
Code Formatted by: Alvaro Tejada Galindo on Jan 7, 2009 12:10 PM
‎2009 Jan 05 6:19 AM
try this code
*****YOU NEED TO WRITE AN EVENT HANDER CLASS FOR YOUR ALV AND IMPLEMENT A ******METHODE TO HANDLE THE DOUBLE CLICK EVENT
* type for output table
TYPES: BEGIN OF ty_mara,
matnr TYPE matnr, " Material
ersda TYPE ersda, " Creation date
ernam TYPE ernam, " Created by
END OF ty_mara. " Type declaration for table storing temp. data
* Internal table for storing data
DATA: i_mara TYPE STANDARD TABLE OF ty_mara INITIAL SIZE 0." Work area for final table
DATA: w_mara TYPE ty_mara.
* ALV grid object
DATA: oref1 TYPE REF TO cl_gui_alv_grid.
* class to handle double click
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
on_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column es_row_no.
ENDCLASS. "lcl_event_handler DEFINITION
* class imlimentation
CLASS lcl_event_handler IMPLEMENTATION.
METHOD on_double_click.
*********HERE YOU CAN WRITE YOUR CODE TO CALL YOUR TRANSACTION VA01
********LIKE SET FIELD 'XYZ' VALUE 'ABC'.
******* call transaction 'VA01'.
ENDMETHOD. "on_double_click
ENDCLASS. "lcl_event_handler IMPLEMENTATION
* Field catalog table for ALV grid
DATA: fieldcat TYPE lvc_t_fcat. " Workarea for field catalog table
DATA: w_field TYPE lvc_s_fcat. " Internal table for storing info. for ALV grid
START-OF-SELECTION.
* Fetch data
SELECT matnr " Material
ersda " Creation date
ernam " Created by
FROM mara
INTO TABLE i_mara
UP TO 100 ROWS.
CHECK sy-subrc = 0.
* Calling the screen to display ALV
CALL SCREEN 100.
IF oref1 IS INITIAL.
* Create ALV grid object
CREATE OBJECT oref1
EXPORTING
i_parent = cl_gui_custom_container=>screen0
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
CHECK sy-subrc = 0.
* Preparing the field catalog
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZDEMO'
CHANGING
ct_fieldcat = fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
* Display the ALV grid
CALL METHOD oref1->set_table_for_first_display
CHANGING
it_outtab = i_mara[]
it_fieldcatalog = fieldcat
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
ENDIF.
* setting handler method for double click
SET HANDLER lcl_event_handler=>on_double_click FOR oref1.
ENDMODULE. " STATUS_0100 OUTPUT
Code Formatted by: Alvaro Tejada Galindo on Jan 7, 2009 12:10 PM
‎2009 Jan 05 6:20 AM
Hello,
Plz try the code below:
CONSTANTS: l_c_pfstatus TYPE slis_formname VALUE 'F_PF_STATUS',
l_c_user_comm TYPE slis_formname VALUE 'F_USER_COMMAND',
l_c_st_name TYPE tabname VALUE 'IT_FINAL'.
*Calling 'REUSE_ALV_LIST_DISPLAY' function to display the ALV
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = syst-cprog
i_callback_pf_status_set = l_c_pfstatus
i_callback_user_command = l_c_user_comm
i_structure_name = l_c_st_name
i_grid_title = text-011
is_layout = fp_st_layout
it_fieldcat = fp_it_fieldcat
it_events = fp_it_events[]
TABLES
t_outtab = fp_it_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Error Occured in ALV Function Module
MESSAGE i131.
LEAVE LIST-PROCESSING.
ENDIF.
*&---------------------------------------------------------------------*
*& Form f_user_command
*&---------------------------------------------------------------------*
* Double click event: Call transaction 'VA03' when we double
* click on the ALV line item
*----------------------------------------------------------------------*
* -->FP_V_UCOMM user command
* -->fp_selfield selected-field
*----------------------------------------------------------------------*
* Since ALV FM calls this subroutine; no perform calls required.
FORM f_user_command USING fp_v_ucomm TYPE syucomm
fp_selfield TYPE slis_selfield."#EC CALLED
CONSTANTS:
l_c_ic1 TYPE char4 VALUE '&IC1',
l_c_aun TYPE char2 VALUE 'AUN',
l_c_va03 TYPE char5 VALUE 'VA03'.
CASE fp_v_ucomm.
* Ok code for double code
WHEN l_c_ic1.
IF fp_selfield-tabindex NE space.
READ TABLE it_final INTO wa_final
INDEX fp_selfield-tabindex.
SET PARAMETER ID l_c_vl FIELD wa_final-vbeln.
CALL TRANSACTION l_c_va03 AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM. "f_user_command
Edited by: Suhas Saha on Jan 5, 2009 7:21 AM
‎2009 Jan 05 6:36 AM
HI.
Refer this code.
Data: c_user_command type slis_formname value 'USER_COMMAND',
Pass value to FM as follows.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
is_variant = v_variant
i_callback_program = v_alv_repid
is_layout = layout
it_fieldcat = it_fieldcat
i_callback_user_command = c_user_command
i_save = 'A'
tables
t_outtab = it_report3[]
exceptions
program_error = 1.
form user_command using ucomm type sy-ucomm
selfield type slis_selfield.
case ucomm.
**To call the CO03 transaction
when '&IC1'.
if selfield-fieldname = 'VBELN'.
set parameter id 'AUN' field selfield-value.
call transaction 'VA03' and skip first screen.
endif.
endcase.
endform. "user_command
Regards.
Jay
Code Formatted by: Alvaro Tejada Galindo on Jan 7, 2009 12:11 PM
‎2009 Jan 05 6:39 AM
hi,
the following is the code
READ TABLE<internaltable> into <work area>INDEX slis_selfield-tabindex.
SET PARAMETER ID 'AUN' FIELD workarea-vbeln.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.Thanks & Regards
‎2009 Jan 07 12:06 PM
hi ,
get cursor field f2 value gv_matnr .
if f2 = 'WA_FINAL-MATNR'.
set parameter id 'MAT' field gv_matnr .
call transaction 'MM03 ' and skip first screen.
else .
MESSAGE I112 .
endif.
Regards ,
venkat p