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

ALV double-click

Former Member
0 Likes
614

Hi,

I need to do a program in ABAP OO.

My problem is that I need to present 1 ALV in a first screen and then by clicking on one line it should go to another screen where there is another ALV (giving details of the selected line).

Can anyone give me some codings which can do this (especially going to another screen after double-click)?

Thanks!

Hi,

I need to do a program in ABAP OO.

My problem is that I need to present 1 ALV in a first screen and then by clicking on one line it should go to another screen where there is another ALV (giving details of the selected line).

Can anyone give me some codings which can do this (especially going to another screen after double-click)?

Thanks!

5 REPLIES 5
Read only

Former Member
0 Likes
547

Hello,

Please read this: [https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907].

Regards.

Read only

Former Member
0 Likes
547

Hiiii

See my code for interactive ALV...

Award points if useful


*&---------------------------------------------------------------------*
*&     AS : Simple Interactive ALV report developed using OOPS         *
*&                                                                     *
*&---------------------------------------------------------------------*
REPORT  ZALV_OOINTERACTIVE.
*Class definition for handling double click
CLASS event_class DEFINITION DEFERRED.*Internal table and work area declarations for dd02l and dd03l
DATA : it_dd02l TYPE TABLE OF dd02l,
       wa_dd02l TYPE dd02l,
       it_dd03l TYPE TABLE OF dd03l,
       wa_dd03l TYPE dd03l.*data declarations for ALV Main list
DATA : ty_lay1 TYPE lvc_s_layo,
       it_fieldcat TYPE lvc_t_fcat ,
       ty_fieldcat TYPE lvc_s_fcat ,
       c_alv1 TYPE REF TO cl_gui_alv_grid,
       c_cont1 TYPE REF TO cl_gui_custom_container,
       event_receiver TYPE REF TO event_class.*data declarations for ALV Interactive listDATA : ty_lay2 TYPE lvc_s_layo,
       it_fcat TYPE lvc_t_fcat ,
       ty_fcat TYPE lvc_s_fcat ,
       c_alv2 TYPE REF TO cl_gui_alv_grid,
       c_cont2 TYPE REF TO cl_gui_custom_container.
**Select options for multiple values and NOT ranges
SELECT-OPTIONS : s_table FOR wa_dd02l-tabname NO INTERVALS.
* Initialization event
INITIALIZATION.*Start of selection event
START-OF-SELECTION.*fetch data into table and field characteristics
  PERFORM fetch_data.*ALV display for output
  PERFORM alv_output.
*&---------------------------------------------------------------------*
*&      Form  FETCH_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM fetch_data .*Select the table details
  SELECT * FROM dd02l INTO CORRESPONDING FIELDS OF TABLE it_dd02l  
WHERE tabname IN s_table
  AND tabclass = 'TRANSP'.

ENDFORM.                    " FETCH_DATA*----------------------------------------------------------------------** CLASS lcl_event_receiver DEFINITION*----------------------------------------------------------------------*CLASS event_class DEFINITION.*Handling double click
  PUBLIC SECTION.    METHODS:
    handle_double_click
    FOR EVENT double_click OF cl_gui_alv_grid IMPORTING e_row .ENDCLASS. "lcl_event_receiver DEFINITION
*----------------------------------------------------------------------** CLASS lcl_event_receiver IMPLEMENTATION
*----------------------------------------------------------------------*CLASS event_class IMPLEMENTATION.  METHOD handle_double_click.    DATA : ls_dd02l LIKE LINE OF it_dd02l.*Reading the selected data into a variable
    READ TABLE it_dd02l INDEX e_row-index INTO ls_dd02l.*  *Select the field details of the selected table
    SELECT * FROM dd03l INTO CORRESPONDING FIELDS OF TABLE it_dd03l
    WHERE tabname EQ ls_dd02l-tabname.
*calling the ALV containing the field values
    CALL SCREEN 101.  ENDMETHOD. "handle_double_clickENDCLASS. "lcl_event_receiver IMPLEMENTATION*&---------------------------------------------------------------------**& Module pbo_100 OUTPUT*&---------------------------------------------------------------------*MODULE pbo_100 OUTPUT.
*set pf-status 'XXX'.
*set titlebar 'XXX'.
ENDMODULE. " PBO_100 OUTPUT
*&---------------------------------------------------------------------*
*& Module alv_100 OUTPUT
*&---------------------------------------------------------------------*MODULE alv_100 OUTPUT.*Check if there is no custom container in screen 100
  IF c_cont1 IS INITIAL.*Creating object of container
    CREATE OBJECT c_cont1
     EXPORTING
       container_name = 'CCONT'.
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.*Creating object of alv
    CREATE OBJECT c_alv1
       EXPORTING
        i_parent = c_cont1.
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.*alv layout
    PERFORM alv_100_layout.*alv field catalogue
    PERFORM alv_100_fieldcat.*Displaying the ALV grid
    CALL METHOD c_alv1->set_table_for_first_display
      EXPORTING
        is_layout       = ty_lay1
      CHANGING
        it_outtab       = it_dd02l[]
        it_fieldcatalog = it_fieldcat.    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.*Create object of the event class and setting handler for double click
    CREATE OBJECT event_receiver.
    SET HANDLER event_receiver->handle_double_click FOR c_alv1.  ENDIF.ENDMODULE. " ALV_100 OUTPUT*&---------------------------------------------------------------------**& Module pai_100 INPUT*&---------------------------------------------------------------------*MODULE pai_100 INPUT.
ENDMODULE. " pai_100 INPUT*----------------------------------------------------------------------** MODULE PBO_101 OUTPUT*----------------------------------------------------------------------*MODULE pbo_101 OUTPUT.
*  SET PF-STATUS 'XXX'.
*  SET TITLEBAR 'XXX'.
ENDMODULE. " PBO_101 INPUT*----------------------------------------------------------------------** MODULE ALV_101 OUTPUT*----------------------------------------------------------------------*
MODULE alv_101 OUTPUT.
*Check if the Custom container exists.
  IF c_cont2 IS INITIAL.*Creating container object
    CREATE OBJECT c_cont2
      EXPORTING
        container_name = 'CDCONT'.
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.*creating ALV grid for interactive list
    CREATE OBJECT c_alv2
      EXPORTING
       i_parent = c_cont2.
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.*ALV layout
    PERFORM alv_101_layout.*ALV fieldcatalogue
    PERFORM alv_101_fieldcat.*Sorting the output by field position
    SORT it_dd03l BY position.*ALV for display field details
    CALL METHOD c_alv2->set_table_for_first_display
      EXPORTING
        is_layout       = ty_lay2
      CHANGING
        it_outtab       = it_dd03l[]
        it_fieldcatalog = it_fcat.
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.  ENDIF.ENDMODULE. " ALV_101 OUTPUT
*&---------------------------------------------------------------------**& Module PAI_101 INPUT*&---------------------------------------------------------------------*MODULE pai_101 INPUT.ENDMODULE. " PAI_101 INPUT
*&---------------------------------------------------------------------*
*&      Form  ALV_OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM alv_output .
  CALL SCREEN 100.ENDFORM.                    " ALV_OUTPUT
*&---------------------------------------------------------------------*
*&      Form  ALV_100_LAYOUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM alv_100_layout .  ty_lay1-grid_title = 'TABLES'.
  ty_lay1-zebra = 'X'.
  ty_lay1-no_toolbar = 'X'.ENDFORM.                    " ALV_100_LAYOUT
*&---------------------------------------------------------------------*
*&      Form  ALV_100_FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM alv_100_fieldcat .

  CLEAR ty_fieldcat.
  ty_fieldcat-row_pos = 1.
  ty_fieldcat-col_pos = 1.
  ty_fieldcat-fieldname = 'TABNAME'.
  ty_fieldcat-tabname = 'GT_DD02L'.
  ty_fieldcat-coltext = 'TableName'.
  ty_fieldcat-outputlen = 10.
  APPEND ty_fieldcat TO it_fieldcat.
  CLEAR ty_fieldcat.  ty_fieldcat-row_pos = 1.
  ty_fieldcat-col_pos = 2.
  ty_fieldcat-fieldname = 'TABCLASS'.
  ty_fieldcat-tabname = 'GT_DD02L'.
  ty_fieldcat-coltext = 'CATEGORY'.
  ty_fieldcat-outputlen = 10.
  APPEND ty_fieldcat TO it_fieldcat.
  CLEAR ty_fieldcat.  ty_fieldcat-row_pos = 1.
  ty_fieldcat-col_pos = 3.
  ty_fieldcat-fieldname = 'AS4USER'.
  ty_fieldcat-tabname = 'GT_DD02L'.
  ty_fieldcat-coltext = 'CREATED'.
  ty_fieldcat-outputlen = 10.
  APPEND ty_fieldcat TO it_fieldcat.
  CLEAR ty_fieldcat.  ty_fieldcat-row_pos = 1.
  ty_fieldcat-col_pos = 4.
  ty_fieldcat-fieldname = 'AS4DATE'.
  ty_fieldcat-tabname = 'GT_DD02L'.
  ty_fieldcat-coltext = 'DATE'.
  ty_fieldcat-outputlen = 10.
  APPEND ty_fieldcat TO it_fieldcat.
  CLEAR ty_fieldcat.
  ty_fieldcat-row_pos = 1.
  ty_fieldcat-col_pos = 5.
  ty_fieldcat-fieldname = 'AS4TIME'.
  ty_fieldcat-tabname = 'GT_DD02L'.
  ty_fieldcat-coltext = 'TIME'.
  ty_fieldcat-outputlen = 10.
  APPEND ty_fieldcat TO it_fieldcat.
  CLEAR ty_fieldcat.  ty_fieldcat-row_pos = 1.
  ty_fieldcat-col_pos = 6.
  ty_fieldcat-fieldname = 'CONTFLAG'.
  ty_fieldcat-tabname = 'GT_DD02L'.
  ty_fieldcat-coltext = 'Delivery Class'.
  ty_fieldcat-outputlen = 15.
  APPEND ty_fieldcat TO it_fieldcat.
  CLEAR ty_fieldcat.ENDFORM.                    " ALV_100_FIELDCAT
*&---------------------------------------------------------------------*
*&      Form  ALV_101_LAYOUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM alv_101_layout .  ty_lay2-grid_title = 'FIELDS'.
  ty_lay2-zebra = 'X'.
  ty_lay2-no_toolbar = 'X'.ENDFORM.                    " ALV_101_LAYOUT
*&---------------------------------------------------------------------*
*&      Form  ALV_101_FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM alv_101_fieldcat .  REFRESH it_fieldcat.
  REFRESH it_fcat.
  CLEAR ty_fcat.  ty_fcat-row_pos = 1.
  ty_fcat-col_pos = 1.
  ty_fcat-fieldname = 'FIELDNAME'.
  ty_fcat-tabname = 'GT_DD03L'.
  ty_fcat-coltext = 'Fieldname'.
  ty_fcat-outputlen = 10.
  APPEND ty_fcat TO it_fcat.
  ty_fcat-row_pos = 1.
  ty_fcat-col_pos = 2.
  ty_fcat-fieldname = 'CHECKTABLE'.
  ty_fcat-tabname = 'GT_DD03L'.
  ty_fcat-coltext = 'CHECKTABLE'.
  ty_fcat-outputlen = 10.
  APPEND ty_fcat TO it_fcat.  ty_fcat-row_pos = 1.
  ty_fcat-col_pos = 3.
  ty_fcat-fieldname = 'KEYFLAG'.
  ty_fcat-tabname = 'GT_DD03L'.
  ty_fcat-coltext = 'Key Flag'.
  ty_fcat-outputlen = 10.
  APPEND ty_fcat TO it_fcat.ENDFORM.                    " ALV_101_FIELDCAT

Edited by: ravee on Jun 3, 2008 5:50 PM

Edited by: ravee on Jun 3, 2008 5:51 PM

Read only

uwe_schieferstein
Active Contributor
0 Likes
547

Hello

You may have a look at my sample report ZUS_SDN_TWO_ALV_GRIDS_2SCR:


*&---------------------------------------------------------------------*
*& Report  ZUS_SDN_TWO_ALV_GRIDS
*&
*&---------------------------------------------------------------------*
*& Thread: CL_GUI_ALV_GRID-GET_SELECTED_ROWS Parameter ET_INDEX_ROWS not filled.
*& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="826287"></a>
*&
*& Thread: ALV double-click
*& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="900214"></a>
*&---------------------------------------------------------------------*
*& Screen '0100' contains no elements.
*& ok_code -> assigned to GD_OKCODE
*&
*& Flow logic:
*  PROCESS BEFORE OUTPUT.
*    MODULE STATUS_0100.
**
*  PROCESS AFTER INPUT.
*    MODULE USER_COMMAND_0100.
*&
*& Screen '0200': copy of screen '0100' (for the sake of simplicity)
*&---------------------------------------------------------------------*

REPORT  zus_sdn_two_alv_grids_2scr.




DATA:
  gd_okcode        TYPE ui_func,
  gd_repid         TYPE syrepid,
*
  go_docking1      TYPE REF TO cl_gui_docking_container,
  go_docking2      TYPE REF TO cl_gui_docking_container,
  go_grid1         TYPE REF TO cl_gui_alv_grid,
  go_grid2         TYPE REF TO cl_gui_alv_grid,
  gs_layout        TYPE lvc_s_layo.


DATA:
  gt_outtab1       TYPE STANDARD TABLE OF knb1,
  gt_outtab2       TYPE STANDARD TABLE OF knvv.



*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler DEFINITION.

  PUBLIC SECTION.
    CLASS-METHODS:
      handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
        IMPORTING
          e_row
          e_column
          es_row_no
          sender.


ENDCLASS.                    "lcl_eventhandler DEFINITION



*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.

  METHOD handle_double_click.
*   define local data
    DATA:
      lt_rows   type lvc_t_row.

    CHECK ( sender = go_grid1 ).

    append e_row to lt_rows.

    CALL METHOD go_grid1->set_selected_rows
      EXPORTING
        it_index_rows            = lt_rows
*        it_row_no                =
*        is_keep_other_selections =
        .

*   Triggers PAI of the dynpro with the specified ok-code
    CALL METHOD cl_gui_cfw=>set_new_ok_code( 'DETAIL' ).



  ENDMETHOD.                    "handle_double_click

ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION




START-OF-SELECTION.

  SELECT        * FROM  knb1 INTO TABLE gt_outtab1
         WHERE  bukrs  = '1000'.


  PERFORM init_controls.


* Display data
  gs_layout-grid_title = 'Customers'.
  gs_layout-sel_mode   = 'D'.  " multiple row selection
  CALL METHOD go_grid1->set_table_for_first_display
    EXPORTING
      i_structure_name = 'KNB1'
      is_layout        = gs_layout
    CHANGING
      it_outtab        = gt_outtab1
    EXCEPTIONS
      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.

  gs_layout-grid_title = 'Customers Details (Sales Areas)'.
  CALL METHOD go_grid2->set_table_for_first_display
    EXPORTING
      i_structure_name = 'KNVV'
      is_layout        = gs_layout
    CHANGING
      it_outtab        = gt_outtab2  " empty !!!
    EXCEPTIONS
      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.


  gd_repid = syst-repid.
* Link the docking container to the target dynpro
  CALL METHOD go_docking1->link
    EXPORTING
      repid                       = gd_repid
      dynnr                       = '0100'
*      CONTAINER                   =
    EXCEPTIONS
      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.

* Link the docking container to the target dynpro
  CALL METHOD go_docking2->link
    EXPORTING
      repid                       = gd_repid
      dynnr                       = '0200'
*      CONTAINER                   =
    EXCEPTIONS
      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.

* NOTE: dynpro does not contain any elements
  CALL SCREEN '0100'.
* Flow logic of dynpro '0100' (does not contain any dynpro elements):
*
*PROCESS BEFORE OUTPUT.
*  MODULE STATUS_0100.
**
*PROCESS AFTER INPUT.
*  MODULE USER_COMMAND_0100.



END-OF-SELECTION.


*&---------------------------------------------------------------------*
*&      Form  INIT_CONTROLS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM init_controls .

* Create docking container
  CREATE OBJECT go_docking1
    EXPORTING
      parent = cl_gui_container=>screen0
      ratio  = 90
    EXCEPTIONS
      OTHERS = 6.
  IF sy-subrc <> 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


* Create ALV grids
  CREATE OBJECT go_grid1
    EXPORTING
      i_parent = go_docking1
    EXCEPTIONS
      OTHERS   = 5.
  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 event handler
  SET HANDLER:
    lcl_eventhandler=>handle_double_click FOR go_grid1.


* Create docking container
  CREATE OBJECT go_docking2
    EXPORTING
      parent = go_docking2
      ratio  = 90
    EXCEPTIONS
      OTHERS = 6.
  IF sy-subrc <> 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

* Create ALV grids
  CREATE OBJECT go_grid2
    EXPORTING
      i_parent = go_docking2
    EXCEPTIONS
      OTHERS   = 5.
  IF sy-subrc <> 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    " INIT_CONTROLS

*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS_0100'.  " contains push button "DETAIL"
*  SET TITLEBAR 'xxx'.


* Refresh display of detail ALV list
  CALL METHOD go_grid2->refresh_table_display
*    EXPORTING
*      IS_STABLE      =
*      I_SOFT_REFRESH =
    EXCEPTIONS
      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.


ENDMODULE.                 " STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.

  TRANSLATE gd_okcode TO UPPER CASE.

  CASE gd_okcode.
    WHEN 'BACK' OR
         'END'  OR
         'CANC'.
      CASE syst-dynnr.
        WHEN '0100'.
          SET SCREEN 0. LEAVE SCREEN.
        WHEN '0200'.
          SET SCREEN '0100'.
          LEAVE SCREEN.
      ENDCASE.

*   User has pushed button "Display Details"
    WHEN 'DETAIL'.
      PERFORM entry_show_details.
      CALL SCREEN '0200'.

      WHEN 'DELETE'.
        perform DELETE_ENTRIES.

    WHEN OTHERS.
  ENDCASE.

  CLEAR: gd_okcode.

ENDMODULE.                 " USER_COMMAND_0100  INPUT

*&---------------------------------------------------------------------*
*&      Form  ENTRY_SHOW_DETAILS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM entry_show_details .
* define local data
  DATA:
    ls_row      TYPE lvc_s_row,
    lt_rows     type lvc_t_row,
    ls_knb1     TYPE knb1,
    lt_knb1     TYPE STANDARD TABLE OF knb1.



  CALL METHOD go_grid1->get_selected_rows
    IMPORTING
      et_index_rows = lt_rows
*      et_row_no     =
      .

  LOOP AT lt_rows INTO ls_row.
    READ TABLE gt_outtab1 INTO ls_knb1 INDEX ls_row-index.

    APPEND ls_knb1 TO lt_knb1.
  ENDLOOP.

  IF ( lt_rows IS INITIAL ).
    REFRESH: gt_outtab2.
  ELSE.
    SELECT * FROM  knvv INTO TABLE gt_outtab2
        FOR ALL ENTRIES IN lt_knb1
           WHERE  kunnr  = lt_knb1-kunnr.
  ENDIF.



ENDFORM.                    " ENTRY_SHOW_DETAILS
*&---------------------------------------------------------------------*
*&      Form  DELETE_ENTRIES
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form DELETE_ENTRIES .
* define local data
  DATA:
    ls_row      TYPE lvc_s_row,
    lt_rows     type lvc_t_row.

  CALL METHOD go_grid1->get_selected_rows
    IMPORTING
      et_index_rows = lt_rows
*      et_row_no     =
      .

  LOOP AT lt_rows INTO ls_row.
    delete gt_outtab1 INDEX ls_row-index.
  ENDLOOP.

  go_grid1->refresh_table_display( ).  " Mandatory !!!


endform.                    " DELETE_ENTRIES

Regards

Uwe

Read only

Former Member
0 Likes
547

Hi,

Check this Standard Program 'BCALV_GRID_AND_POPUP'....

reward if helpful.

Regards,

Syed

Read only

Former Member
0 Likes
547

Hi,

It is called interactive alv. Check the following link:

http://www.saptechnical.com/Tutorials/ALV/SimpleIALV/Program.htm

Regards,

Bhaskar