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.

Similar Messages

  • 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

  • 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.

  • 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

  • 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

  • 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

  • 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.

  • 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

  • Problem with at line-selection

    hi mates
    i have written a interactive report program, when i click the hotspot in the basic list the event at line-selection is not getting triggered insead my at user-command is geting executed. is there a sequence that i need to follow?. below is my code. thanks in advance.
    tables: vbak.
    selection-screen begin of block b1 with frame title t1.
      select-options: salesdoc for vbak-vbeln.
    selection-screen end of block b1.
    types: begin of vbak_ty,
           vbeln type vbak-vbeln,
           erdat type vbak-erdat,
           ernam type vbak-ernam,
           end of vbak_ty.
    types: begin of vbap_type,
           vbeln type vbap-vbeln,
           posnr type vbap-posnr,
           matnr type vbap-matnr,
           charg type vbap-charg,
           end of vbap_type.
    types: begin of vbap_ty,
           posnr type vbap-posnr,
           matwa type vbap-matwa,
           arktx type vbap-arktx,
           end of vbap_ty.
    data: vbap_wa type vbap_type,
          vbap_it type table of vbap_type,
          vbak_wa type vbak_ty,
          vbak_it type table of vbak_ty,
          vbap_wa1 type vbap_ty,
          vbap_it1 type table of vbap_type,
          fname(20),fvalue(10).
    initialization.
           t1 = 'enter sales doc header'.
    start-of-selection.
      set pf-status 'VA01'.
      SELECT vbeln
             erdat
             ernam
             from vbak into table vbak_it
             where vbeln in salesdoc.
       if sy-subrc = 0.
       loop at vbak_it into vbak_wa.
         write: /25 vbak_wa-vbeln hotspot,
                 50 vbak_wa-erdat,
                 75 vbak_wa-ernam.
         hide vbak_wa-vbeln.
         clear vbak_wa-vbeln.
         endloop.
         ELSE.
           message e000(01) with 'no records found '.
           endif.
        at line-selection.
          case sy-lsind.
            when '1'.
              perform headerdata.
            when '2'.
              perform itemdata.
           endcase.
      at user-command.
        case sy-ucomm.
          when 'ITEMDATA'.
          get cursor  field fname value fvalue.
          if fvalue = 'vbap_wa-vbeln'.
             perform itemdata.
           else.
             message e000(03) with 'click only on hotspots'.
           endif.
          when 'SALEOR'.
           get cursor field fname value fvalue.
           if fvalue = 'vbak_wa-vbeln'.
            set parameter id 'AUN' field fvalue.
            call transaction 'VA01' and skip first screen.
           else.
             message e000(04) with 'click only on hotspots'.
           endif.
        endcase.
        form headerdata.
        set pf-status 'HEADER'.
        select vbeln
               posnr
               matnr
               charg
               from vbap into table vbap_it
               where vbeln = vbak_wa-vbeln.
          if sy-subrc = 0.
       loop at vbap_it into vbap_wa.
         write: /25 vbap_wa-vbeln hotspot,
                 50 vbap_wa-posnr,
                 75 vbap_wa-matnr,
                 90 vbap_wa-charg.
         hide vbap_wa-vbeln.
         clear vbap_wa-vbeln.
         endloop.
         else.
           message e000(02) with ' no data found'.
           endif.
           endform.
        form itemdata.
             select vbeln
               posnr
               matwa
               arktx
               from vbap into table vbap_it1
               where vbeln = vbap_wa-vbeln.
      if sy-subrc = 0.
       loop at vbap_it1 into vbap_wa1.
         write: /25 vbap_wa1-posnr,
                 75 vbap_wa1-matwa,
                 90 vbap_wa1-arktx.
          endloop.
           else.
           message e000(02) with ' no data found'.
           endif.
           endform.
    REGARDS
    MANO

    AT LINE-SELECTION.
    Effect
    This statement defines an event block whose event is triggered by the ABAP runtime environment during the display of a screen list - provided the scren cursor is on a list line and you select a function using the function code PICK. Through the definition of this event block, the standard list status is automatically enhanced in such a way that the function code F2 and, with it, the double-click mouse function is linked up to the function code PICK.
    Note
    If the function key F2 is linked with a function code different than PICK, each double click will trigger its even, usually AT USER-COMMAND, and not AT LINE-SELECTION.
    Example
    This program works with the standard list status. A line selection with the left mouse key causes the event AT LINE-SELECTION and creates details lists.
    REPORT demo_at_line_selection.
    START-OF-SELECTION.
      WRITE 'Click me!' COLOR = 5 HOTSPOT.
    AT LINE-SELECTION.
      WRITE: / 'You clicked list', sy-listi,
             / 'You are on list',  sy-lsind.
      IF sy-lsind < 20.
        SKIP.
        WRITE: 'More ...' COLOR = 5 HOTSPOT.
      ENDIF.
    The above sample program works with the standard list status Since your program has the PF-status set, i think AT LINE-SELECTION will not work. So do use AT USER-COMMAND to capture the "PICK" event.
    Hope this helps.
    Thanks
    Balaji

  • 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.

  • 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

  • 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

  • AT Line selection event in ALV blocked list display

    Hi Exparts,
                    I am using
                      REUSE_ALV_BLOCK_LIST_INIT,REUSE_ALV_BLOCK_LIST_APPEND,
                      REUSE_ALV_BLOCK_LIST_DISPLAY.
    My question, In a field if user double click then a specific Transaction will execute.
    please help me with relevant document.

    dear
    this is very simple when u will call alv_grid_display FM :
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
    *   I_INTERFACE_CHECK                 = ' '
    *   I_BYPASSING_BUFFER                = ' '
    *   I_BUFFER_ACTIVE                   = ' '
         i_callback_program                = sy-cprog
    *   I_CALLBACK_PF_STATUS_SET          = ' '
         i_callback_user_command           = *'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                         = LS_LAYOUT
         it_fieldcat                       = ls_fieldcat[]
    *   IT_EXCLUDING                      =
    *   IT_SPECIAL_GROUPS                 =
    *   IT_SORT                           =
    *   IT_FILTER                         =
    *   IS_SEL_HIDE                       =
         i_default                         = 'X'
         i_save                            = 'A'
    *   IS_VARIANT                        =
         it_events                         = g_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
    *   IT_ALV_GRAPHICS                   =
    *   IT_HYPERLINK                      =
    *   IT_ADD_FIELDCAT                   =
    *   IT_EXCEPT_QINFO                   =
    *   I_HTML_HEIGHT_TOP                 =
    *   I_HTML_HEIGHT_END                 =
    * IMPORTING
    *   E_EXIT_CAUSED_BY_CALLER           =
    *   ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = t_output
    * 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.
      PERFORM user_command USING   r_ucomm
                                   rs_selfield.
    *FORM user_command  USING    p_r_ucomm*
                                *p_rs_selfield.*
      *CASE p_r_ucomm.*
        *WHEN '&IC1'.*
          *READ TABLE t_output WITH KEY check = 'X'.*
          *IF t_output-check IS INITIAL.*
            *MESSAGE 'Plz select the checkbox' TYPE 'E'.*
          *ENDIF.*
          *READ LINE sy-index FIELD VALUE t_output-vbeln.*
          *CHECK NOT t_output-vbeln IS INITIAL.*
          *SET PARAMETER ID 'AUN' FIELD t_output-vbeln.*
          *CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.*
      *ENDCASE.*
    *ENDFORM.

Maybe you are looking for

  • How can I purge all duplicates from my iTunes library at once?

    Someone else asked this question: Hi For some reason when I deleted my duplicates it deleted them all from itunes so I had re import them all in and now I have 2-3 duplicates of EVERY song in EVERY album? I have 20GB of duplicates alone! How do I del

  • Application for file download

    Hi! I am really a beginner in this technology and recently i am working on a project where i have to let the users to download files that are stored in a specified location in the server. Please suggest a way by which this can be accomplished. Sorry

  • White Lines on Live Traced Artwork in PDF from Illustrator CS3

    Hi,<br /><br />I've recently been using the Live Trace feature in Adobe Illustrator CS3 on my artwork so that my artwork becomes a vector image instead of a raster (I'm told it's better for Web because it works better with varying resolutions - doesn

  • OpenGl and GLEW on Mac?

    Hello I am trying to install GLEW on my Mac operating system for my computer graphics course. The instructions to get C++ working with OpenGL are below. I am having trouble installing GLEW. That link below does not seem to exist. What are some ways t

  • Complaint re: Customer Care

    I purchased a V560 with Windows 7 64 bit in March of 2011. Shortly after purchasing the laptop, I noticed that there was a screw cover missing on the inside of the lid so that the screw is exposed. It is a minor cosmetic issue, but I decided to call