Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Calling Transaction from ALV using OO Method

Former Member
0 Likes
1,255

Hi,

My requirement is as follows....

I have an ALV grid with columns such as month wise Total of a GL account say JAN, feb etc...

When I double click on any of these cells it should take me to the respective Transaction (say FBL3n for the GL account and the company code) . I am able to track the GL account for which the total is displayed and company code is one of my selection criteria. In the main screen of the FBL3N we have to enter the posting date and i also want the Radio button against "all items', presently default is against 'Open Items'. So how can i proceed.

Thanks and Regards,

Namit

2 REPLIES 2
Read only

Former Member
0 Likes
506

Hi

The FBL3N runs the report RFITEMGL, so you have to do a SUBMIT instead of a CALL TRANDACTION.

So insert the submit in the double click event.

Max

Read only

Former Member
0 Likes
506
DATA gr_event_handler TYPE REF TO lcl_event_handler . .. .. 
*--Creating an instance for the event handler
 CREATE OBJECT gr_event_handler .
 *--Registering handler methods to handle ALV Grid events
SET HANDLER gr_event_handler->handle_double_click FOR gr_alvgrid .


CLASS lcl_event_handler IMPLEMENTATION .
*Handle Double Click
 METHOD handle_double_click .
 PERFORM handle_double_click USING e_row e_column es_row_no .
 ENDMETHOD .

CLASS lcl_event_handler DEFINITION

*Double-click control
Methods:
 handle_double_click 
      FOR EVENT double_click OF cl_gui_alv_grid 
        IMPORTING e_row e_column

           i_fieldrows      TYPE lvc_t_row.
           w_fieldrows LIKE LINE OF i_fieldrows,
  CALL METHOD o_alvgrid->get_selected_rows
             IMPORTING
             et_index_rows = i_fieldrows.

  LOOP AT i_fieldrows INTO w_fieldrows.
    READ TABLE i_batch INTO w_block INDEX w_fieldrows-index.
if sy-subrc = 0.

*---------------------------------------------------------------------*
*       CLASS LCL_EVENT_RECEIVER DEFINITION
*---------------------------------------------------------------------*

CLASS LCL_EVENT_RECEIVER DEFINITION.

* Event receiver definitions for ALV actions
  PUBLIC SECTION.
    CLASS-METHODS:
* Row Double click for dirll down.
       HANDLE_DOUBLE_CLICK
         FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
            IMPORTING E_ROW
                      E_COLUMN
                      ES_ROW_NO.


ENDCLASS.

* Implementation
***********************************************************************
* Every event handler that is specified below should also be set after
* the object has been created.  This is done in the PBO processing.
* with the following command
* SET HANDLER oEventreceiver->handle_toolbar FOR o_Alvgrid.
***********************************************************************

CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.

*&---------------------------------------------------------------------
*&      Method handle_double_click
*&---------------------------------------------------------------------
* This method is called when the user double clicks on a line to drill
* down.
* The following are exported from the ALV
* LVC_S_ROW
* LVC_S_COL
* LVC_S_ROID
*----------------------------------------------------------------------
  METHOD HANDLE_DOUBLE_CLICK.
* The double click drill down processing should be
* coded in the form below.

   PERFORM F9007_HANDLE_DOUBLE_CLICK USING E_ROW
                                           E_COLUMN
                                           ES_ROW_NO.

  ENDMETHOD.
ENDCLASS.

 
*&---------------------------------------------------------------------*
*&      Form  F9007_HANDLE_DOUBLE_CLICK
*&---------------------------------------------------------------------*
* This form is called when the user double clicks on a line to drill
* down.
*----------------------------------------------------------------------*
*      -->P_E_ROW_ID    - Row ID  text
*      -->P_E_COLUMN_ID - Column ID
*      -->P_ES_ROW_NO   - Row number
*----------------------------------------------------------------------*

FORM f9007_handle_double_click USING p_row
                                     p_column
                                     p_row_no.

 
  DATA: lw_output LIKE LINE OF i_output.

* RG:16/11/2004 - Start of Changes
* Need to check that a subtotal or grand total line has not been
* double-clicked, otherwise the report will produce a short dump!
  check p_row+0(1) is initial.
* RG:16/11/2004 - End of Changes
  READ TABLE i_output INDEX p_row INTO lw_output.

  CASE p_column.
    WHEN 'KNUMA'.
      IF NOT lw_output-knuma IS INITIAL.
        SET PARAMETER ID 'VBO' FIELD lw_output-knuma.
        CALL TRANSACTION 'VBO3' AND SKIP FIRST SCREEN.
      ENDIF.
    WHEN 'VBAK_VBELN'.
     IF NOT lw_output-vbak_vbeln IS INITIAL.
      SET PARAMETER ID 'AUN' FIELD lw_output-vbak_vbeln.
        CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
      ENDIF.

    WHEN 'VBRK_VBELN'.
      IF NOT lw_output-vbrk_vbeln IS INITIAL.
        SET PARAMETER ID 'VF' FIELD lw_output-vbrk_vbeln.
        CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.
      ENDIF.
  ENDCASE.

 
ENDFORM.                    " F9007_HANDLE_DOUBLE_CLICK