AT LINE SELECTION EVENT IN BLOCKED ALV

hi friends,
i have developed blocked alv report.
i wanted to use at line selection event..
pls halp me if u know..
thanks and regards,
shridevi.l

hi
there is no particulat at line selection event in REUSE_ALV_EVENTS_GET.
at line selection we get fct 'PICK' code for double click.
so using that fct code we do the operations using at user_command. which is other way of implemnting at line-selection
If any quieries revert, reward if helpful
Try this code
*& Report  ZP_ALV8
REPORT  zp_alv8.
TABLES: kna1, mara, vbak, mard.
TYPE-POOLS: slis.
**TYPE DECLERATION
TYPES: BEGIN OF ty_kna1,
         kunnr LIKE kna1-kunnr,
         land1 LIKE kna1-land1,
         name1 LIKE kna1-name1,
         ort01 LIKE kna1-ort01,
       END OF ty_kna1.
TYPES: BEGIN OF ty_mara,
         matnr LIKE mara-matnr,
         ersda LIKE mara-ersda,
         ernam LIKE mara-ernam,
       END OF ty_mara.
TYPES: BEGIN OF ty_vbak,
         vbeln LIKE vbak-vbeln,
         erdat LIKE vbak-erdat,
         ernam LIKE vbak-ernam,
       END OF ty_vbak.
TYPES: BEGIN OF ty_mard,
         matnr LIKE mard-matnr,
         werks LIKE mard-werks,
         lgort LIKE mard-lgort,
      END OF ty_mard.
**DATA DECLERATION
DATA: it_kna1 TYPE STANDARD TABLE OF ty_kna1,
      wa_kna1 TYPE ty_kna1.
DATA: it_mara TYPE STANDARD TABLE OF ty_mara,
      wa_mara TYPE ty_mara.
DATA: it_vbak TYPE STANDARD TABLE OF ty_vbak,
      wa_vbak TYPE ty_vbak.
DATA: it_mard TYPE STANDARD TABLE OF ty_mard,
      wa_mard TYPE ty_mard.
DATA: it_fieldcat_kna1 TYPE slis_t_fieldcat_alv,
      wa_fieldcat_kna1 TYPE slis_fieldcat_alv,
      it_fieldcat_mara TYPE slis_t_fieldcat_alv,
      wa_fieldcat_mara TYPE slis_fieldcat_alv,
      it_fieldcat_vbak TYPE slis_t_fieldcat_alv,
      wa_fieldcat_vbak TYPE slis_fieldcat_alv,
      it_fieldcat_mard TYPE slis_t_fieldcat_alv,
      wa_fieldcat_mard TYPE slis_fieldcat_alv.
DATA: it_event_kna1 TYPE slis_t_event,
      wa_event_kna1 TYPE slis_alv_event,
      it_event_mara TYPE slis_t_event,
      wa_event_mara TYPE slis_alv_event,
      it_event_vbak TYPE slis_t_event,
      wa_event_vbak TYPE slis_alv_event,
      it_event_mard TYPE slis_t_event,
      wa_event_mard TYPE slis_alv_event.
DATA: wa_layout TYPE slis_layout_alv,
      it_listheader TYPE slis_t_listheader,
      wa_listheader TYPE slis_listheader.
selection-screen begin of block b1 with frame title text-001.
select-options: s_kunnr for kna1-kunnr default '1000' to '1050'.
selection-screen end of block b1.
selection-screen begin of block b2 with frame title text-002.
select-options: s_matnr for mara-matnr default '1' to '100'.
selection-screen end of block b2.
**INITIALIZATION
INITIALIZATION.
  PERFORM layout.
  PERFORM fieldcat_kna1.
  PERFORM fieldcat_mara.
  PERFORM event_kna1.
  PERFORM event_mara.
  PERFORM eventpopulate_kna1.
  PERFORM eventpopulate_mara.
**START OF SELECTION AND FIRST LIST DISPLAY
START-OF-SELECTION.
  SELECT kunnr land1 name1 ort01
         FROM kna1
         INTO TABLE it_kna1
         where kunnr in s_kunnr.
       UP TO 10 ROWS.
  SELECT matnr ersda ernam
         FROM mara
         INTO TABLE it_mara
         where matnr in s_matnr.
        UP TO 20 ROWS.
  PERFORM display.
**FORM LAYOUT
*&      Form  layout
      text
-->  p1        text
<--  p2        text
FORM layout .
  wa_layout-zebra ='X'.
  wa_layout-get_selinfos      = 'X'.
  wa_layout-key_hotspot = 'X'.
ENDFORM.                    " layout
*FIELD CATALOUGE*******************************
*&      Form  fieldcat_kna1
      text
-->  p1        text
<--  p2        text
FORM fieldcat_kna1 .
  REFRESH it_fieldcat_kna1.
  CLEAR wa_fieldcat_kna1.
  wa_fieldcat_kna1-fieldname = 'KUNNR'.
  wa_fieldcat_kna1-seltext_l = 'CUSTOMER NUMBER'.
  wa_fieldcat_kna1-datatype = 'CHAR'.
  wa_fieldcat_kna1-outputlen = 30.
  wa_fieldcat_kna1-tabname = 'IT_KNA1'.
  wa_fieldcat_kna1-key = 'X'.
  wa_fieldcat_kna1-hotspot = 'X'.
  wa_fieldcat_kna1-col_pos = 1.
  wa_fieldcat_kna1-emphasize = 'C21'.
  APPEND wa_fieldcat_kna1 TO it_fieldcat_kna1.
  CLEAR wa_fieldcat_kna1.
  wa_fieldcat_kna1-fieldname = 'LAND1'.
  wa_fieldcat_kna1-seltext_l = 'COUNTRY CODE'.
  wa_fieldcat_kna1-datatype = 'CHAR'.
  wa_fieldcat_kna1-outputlen = 30.
  wa_fieldcat_kna1-tabname = 'IT_KNA1'.
  wa_fieldcat_kna1-hotspot = 'X'.
  wa_fieldcat_kna1-col_pos = 2.
  wa_fieldcat_kna1-emphasize = 'C31'.
  APPEND wa_fieldcat_kna1 TO it_fieldcat_kna1.
  CLEAR wa_fieldcat_kna1.
  wa_fieldcat_kna1-fieldname = 'NAME1'.
  wa_fieldcat_kna1-seltext_l = 'CUSTOMER NAME'.
  wa_fieldcat_kna1-datatype = 'CHAR'.
  wa_fieldcat_kna1-outputlen = 30.
  wa_fieldcat_kna1-tabname = 'IT_KNA1'.
  wa_fieldcat_kna1-hotspot = 'X'.
  wa_fieldcat_kna1-col_pos = 3.
  wa_fieldcat_kna1-emphasize = 'C71'.
  APPEND wa_fieldcat_kna1 TO it_fieldcat_kna1.
  CLEAR wa_fieldcat_kna1.
  wa_fieldcat_kna1-fieldname = 'ORT01'.
  wa_fieldcat_kna1-seltext_l = 'COUNTRY '.
  wa_fieldcat_kna1-datatype = 'CHAR'.
  wa_fieldcat_kna1-outputlen = 30.
  wa_fieldcat_kna1-tabname = 'IT_KNA1'.
  wa_fieldcat_kna1-hotspot = 'X'.
  wa_fieldcat_kna1-col_pos = 4.
  wa_fieldcat_kna1-emphasize = 'C51'.
  APPEND wa_fieldcat_kna1 TO it_fieldcat_kna1.
  CLEAR wa_fieldcat_kna1.
ENDFORM.                    " fieldcat_kna1
*&      Form  fieldcat_kna2
      text
FORM fieldcat_mara  .
  wa_fieldcat_mara-fieldname = 'MATNR'.
  wa_fieldcat_mara-seltext_l = 'MATERIAL NUMBER'.
  wa_fieldcat_mara-datatype = 'CHAR'.
  wa_fieldcat_mara-outputlen = 30.
  wa_fieldcat_mara-tabname = 'IT_MARA'.
  wa_fieldcat_mara-key = 'X'.
  wa_fieldcat_mara-hotspot = 'X'.
  wa_fieldcat_mara-col_pos = 1.
  wa_fieldcat_mara-emphasize = 'C21'.
  APPEND wa_fieldcat_mara TO it_fieldcat_mara.
  CLEAR wa_fieldcat_mara.
  wa_fieldcat_mara-fieldname = 'ERSDA'.
  wa_fieldcat_mara-seltext_l = 'CREATED ON'.
  wa_fieldcat_mara-datatype = 'CHAR'.
  wa_fieldcat_mara-outputlen = 30.
  wa_fieldcat_mara-tabname = 'IT_MARA'.
  wa_fieldcat_mara-hotspot = 'X'.
  wa_fieldcat_mara-col_pos = 2.
  wa_fieldcat_mara-emphasize = 'C41'.
  APPEND wa_fieldcat_mara TO it_fieldcat_mara.
  CLEAR wa_fieldcat_mara.
  wa_fieldcat_mara-fieldname = 'ERNAM'.
  wa_fieldcat_mara-seltext_l = 'CREATED BY'.
  wa_fieldcat_mara-datatype = 'CHAR'.
  wa_fieldcat_mara-outputlen = 30.
  wa_fieldcat_mara-tabname = 'IT_MARA'.
  wa_fieldcat_mara-hotspot = 'X'.
  wa_fieldcat_mara-col_pos = 3.
  wa_fieldcat_mara-emphasize = 'C61'.
  APPEND wa_fieldcat_mara TO it_fieldcat_mara.
  CLEAR wa_fieldcat_mara.
ENDFORM.                    "fieldcat_kna2
*&      Form  FIELDCAT_VBAK
      text
FORM fieldcat_vbak.
  wa_fieldcat_vbak-fieldname = 'VBELN'.
  wa_fieldcat_vbak-seltext_l = 'SALES ORDER'.
  wa_fieldcat_vbak-datatype = 'CHAR'.
  wa_fieldcat_vbak-outputlen = 30.
  wa_fieldcat_vbak-tabname = 'IT_VBAK'.
  wa_fieldcat_vbak-hotspot = 'X'.
  wa_fieldcat_vbak-col_pos = 3.
  wa_fieldcat_vbak-emphasize = 'C31'.
  APPEND wa_fieldcat_vbak TO it_fieldcat_vbak.
  CLEAR wa_fieldcat_vbak.
  wa_fieldcat_vbak-fieldname = 'ERDAT'.
  wa_fieldcat_vbak-seltext_l = 'CREATED ON'.
  wa_fieldcat_vbak-datatype = 'DATS'.
  wa_fieldcat_vbak-outputlen = 30.
  wa_fieldcat_vbak-tabname = 'IT_VBAK'.
  wa_fieldcat_vbak-hotspot = 'X'.
  wa_fieldcat_vbak-col_pos = 3.
  wa_fieldcat_vbak-emphasize = 'C41'.
  APPEND wa_fieldcat_vbak TO it_fieldcat_vbak.
  CLEAR wa_fieldcat_vbak.
  wa_fieldcat_vbak-fieldname = 'ERNAM'.
  wa_fieldcat_vbak-seltext_l = 'CREATED BY'.
  wa_fieldcat_vbak-datatype = 'CHAR'.
  wa_fieldcat_vbak-outputlen = 30.
  wa_fieldcat_vbak-tabname = 'IT_VBAK'.
  wa_fieldcat_vbak-hotspot = 'X'.
  wa_fieldcat_vbak-col_pos = 3.
  wa_fieldcat_vbak-emphasize = 'C51'.
  APPEND wa_fieldcat_vbak TO it_fieldcat_vbak.
  CLEAR wa_fieldcat_vbak.
ENDFORM.                    "FIELDCAT_VBAK
*&      Form  fieldcat_mard
      text
FORM fieldcat_mard.
  wa_fieldcat_mard-fieldname = 'MATNR'.
  wa_fieldcat_mard-seltext_l = 'MATERIAL NUMBER'.
  wa_fieldcat_mard-datatype = 'CHAR'.
  wa_fieldcat_mard-outputlen = 30.
  wa_fieldcat_mard-tabname = 'IT_MARD'.
  wa_fieldcat_mard-hotspot = 'X'.
  wa_fieldcat_mard-col_pos = 1.
  wa_fieldcat_mard-emphasize = 'C31'.
  APPEND wa_fieldcat_mard TO it_fieldcat_mard.
  CLEAR wa_fieldcat_mard.
  wa_fieldcat_mard-fieldname = 'WERKS'.
  wa_fieldcat_mard-seltext_l = 'PLANT'.
  wa_fieldcat_mard-datatype = 'CHAR'.
  wa_fieldcat_mard-outputlen = 30.
  wa_fieldcat_mard-tabname = 'IT_MARD'.
  wa_fieldcat_mard-hotspot = 'X'.
  wa_fieldcat_mard-col_pos = 2.
  wa_fieldcat_mard-emphasize = 'C61'.
  APPEND wa_fieldcat_mard TO it_fieldcat_mard.
  CLEAR wa_fieldcat_mard.
  wa_fieldcat_mard-fieldname = 'LGORT'.
  wa_fieldcat_mard-seltext_l = 'STORAGE LOCATION'.
  wa_fieldcat_mard-datatype = 'CHAR'.
  wa_fieldcat_mard-outputlen = 30.
  wa_fieldcat_mard-tabname = 'IT_MARD'.
  wa_fieldcat_mard-hotspot = 'X'.
  wa_fieldcat_mard-col_pos = 3.
  wa_fieldcat_mard-emphasize = 'C81'.
  APPEND wa_fieldcat_mard TO it_fieldcat_mard.
  CLEAR wa_fieldcat_mard.
ENDFORM  .                    "fieldcat_mard
**FORM DISPLAY
*&      Form  Display
      text
-->  p1        text
<--  p2        text
FORM display .
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
    EXPORTING
      i_callback_program = sy-repid
  I_CALLBACK_PF_STATUS_SET       = ' '
   I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'.
  IT_EXCLUDING                   =
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      is_layout                        = wa_layout
      it_fieldcat                      = it_fieldcat_kna1
      i_tabname                        = 'IT_KNA1'
     it_events                         = it_event_kna1
  IT_SORT                          =
  I_TEXT                           = ' '
    TABLES
      t_outtab                         = it_kna1
   EXCEPTIONS
     program_error                    = 1
     maximum_of_appends_reached       = 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_BLOCK_LIST_APPEND'
    EXPORTING
      is_layout                        = wa_layout
      it_fieldcat                      = it_fieldcat_mara
      i_tabname                        = 'IT_MARA'
      it_events                        = it_event_mara
  IT_SORT                          =
  I_TEXT                           = ' '
    TABLES
      t_outtab                         = it_mara
   EXCEPTIONS
     program_error                    = 1
     maximum_of_appends_reached       = 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_BLOCK_LIST_DISPLAY'
    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.
ENDFORM.                    " Display
**EVENTS FOR KNA1 AND MARA
*&      Form  EVENT_KNA1
      text
-->  p1        text
<--  p2        text
FORM event_kna1 .
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type     = 0
    IMPORTING
      et_events       = it_event_kna1
    EXCEPTIONS
      list_type_wrong = 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.
ENDFORM.                    " EVENT_KNA1
*&      Form  EVENT_MARA
      text
-->  p1        text
<--  p2        text
FORM event_mara .
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type     = 0
    IMPORTING
      et_events       = it_event_mara
    EXCEPTIONS
      list_type_wrong = 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.
ENDFORM.                    " EVENT_MARA
**POPULATING EVENTS
*&      Form  eventpopulate_kna1
      text
-->  p1        text
<--  p2        text
FORM eventpopulate_kna1 .
  READ TABLE it_event_kna1 INTO wa_event_kna1 WITH KEY name = 'TOP_OF_PAGE'.
  IF sy-subrc = 0.
    wa_event_kna1-form = 'TOP_OF_PAGE_KNA1'.
    MODIFY it_event_kna1 FROM wa_event_kna1 TRANSPORTING form WHERE name = wa_event_kna1-name.
  ENDIF.
READ TABLE it_event_kna1 INTO wa_event_kna1 WITH KEY name = 'USER_COMMAND'.
IF sy-subrc = 0.
   wa_event_kna1-form = 'USER_COMMAND_KNA1'.
   MODIFY it_event_kna1 FROM wa_event_kna1 TRANSPORTING form WHERE name = wa_event_kna1-name.
ENDIF.
ENDFORM.                    " eventpopulate_kna1
*&      Form  eventpopulate_mara
      text
-->  p1        text
<--  p2        text
FORM eventpopulate_mara .
  READ TABLE it_event_mara INTO wa_event_mara WITH KEY name = 'TOP_OF_PAGE'.
  IF sy-subrc = 0.
    wa_event_mara-form = 'TOP_OF_PAGE_MARA'.
    MODIFY it_event_mara FROM wa_event_mara TRANSPORTING form WHERE name = wa_event_mara-name.
  ENDIF.
READ TABLE it_event_mara INTO wa_event_mara WITH KEY name = 'USER_COMMAND'.
IF sy-subrc = 0.
   wa_event_mara-form = 'USER_COMMAND_MARA'.
   MODIFY it_event_mara FROM wa_event_mara TRANSPORTING form WHERE name = wa_event_mara-name.
ENDIF.
ENDFORM.                    " eventpopulate_mara
**TOP OF PAGE
*&      Form  TOP_OF_PAGE_KNA1
      text
FORM top_of_page_kna1.
wa_listheader-typ = 'H'.
wa_listheader-info = 'CUSTOMER DETAILS' .
APPEND wa_listheader TO it_listheader.
CLEAR wa_listheader.
  WRITE:/ 'CUSTOMER DETAILS'.
ENDFORM.                    "TOP_OF_PAGE_KNA1
*&      Form  TOP_OF_PAGE_MARA
      text
FORM top_of_page_mara.
wa_listheader-typ = 'H'.
wa_listheader-info = 'MATERIAL DETAILS' .
APPEND wa_listheader TO it_listheader.
CLEAR wa_listheader.
  WRITE:/ 'MATERIAL DETAILS' .
ENDFORM.                    "TOP_OF_PAGE_KNA1
**CODE FOR SECOND LIST DISPLAY FOR VBAK
*&      Form  USER_COMMAND
      text
     -->UCOMM      text
     -->R_SELFIELD text
FORM user_command
     USING ucomm LIKE sy-ucomm
           r_selfield TYPE slis_selfield.
CASE UCOMM.
  when '&IC1'.
    CASE R_SELFIELD-TABNAME.
      WHEN 'IT_KNA1'.
        DATA: CUST(10) TYPE n.
        CUST = r_selfield-value.
         SELECT vbeln erdat ernam
                FROM vbak
                INTO TABLE it_vbak
                WHERE kunnr = cust.
         PERFORM fieldcat_vbak.
         PERFORM display_vbak.
      WHEN 'IT_MARA'.
        DATA: MAT(18) TYPE N.
        MAT = R_selfield-value.
          SELECT matnr werks lgort
               FROM mard
               INTO TABLE it_mard
               WHERE matnr = mat.
        PERFORM fieldcat_mard.
        PERFORM display_mard.
     ENDCASE.
  ENDCASE.
ENDFORM.                    "USER_COMMAND
**&      Form  USER_COMMAND_MARA
      text
     -->UCOMM      text
     -->S_SELFIELD text
*FORM user_command_mara
    USING ucomm LIKE sy-ucomm
          s_selfield TYPE slis_selfield.
SELECT matnr werks lgort
        FROM mard
        INTO TABLE it_mard
        WHERE matnr = s_selfield-value.
PERFORM fieldcat_mard.
PERFORM display_mard.
*ENDFORM.                    "USER_COMMAND_MARA
*&      Form  DISPLAY_VBAK
      text
-->  p1        text
<--  p2        text
FORM display_vbak .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
  I_INTERFACE_CHECK                 = ' '
  I_BYPASSING_BUFFER                = ' '
  I_BUFFER_ACTIVE                   = ' '
   I_CALLBACK_PROGRAM                = sy-repid
  I_CALLBACK_PF_STATUS_SET          = ' '
  I_CALLBACK_USER_COMMAND           = ' '
  I_CALLBACK_TOP_OF_PAGE            = ' '
  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
  I_CALLBACK_HTML_END_OF_LIST       = ' '
  I_STRUCTURE_NAME                  =
  I_BACKGROUND_ID                   = ' '
  I_GRID_TITLE                      =
  I_GRID_SETTINGS                   =
   IS_LAYOUT                         = wa_layout
   IT_FIELDCAT                       = it_fieldcat_vbak
  IT_EXCLUDING                      =
  IT_SPECIAL_GROUPS                 =
  IT_SORT                           =
  IT_FILTER                         =
  IS_SEL_HIDE                       =
  I_DEFAULT                         = 'X'
  I_SAVE                            = ' '
  IS_VARIANT                        =
  IT_EVENTS                         =
  IT_EVENT_EXIT                     =
  IS_PRINT                          =
  IS_REPREP_ID                      =
  I_SCREEN_START_COLUMN             = 0
  I_SCREEN_START_LINE               = 0
  I_SCREEN_END_COLUMN               = 0
  I_SCREEN_END_LINE                 = 0
  I_HTML_HEIGHT_TOP                 = 0
  I_HTML_HEIGHT_END                 = 0
  IT_ALV_GRAPHICS                   =
  IT_HYPERLINK                      =
  IT_ADD_FIELDCAT                   =
  IT_EXCEPT_QINFO                   =
  IR_SALV_FULLSCREEN_ADAPTER        =
IMPORTING
  E_EXIT_CAUSED_BY_CALLER           =
  ES_EXIT_CAUSED_BY_USER            =
  TABLES
    t_outtab                          = it_vbak
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.
ENDFORM.                    " DISPLAY_VBAK
*&      Form  display_mard
      text
FORM display_mard .
  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
   EXPORTING
  I_INTERFACE_CHECK              = ' '
  I_BYPASSING_BUFFER             =
  I_BUFFER_ACTIVE                = ' '
     i_callback_program             = sy-repid
  I_CALLBACK_PF_STATUS_SET       = ' '
    i_callback_user_command        = 'USER_COMMAND_MARD'
  I_STRUCTURE_NAME               =
     is_layout                      = wa_layout
     it_fieldcat                    = it_fieldcat_mard
  IT_EXCLUDING                   =
  IT_SPECIAL_GROUPS              =
  IT_SORT                        =
  IT_FILTER                      =
  IS_SEL_HIDE                    =
  I_DEFAULT                      = 'X'
  I_SAVE                         = ' '
  IS_VARIANT                     =
    it_events                      = it_event_mard
  IT_EVENT_EXIT                  =
  IS_PRINT                       =
  IS_REPREP_ID                   =
  I_SCREEN_START_COLUMN          = 0
  I_SCREEN_START_LINE            = 0
  I_SCREEN_END_COLUMN            = 0
  I_SCREEN_END_LINE              = 0
  IR_SALV_LIST_ADAPTER           =
  IT_EXCEPT_QINFO                =
  I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
IMPORTING
  E_EXIT_CAUSED_BY_CALLER        =
  ES_EXIT_CAUSED_BY_USER         =
    TABLES
      t_outtab                       = it_mard
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.
ENDFORM.                    "display_mard
REGARDS
PRASANTH

Similar Messages

  • Error in at line-selection event...

    Hello experts,
    In my report, I am hiding the values of BUKRS, ANLN1 and ANLN2 during my loop.
    I am using field symbols as my work area for my itab which is it_output. The problem
    is, when I try to do this in my at line-selection event:
    at line-selection.
    data: cursorfield(20) type c.
        get cursor field cursorfield.
        case cursorfield.
         when '<FS_OUTPUT>-ASSET_SUBNUM'.
         SET PARAMETER ID 'BUK' FIELD <FS_OUTPUT>-bukrs.
         SET PARAMETER ID 'AN1' FIELD <FS_OUTPUT>-asset.
         SET PARAMETER ID 'AN2' FIELD <FS_OUTPUT>-anln2.
        endcase.
    It says that it can't recognize the fields. What am I doing wrong? By the way, I am using
    ABAP Objects in my report. Help would be greatly appreciated. Thanks again guys and take care!

    Hi Viraylab,
    Have you assigned the fieldsymbols ?
    ASSIGN IT_OUTPUT to <FS_OUTPUT>.
    Cheers
    VJ
    Message was edited by: Vijayendra  Rao

  • "AT LINE-SELECTION" event in a Query (SQ01 or SQ02)

    Hi there
    I want to know if it's possible to put "AT LINE-SELECTION" event in an ABAP Query? I'm trying that in SQ02 - the infoset - but nothing happens when I double-click on the output lines. I cannot find any place to type codes in SQ01.
    The purpose is to call a transaction VA03 when people double-click on the output field "sales order number" and here is the code I put in "Free coding" section of SQ02.
    AT LINE-SELECTION.
      DATA: w_cucol TYPE sy-cucol.
      w_cucol = sy-cucol + sy-staco.
      w_cucol = w_cucol - 2.
      IF w_cucol BETWEEN 103 AND 119.
        SET PARAMETER ID 'AUN' FIELD vbkd-vbeln.
        CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
      ENDIF.
    yu

    Hi ,
    You must create infoset based on join VBKD with VBAK and LIPS.
    Also you must put VBAK-VBELN and LIPS-VBELN as a column output.
    There is no problem to use 2 report assignment ( there is no loss ).
    There is no necessity to use " some ABAP code at line-selection ".
    This works.
    By the way is more correct from the beginning to formulate the issue including all the data about your problem and not include them by adding a little at a time.
    Regards.

  • How to handle at line-selection event for 2 different fields

    Hi,
    The requirement is there are 2 fields in a report output.
    One is Material number
    and the other is Material document number.
    On clicking the material number, the user should be taken to MM03 screen.
    On clicking the Material document number, the user should be taken to MB03 screen.
    I am able to take care of the first one by putting a HOTSPOT on material number and I am using at line-Selection event, call transaction MM03 and it is working fine
    I want to know how can I handle similarly for the document number?
    Thanks,
    Kumar.

    Hi,
    chk this sample code.
    Some part of code is higlighted which meets ur rewuirement.
    REPORT  z50871sd_rept_interactiverept NO STANDARD PAGE HEADING.
            STRUCTURE DECLARATIONS*
            INTERNAL TABLE  DECLARATIONS*
            WORKAREA DECLARATIONS*
    TYPES : BEGIN OF st_kna1,
             kunnr TYPE kna1-kunnr,            "CUSTOMER NUMBER
             name1 TYPE kna1-name1,            "CUSTOMER NAME
            END OF st_kna1.
    TYPES : BEGIN OF st_vbak,
             kunnr TYPE kna1-kunnr,
             vbeln TYPE vbak-vbeln,            "SALES DOCUMENT NUMBER
             erdat TYPE vbak-erdat,            "DATE ON WHICH THE RECORD WAS CREATED
             audat TYPE vbak-audat,            "DOCUMENT DATE
             auart TYPE vbak-auart,            "SALES DOCUMENT TYPE
             ernam TYPE vbak-ernam,            "NAME OF PERSON WHO CREATED THE OBJECT.
             augru TYPE vbak-augru,            "ORDER REASON
            END OF st_vbak.
    TYPES : BEGIN OF st_vbap,
             vbeln TYPE vbak-vbeln,
             posnr TYPE vbap-posnr,            "SALES DOCUMENT ITEM
             matnr TYPE vbap-matnr,            "MATERIAL NUMBER
             charg TYPE vbap-charg,            "BATCH NUMBER
             matkl TYPE vbap-matkl,            "MATERIAL GROUP
             posar TYPE vbap-posar,            "ITEM TYPE
           END OF st_vbap.
    DATA : it_kna1 TYPE STANDARD TABLE OF st_kna1,
           it_vbak TYPE STANDARD TABLE OF st_vbak,
           it_vbap TYPE STANDARD TABLE OF st_vbap,
           wa_kna1 TYPE st_kna1,
           wa_vbak TYPE st_vbak,
           wa_vbap TYPE st_vbap.
    DATA : v_fld(15),
           v_kunnr TYPE kna1-kunnr,
           v_vbeln TYPE vbak-vbeln.
            SELECT-OPTIONS*
             PARAMETERS*
    SELECT-OPTIONS so_kunnr FOR v_kunnr.          "CUSTOMER NUMBER
    PARAMETERS : p_max TYPE i.                    "NUMBER OF HITS
            START-OF-SELECTION*
    START-OF-SELECTION.
      PERFORM get_customerdata.
      SET PF-STATUS 'MENU1'.
         AT LINE-SELECTION**
    *AT LINE-SELECTION.*
      *IF sy-lsind = 1.*
        *PERFORM get_salesheader.*
      *ELSEIF sy-lsind = 2.*
        *PERFORM get_salesitemdata.*
      *ENDIF.*
         AT USER-COMMAND*
    AT USER-COMMAND.
      CASE sy-ucomm.
        WHEN 'DISP'.
          PERFORM get_salesheader.
        WHEN 'ITEM'.
          PERFORM get_salesitemdata.
        WHEN 'VA03'.
          SET PARAMETER ID 'AUN' FIELD wa_vbak-vbeln.
          CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
      ENDCASE.
         TOP-OF-PAGE*
    TOP-OF-PAGE.
      ULINE AT /1(56).
      WRITE : /1 sy-vline ,
               2(15) text-004 COLOR 1 ,
               sy-vline ,
               20(35) text-005 COLOR 1 ,
               sy-vline.
      ULINE AT /1(56).
         TOP-OF-PAGE DURING LINE-SELECTION.*
    TOP-OF-PAGE DURING LINE-SELECTION.
      CASE sy-lsind.
        WHEN 1.
          PERFORM get_topofpage1.
        WHEN 2.
          PERFORM get_topofpage2.
      ENDCASE.
         FORM GET_CUSTOMERDATA*
    FORM get_customerdata.
      SELECT kunnr name1
             FROM kna1
             INTO TABLE it_kna1
             UP TO p_max ROWS
           WHERE kunnr IN so_kunnr.
      IF sy-subrc EQ 0.
        LOOP AT it_kna1 INTO wa_kna1.
          WRITE : / sy-vline,
                    2(15) wa_kna1-kunnr ,
                    sy-vline ,
                    20 wa_kna1-name1,
                    sy-vline.
          HIDE : wa_kna1-kunnr , wa_kna1-name1.
          CLEAR wa_kna1.
        ENDLOOP.
        ULINE AT : /1(56).
      ELSE.
        MESSAGE w000(z50871msg).
      ENDIF.
    ENDFORM.                    "GET_CUSTOMERDATA
         FORM GET_SALESHEADER*
    FORM get_salesheader.
      SET PF-STATUS 'MENU2'.
      GET CURSOR FIELD v_fld VALUE v_kunnr.
      IF v_fld = 'WA_KNA1-KUNNR'.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            input  = v_kunnr
          IMPORTING
            output = v_kunnr.
        SELECT kunnr vbeln erdat audat auart ernam augru
               FROM vbak
               INTO TABLE it_vbak
             WHERE kunnr = v_kunnr.
        IF sy-subrc EQ 0.
          LOOP AT it_vbak INTO wa_vbak.
            WRITE : / sy-vline ,
                      2(22) wa_vbak-vbeln ,
                      sy-vline,
                      27(25) wa_vbak-erdat ,
                      sy-vline ,
                      55(15) wa_vbak-audat ,
                      sy-vline ,
                      73(15) wa_vbak-auart ,
                      sy-vline,
                      91(16) wa_vbak-ernam ,
                      sy-vline,
                      109(13) wa_vbak-augru,
                      123 sy-vline.
            HIDE : wa_vbak-vbeln.
            CLEAR wa_vbak.
          ENDLOOP.
          *ULINE AT : /1(123).*
        ELSE.
          MESSAGE i015(z50871msg).
        ENDIF.
      ELSE.
        MESSAGE i013(z50871msg).
      ENDIF.
    ENDFORM.                    "GET_SALESHEADER
         FORM GET_SALESITEMDATA
    FORM get_salesitemdata.
      SET PF-STATUS space.
      GET CURSOR FIELD v_fld VALUE v_vbeln.
      IF v_fld = 'WA_VBAK-VBELN'.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            input  = v_vbeln
          IMPORTING
            output = v_vbeln.
        SELECT vbeln posnr matnr charg matkl posar
               FROM vbap
               INTO TABLE it_vbap
             WHERE vbeln = v_vbeln.
        LOOP AT it_vbap INTO wa_vbap.
          WRITE : /1 sy-vline,
                   2(13) wa_vbap-posnr ,
                   sy-vline,
                   18(18) wa_vbap-matnr ,
                   sy-vline,
                   40(13) wa_vbap-charg ,
                   sy-vline,
                   56(16) wa_vbap-matkl ,
                   sy-vline,
                   75 wa_vbap-posar,
                   112 sy-vline.
          CLEAR wa_vbap.
        ENDLOOP.
        ULINE AT : /1(112).
      ELSE.
        MESSAGE i014(z50871msg).
      ENDIF.
    ENDFORM.                    "GET_SALESITEMDATA
         FORM GET_TOPOFPAGE1
    FORM get_topofpage1.
      ULINE AT : /1(123).
      WRITE : / sy-vline ,
                2 text-000 ,
                wa_kna1-kunnr ,
                75 text-001 ,
                wa_kna1-name1,
                123 sy-vline.
      ULINE AT : /1(123).
      WRITE : / sy-vline ,
                  2(22) text-006 COLOR 1,
                  sy-vline,
                  27(25) text-007 COLOR 1 ,
                  sy-vline ,
                  55(15) text-008 COLOR 1 ,
                  sy-vline ,
                  73(15) text-009 COLOR 1 ,
                  sy-vline,
                  91(16) text-010 COLOR 1 ,
                  sy-vline,
                  109(13) text-011 COLOR 1,
                  123 sy-vline.
      ULINE AT : /1(123).
    ENDFORM.                    "GET_TOPOFPAGE1
         FORM GET_TOPOFPAGE2
    FORM get_topofpage2.
      ULINE AT : /1(112).
      WRITE : / sy-vline ,
                2 text-000 ,
                wa_kna1-kunnr ,
                35 text-001 ,
                wa_kna1-name1 ,
                85 text-003 ,
                wa_vbak-vbeln ,
                112 sy-vline.
      ULINE AT : /1(112).
      WRITE : /1 sy-vline,
               2(13) text-012 COLOR 1,
               sy-vline,
               18(18) text-013 COLOR 1 ,
               sy-vline,
               40(13) text-014 COLOR 1  ,
               sy-vline,
               56(16) text-015 COLOR 1 ,
               sy-vline,
               75 text-016 COLOR 1 ,
               112 sy-vline.
      ULINE AT : /1(112).
    ENDFORM.                    "GET_TOPOFPAGE2
    Regards
    Sandeep Reddy

  • Problem in triggering at line selection event in ooabap

    hi ppl,
              Below is the code i did so far using interactive reports,but its showing error "statement END METHOD is missing".
    REPORT  y_program_on_ooabap1.
          CLASS CL DEFINITION
    DATA: lf_matnr TYPE matnr.
      INITIALIZATION.
      PARAMETERS: pa_matnr TYPE matnr.
      SELECT-OPTIONS: so_matnr FOR lf_matnr.
          CLASS cl DEFINITION
    CLASS cl DEFINITION.
      PUBLIC SECTION.
        TYPES: BEGIN OF tw,
               matnr TYPE matnr,
               ernam TYPE ernam,
               END OF tw,
               tt TYPE STANDARD TABLE OF tw.
        TYPES: BEGIN OF tw1,
               matnr TYPE matnr,
               maktx TYPE maktx,
               END OF tw1.
        DATA: itab TYPE tt,
              wa TYPE tw,
              wa1 TYPE tw1.
        METHODS: retrive_data,
                 display_data.
    ENDCLASS.                    "CL DEFINITION
          CLASS CL IMPLEMENTATION
        CLASS cl IMPLEMENTATION.
        METHOD: retrive_data.
        SELECT matnr ernam INTO TABLE itab FROM mara
        WHERE matnr IN so_matnr.
        "RETRIVE_DATA
        ENDMETHOD.                    "retrive_data
        METHOD: display_data.
        LOOP AT itab INTO wa.
        WRITE:/ wa-matnr,
                  wa-ernam.
        ENDLOOP.
        AT line-selecion.
        CASE: sy-lsind.
        WHEN 1.
        SELECT SINGLE matnr maktx INTO CORRESPONDING FIELDS OF wa FROM makt WHERE matnr = wa-matnr.
        WRITE:/ wa-matnr,
                wa-maktx.
            ENDMETHOD.                    "display_data
            "DISPLAY_DATA
          ENDCLASS.                    "CL IMPLEMENTATION
       DATA: obj TYPE REF TO cl.
       START-OF-SELECTION.
      CREATE OBJECT: obj.
      END-OF-SELECTION.
      CALL METHOD obj->retrive_data.
      CALL METHOD obj->display_data.

    hi,
    you cannot put Events in methods. instead do as call the method in the event you want like below, or create a new method and call it in the At line selection Event.
    CLASS cl IMPLEMENTATION.
    METHOD: retrive_data.
    SELECT matnr ernam INTO TABLE itab FROM mara
    WHERE matnr IN so_matnr.
    "RETRIVE_DATA
    ENDMETHOD. "retrive_data
    METHOD: display_data.
    LOOP AT itab INTO wa.
    WRITE:/ wa-matnr,
    wa-ernam.
    ENDLOOP.
    ENDMETHOD. "display_data
    METHOD: Drilldown
    SELECT SINGLE matnr maktx INTO CORRESPONDING FIELDS OF wa FROM makt WHERE matnr = wa-matnr.
    WRITE:/ wa-matnr,
    wa-maktx.
    ENDMETHOD. "Drilldown
    ENDCLASS. "CL IMPLEMENTATION
    DATA: obj TYPE REF TO cl.
    START-OF-SELECTION.
    CREATE OBJECT: obj.
    END-OF-SELECTION.
    CALL METHOD obj->retrive_data.
    CALL METHOD obj->display_data.
    AT line-selecion.
    CASE: sy-lsind.
    WHEN 1.
    CALL METHOD obj->drilldown.
    ENDCASE.
    Hope this helps you
    Raj
    Edited by: Raj on Dec 5, 2008 9:57 AM

  • At line-selection event triggering issue?

    hi,
    I am working on a interactive report using at line-selection event, in that i have 3 list & now on 4 list i have to perform a BDC operation,for that I have used the PF-STATUS syntax, & at user command code.
    but for this particular list my at user command is not working properly. if 1 clk on a record its move to nxt action,but it shd happen when i clk on a record & than press the icon for action set by PF STATUS.
    Code is below:
        WHEN '3'.
            SET PF-STATUS 'Z203'.
            LOOP AT itab4.
              AT FIRST.
                WRITE:/1 'Material' ,8 'Descp'.
              ENDAT.
              WRITE:/1 itab4-matnr,8 itab4-maktx.
            ENDLOOP.
          ELSE.
            WRITE:/ 'No Data Found'.
          ENDIF.
      ENDCASE.
    AT USER-COMMAND.
      CASE sy-ucomm.
        WHEN 'CALL'.
          PERFORM bdc_mm02.
    pls tell how to use it.
    reds
    Vipin

    in your AT LINE-SELECTION event, add this code
    CHECK sy-lsind NE 3.
    (this is valid if your list is 4th list displayed as it begins with 0)

  • AT LINE-SELECTION event and HIDE area

    Hello ppl.
    I've got a strange situation: at line-selection event in my program gets fired, but internal table work area doesn't get retained from hide area.
    What can be the source of mistake?
    Thanks in advance.

    Try this
    REPORT  zkb_test.
    DATA: i_scarr TYPE TABLE OF scarr,
          w_scarr TYPE scarr.
    START-OF-SELECTION.
      SELECT * FROM scarr INTO TABLE i_scarr UP TO 5 ROWS.
      LOOP AT i_scarr INTO w_scarr.
        WRITE:/ w_scarr-carrid,
                w_scarr-carrname,
                w_scarr-currcode.
        HIDE w_scarr.
      ENDLOOP.
    AT LINE-SELECTION.
      WRITE:/ w_scarr.
    Just double click the list.
    Cheers
    Kathirvel

  • Problem in AT LINE SELECTION event

    Hi All,
    I have a problem in AT LINE SELECTION event.
    I have an interactive report.
    In the report after selection on Selection Screen
    i have to show some totals.
    Now when I click on the no wgich is shown against the total
    the report should further drill down on the details
    like showing Order No,Material Description etc.
    Breakdown totaling qty of ASOu2019s against u2018Kit delivery areau2019 column
       = 100
    Breakdown totaling qty of ASOu2019s against u2018Kit req timeu2019 column  = 100
    Breakdown totaling qty of ASOu2019s against u2018delivered byu2019 column  
      KSINGH    1.
      BJALLOS  5.
    Breakdown totaling qty of ASOu2019s against u2018Kit req dateu2019 column
    Now my problem is that first    two breakdowns of total are constant.
    But as you can see afainst Delivered By and against Date it can be dynamic.
    In first two cases since i Knew there positioning in the screen i show them using sy-lilli.
    But how to show for other two totals.
    Please help me on this with some code example if you have.
    Thanks in Advance,
    Saket.

    hello saket,
    i m not really clear with ur problem,
    still i can tell u hide the all the fields in
    start-of-selection,that u gonna required in at line selection,
    and then u can use them to total or for displaying corresponding data.

  • At line-selection event in alv

    Hi all......
    I am creating an interractive alv.
    Now waht I want is,
    I want to display the details of  only that particular field(ROW) as secondary out-put list, which i had dbl-clicked in the primary out-put list.
    Like if I had dbl clicked on a pirticular Mat.No, than only the details of that Mat.No should be displayed in the secondary list.
    I had used a statement like this...
    DATA F(16).
    GET CURSOR FIELD F.
    but it seems like it is having error
    Thanks...

    Hi Kiran,
    I can solve your problem. I have made same type of report in whitch u can use only AT selection event instead of get cursor event to get desired output.
    AT LINE-SELECTION.
      CLEAR W_SYTABIX.
      IF SY-LSIND = 1.
        PERFORM SCREEN_1.
      ELSEIF SY-LSIND = 2.
        PERFORM SCREEN_2.
        ELSEIF SY-LSIND = 3.
          PERFORM SCREEN_3.
      ENDIF.
    *&      Form  SCREEN_1
          text
    FORM SCREEN_1 .
      W_SYTABIX = SY-CUROW - 6.
      IF W_SYTABIX >= 0.
        READ TABLE I_SCARR INDEX W_SYTABIX INTO WA_SCARR.
        IF WA_SCARR IS NOT INITIAL.
          SELECT CARRID CONNID CITYFROM AIRPFROM CITYTO AIRPTO
              FROM SPFLI
              INTO CORRESPONDING FIELDS OF TABLE I_SPFLI
              WHERE CARRID = WA_SCARR-CARRID.
          IF SY-SUBRC NE 0.
            MESSAGE 'NO RECORDS TO DISPLAY' TYPE 'E'.
          ENDIF.
        ELSE.
          EXIT.
        ENDIF.
        WRITE : 'CARRID',(10)'CONNID',(20)'CITYFROM',(30)'AIRPORTFROM',(40)'CITYTO',(50)'AIRPORTTO'.
        ULINE.
        LOOP AT I_SPFLI INTO WA_SPFLI.
          WRITE :/ WA_SPFLI-CARRID UNDER 'CARRID' ,
                   WA_SPFLI-CONNID UNDER 'CONNID',
                   WA_SPFLI-CITYFROM UNDER 'CITYFROM',
                   WA_SPFLI-AIRPFROM UNDER 'AIRPORTFROM',
                   WA_SPFLI-CITYTO UNDER 'CITYTO',
                   WA_SPFLI-AIRPTO UNDER 'AIRPORTTO'.
          HIDE: WA_SPFLI-CARRID.
        ENDLOOP.
        CLEAR : WA_SCARR,
                WA_SPFLI.
      ELSE.
        MESSAGE 'CURSOR IS NOT AT RIGHT PLACE' TYPE 'I'.
      ENDIF.
    ENDFORM.                                                    " SCREEN_1
    *&      Form  SCREEN_2
          text
    FORM SCREEN_2 .
      W_SYTABIX = SY-CUROW.
      IF W_SYTABIX > 4.
        READ TABLE I_SPFLI INDEX W_SYTABIX INTO WA_SCARR.
        SELECT CARRID CONNID FLDATE PRICE CURRENCY
            FROM SFLIGHT
            INTO TABLE I_SFLIGHT
            WHERE CARRID = WA_SPFLI-CARRID.
        WRITE : 'CARRID',(10)'CONNID',(30)'FLDATE',(50)'PRICE',(70)'CURRENCY'.
        ULINE.
        LOOP AT I_SFLIGHT INTO WA_SFLIGHT.
          WRITE :/ WA_SFLIGHT-CARRID UNDER 'CARRID',
                   WA_SFLIGHT-CONNID UNDER 'CONNID',
                   WA_SFLIGHT-FLDATE UNDER 'FLDATE',
                   WA_SFLIGHT-PRICE UNDER 'PRICE',
                   WA_SFLIGHT-CURRENCY UNDER 'CURRENCY'.
        ENDLOOP.
      ELSE.
        MESSAGE 'CURSOR IS NOT AT RIGHT PLACE' TYPE 'I'.
      ENDIF.
    ENDFORM.                                                    " SCREEN_2
    *&      Form  SCREEN_3
          text
    -->  p1        text
    <--  p2        text
    FORM SCREEN_3.
      W_SYTABIX = SY-CUROW.
      IF W_SYTABIX > 4.
      WRITE : 'THANKS FOR VISITING..HAPPY JOURNEY **LOKESH TAREY**'.
      ENDIF.
    ENDFORM.                    " SCREEN_3
    You can easily use the same logic for your ALV report.
    I hope i will help you.
    Thanks & Regards,
    Lokesh.

  • Need sample interactive ALV(At line selection event...)

    Hello Experts,
    I have a requirement that when I show the results, there will be 3 hotspots for
    the sales order, delivery order and invoice number. So for example I click on
    the sales order it will open a pop up window that will show additional information, etc.
    So when the user clicks all 3 hotspots it will show 3 popup windows.
    How do I do this guys? simple examples will be highly appreciated.Thank you guys and take care!

    Hi,
    This is the sample report for INTERACTIVE REPORT.
    REPORT  YMS_INTERACTIVETEST LINE-SIZE 50 NO STANDARD PAGE HEADING.
    TABLES: VBAP,KNA1,VBAK.
    SELECT-OPTIONS: CUST FOR KNA1-KUNNR.
    DATA: BEGIN OF ITAB OCCURS 0,
            KUNNR LIKE KNA1-KUNNR,
            NAME1 LIKE KNA1-NAME1,
            VBELN LIKE VBAK-VBELN,
            AUDAT LIKE VBAK-AUDAT,
            AUART LIKE VBAK-AUART,
            POSNR LIKE VBAP-POSNR,
            POSAR LIKE VBAP-POSAR,
          END OF ITAB.
    DATA: ITAB1 LIKE ITAB OCCURS 0 WITH HEADER LINE.
    INITIALIZATION.
    START-OF-SELECTION.
      SELECT KNA1KUNNR KNA1NAME1 INTO CORRESPONDING FIELDS OF TABLE ITAB1
              FROM KNA1 WHERE KNA1~KUNNR IN CUST.
      LOOP AT ITAB1.
        WRITE:/10 ITAB1-KUNNR HOTSPOT, 30 ITAB1-NAME1.
        HIDE: ITAB1-KUNNR.
      ENDLOOP.
    AT LINE-SELECTION.
      CASE SY-LSIND.
        WHEN '1'.
          SELECT KNA1KUNNR VBAKVBELN VBAKAUDAT VBAKERDAT INTO CORRESPONDING FIELDS OF TABLE ITAB1
          FROM KNA1 INNER JOIN VBAK ON KNA1KUNNR = VBAKKUNNR.
          LOOP AT ITAB1.
            WRITE:/ ITAB1-VBELN HOTSPOT, ITAB1-AUDAT, ITAB1-AUART.
            HIDE: ITAB1-VBELN, ITAB1-AUDAT, ITAB1-AUART.
          ENDLOOP.
        WHEN '2'.
          SELECT VBAKVBELN VBAPPOSNR VBAP~POSAR
          INTO CORRESPONDING FIELDS OF TABLE ITAB1 FROM VBAK INNER JOIN VBAP ON VBAKVBELN = VBAPVBELN.
          LOOP AT ITAB1.
            WRITE:/ ITAB1-POSNR, ITAB1-POSAR.
          ENDLOOP.
      ENDCASE.
    TOP-OF-PAGE.
      WRITE:/ SY-VLINE,TEXT-001 COLOR COL_NEGATIVE.
      ULINE.
    Thanks,
    Sankar M

  • "On Select" event in OO ALV

    Hello everyone,
    I have this client who needs to, as long as he keeps selecting rows from an OO ALV, there is a field below the custom container that should refresh with the total sum of a determined currency field from all rows selected at that moment.
    Can anyone help me or point me in the right direction to do something like this ?
                                              Thank you all,
                                               Nuno

    I guess there is no event which will trigger on the Line Selection.
    But you can do some workaround.
    Instead of the Box for selection, give the CHECKBOX to select / deslect the line
    When you select the checkbox, DATA_CHANGED event would be triggered.
    Regards,
    Naimesh Patel

  • At line Selection event, failed

    I have created my own pf-status, and assigned 'PICK' to the F2 key in the pf-status.
    When i am double clicking on a field in the report output, it is coming to the event 'AT LINE-SELECTION'.
    in that event i am writing the statement.
    read line sy-lilli field value <fieldname>.
    the <fieldname> is holding a value in which all digits are zeroes, eventhough i am double clicking on a field which is non-zero.
    please help me by solving the problem.
    Thanks in advance for your faster response.

    Use of Hide statement is not required.
    When you use Hide statement the value is automatically filled into the program variable that was written on that line.
    But you can always use the READ LINE or READ CURRENT LINE to fetch the value.
    Check if you are providing the right variable names.
    Else go for the simple approach and use HIDE, now if the variable was V1 which you have written with a write statement, now if the user double clicks on the line V1 will automatically have that value.
    Hope this helps,
    Pavan

  • How to handle Events in Blocked ALV report

    Hi All,
    I have a Blocked ALV report, I have a requirement where if I double click a row in blocked ALV report, it should branch off to MM01 transaction code and the material number and change number should get populated with the material number and change number  in my program.
    Is there any idea how to do this.
    Thanks,
    Vishal.

    hi anil,
    I have used user_command1 as the function module however the field details are not getting captured.
    How can we use set get parameters in this aspect.
    Please elaborate your answer.
    Thanks,
    Vishal.

  • Help with at-line selection event...

    Hello experts,
    I am currently modifying my report to let the users click on either the asset number or
    the equipment number and go to its respective transaction. If he clicks the asset number,
    it would take him to transaction AW01N and if he otherwise clicks on the equipment number,
    it would take him to transaction IE03. But there are couple of problems that I am facing.
    First is, I have hotspotted my field which is named asset_subnum which contains the asset and
    the asset subnumber. So it would look like this:
    1234567879-0000
    Now, can I split it at '-' then put those in 2 variables lets say lv_asset and lv_asset_sub
    then I will hide those 2 variables?
    Also, I am using field-symbols as my 'work area' of my internal table. How can I declare it in at
    line-selection?
    Anyway, below is my code guys:
    LOOP AT it_output ASSIGNING <fs_output>.
    IF <fs_output>-parent IS INITIAL.
            WRITE: (17) <fs_output>-asset_subnum    CENTERED.
          ELSE.
            WRITE: (17) <fs_output>-asset_subnum    RIGHT-JUSTIFIED.
          ENDIF.
          FORMAT HOTSPOT OFF.
          WRITE: (17) <fs_output>-parent_subnum     CENTERED,
                 (30) <fs_output>-funcloc           CENTERED,
                 (40) <fs_output>-description       CENTERED.
          IF p_equip = 'X'.
            FORMAT HOTSPOT ON.
            WRITE: (18) <fs_output>-equip_num       CENTERED.
            FORMAT HOTSPOT OFF.
          ENDIF.
          WRITE: (15) <fs_output>-asset_sub         CENTERED,
                 (40) <fs_output>-location          CENTERED,
                 (15) <fs_output>-accq_cost         CENTERED,
                 (20) <fs_output>-acc_dep           CENTERED,
                 (20) <fs_output>-asset_book_val    CENTERED,
                 sy-vline.
    endloop.
    When I try to hide my fields like:
    HIDE <fs_output>-equip_num.
    it is giving me a dump saying:
    HIDE is not allowed for lines of internal tables.
    Help would be greatly appreciated.Thanks a lot guys and take care!

    Hi viraylab,
    Minor Problem.
    1. U are using field-symbols,
       and the definition must be of this type
    FIELD-SYMBOLS : <fs> <b>STRUCTURE</b> T001 DEFAULT T001.
      (so that u are able to directly use the field names
      <FS>-fieldname
    2.  Hence,
    3.  instead of
      LOOP AT it_output ASSIGNING <fs_output>.
      just use
    LOOP AT it_output .
    (The problem is coming bcos of ASSIGNING)
    4. the field symbol will automatically have
      the data of the internal table in the loop.
    5. To verify this point,
       just copy paste my small code.
    6.
    report abc.
    data : t001 like t001 occurs 0 with header line.
    FIELD-SYMBOLS : <fs> STRUCTURE T001 DEFAULT T001.
    START-OF-SELECTION.
      select * from t001 into table t001.
    *------ UNCOMMENT TO GET ERROR / COMMENT 2ND LINE THEN
    *loop at t001 ASSIGNING <fs>.
        loop at t001 .
          write :/ <fs>-bukrs.
          hide <fs>-bukrs.
        endloop.
    AT LINE-SELECTION.
      WRITE T001-BUKRS.
    regards,
    amit m.

  • AT line Selection event

    hello experts,
    is there any way to obtain the value of the field by clicking on that particular field of the report.?

    hi
    Check this
    tables:zdr_fm.
    types: begin of stru,
      sn type zdr_fm-mandt,
      sno type zdr_fm-rno,
    sname  type zdr_fm-rname1,
      end of stru.
      data :wa type stru,
            itab type table of stru.
      select mandt rno rname1 from zdr_fm into table itab.
         loop at itab into wa.
          write : / wa-sn.
           hide : wa-sno,wa-sname.
          endloop.
    at line-selection.
         select mandt rno rname1 from zdr_fm into table itab where rno = wa-sno .
         loop at itab into wa.
          write : / , 50 wa-sn,
          wa-sno,wa-sname.
          endloop.
    thanks
    Dharma

Maybe you are looking for