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

Similar Messages

  • How to select values for different fields in a report

    Beginner needs help!  I have five columns of linked data.  I want to show the counts of the number of "true" values in each column.  However when I set the first one to true none of the other rows which might be true for that instance when the first column is false show up anymore?  Any help appreciated.

    1st off how do you have your tables joined, suggest outter left joins.
    create a formula
    if (field) =true then 1 else 0 
    use manual running totals to calcualte your values
    RESET
    The reset formula is placed in a group header report header to reset the summary to zero for each unique record it groups by.
    whileprintingrecords;
    Numbervar  X := 0;
    CALCULATION
    The calculation is placed adjacent to the field or formula that is being calculated.
    (if there are duplicate values; create a group on the field that is being calculated on. If there are not duplicate records, the detail section is used.
    whileprintingrecords;
    Numbervar  X := x + ; ( or formula)
    DISPLAY
    The display is the sum of what is being calculated. This is placed in a group, page or report footer. (generally placed in the group footer of the group header where the reset is placed.)
    whileprintingrecords;
    Numbervar  X;
    X

  • How to use AT LINE-SELECTION and AT USER-COMMAND in one report????

    Dear all,
    I have a problem in reports I want to use AT USER-COMMAND.and AT LINE-SELECTION.both in the one report.
    But as soon as I use SET PF-STATUS my AT LINE-SELECTION event stop workingand only AT USER-COMMAND is working.
    How can I use both of them in one report for your reference I am giving my test program below.
    REPORT ZTEST111 .
    SET PF-STATUS '100'.
    DO 10 TIMES.
    WRITE:/ SY-INDEX.
    HIDE SY-INDEX.
    ENDDO.
    START-OF-SELECTION.
    AT LINE-SELECTION.
    MESSAGE I002(SY) WITH SY-INDEX.
    AT USER-COMMAND.
    MESSAGE I002(SY) WITH 'USER COMMAND'.
    END-OF-SELECTION.
    Thanks in advance
    Sachin Gautam

    hi
    Syntax
    AT USER-COMMAND.
    Effect
    This statement defines an event block whose event is triggered by the ABAP runtime environment if, during the display of a screen list, a function with a self-defined function code was chosen.
    Note
    Self-defined function codes are all those that include character combinations, except for the following:
    The function codes PICK and PF## ("##" stands for 01 to 24) do not cause the event AT USER-COMMAND, but the events AT LINE-SELECTION and AT PF##.
    All function codes that start with the character "%" are interpreted as system functions and do not cause the event AT USER-COMMAND. The system functions for lists are listed in the following table 1.
    The function codes in the following table 2, likewise, do not cause the event AT USER-COMMAND, but are handled by the list processor.
    Table 1
    Function code Function
    %CTX Call a context menu
    %EX Exit
    %PC Save to file
    %PRI Print
    %SC Search for ...
    %SC+ Find next
    %SL Search in office
    %ST Save to report tree
    Table 2
    Function code Function
    BACK Back
    P- Scroll to previous page
    P-- Scroll to first page
    P+ Scroll to next page
    P++ Scroll to last page
    PFILE name Store list lines in a text file named abap.lst in standard character representation in the standard directory of the application server. If a name is entered using name, this is converted to lowercase letters and used as the file name.
    PL- Scroll to first line of the page
    PL-n Scroll n lines back
    PL+ Scroll to last line of the page
    PL+n Scroll n lines up
    PNOP No effect
    PP- Scroll back one page
    PP-n Scroll n pages back
    PP+ Scroll one page forward
    PP+n Scroll n pages forwad
    PPn Scroll to beginning of page n
    PRI, PRINT Print
    PS-- Scroll to first column
    PS++ Scroll to last column
    PS- Scroll one column to the left
    PS-n Scroll n columns to the left
    PS+ Scroll one column to the right
    PS+n Scroll n columns to the right
    PSn Scroll to column n
    PZn Scroll to line n
    RW Cancel

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

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

  • In interactive how to use AT LINE-SELECTION WITH SET PF-STATUS

    Hi all,
             I am developing an interactive report in which i am using gui status (pf-status ) for AT USER-COMMAND and AT LINE-SELECTION  event .But when i used at line-selection event is  not working with pf-status even though i use PICK function code .
    plz help me to work with both the event i.e.
    AT USER-COMMAND.
    AT LINE-SELECTION.
    Thanks a lot in Advance .
    Regards,
    Tarak

    hi,
      In PBO of Module Pool, Please Write in this way
    MODULE status_9001 OUTPUT.
    Set the PF-STATUS
      SET PF-STATUS '9001'.
    To Set the Title of Screen
      SET TITLEBAR 'TITLE'.
    ENDMODULE
    Setting PF status to the (SAP) system default
    set pf-status 'BASIC'.
    How to check for pf-status
    AT USER-COMMAND.
    CASE SY-UCOMM.
    WHEN 'ART'.
    PERFORM STYR_ARTSKONTI.
    WHEN 'PST'.
    PERFORM STYR_POSTER.
    WHEN 'BIL'.
    PERFORM VIS_BILAG.
    ENDCASE..

  • How to Use At line-Selection Functionality in dialog programming  or mpp .

    hi
    i had created customized Transaction ,
    in that  notification field is there , their when they  place notification number ,after that when they double click on that, it have to go to iw23 .(so that they will get confirm that notification  number is write  )
    i have tried to use AT LINE-SELECTION event it showing error ,
    where i have to write and which event i have to use ?
    may i know how can i resolve this ?
    Thanks a lot
    Edited by: raghu111 on Dec 3, 2011 6:14 AM

    hi  sharin.
    Thanks for ur reply
    i followed ur  steps 
    WHEN 'PICK'.
      DATA : dc_scrfield  TYPE zmotor-qmnum.
      GET CURSOR FIELD dc_scrfield.
      CHECK NOT dc_scrfield IS INITIAL.
      IF dc_scrfield = zmotor-qmnum.
        IF NOT zmotor-qmnum IS INITIAL .
          set PARAMETER ID 'IQM' FIELD zmotor-qmnum.
          call TRANSACTION 'IW23'.
        ENDIF. .
        ENDIF.
    its not working
    but i already tried like this .
    WHEN 'PICK'.
    if field name =tablename-fieldname
    set PARAMETER ID 'IQM' FIELD zmotor-qmnum
      call transaction 'IW23'
    endif
    i written in pai event ." i have dought here also whether i have to write here r not
    HERE ITS  WORKING BUT PROBLEM IS  FOR ANOTHER FIELDS ALSO ITS RESPONDING . how to stop the responding .
    as per my knowledge in condition only prob but i tried i didnt solve
    please send me one example or tell me how to solve
    for better understanding only i pasted coding
    thanks a lot
    Edited by: raghu111 on Dec 5, 2011 12:21 PM

  • 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

  • How to use at-line selection in ALV

    Can someone help me about how to use at-line selection in an ALV

    u can try in user_command
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
             I_CALLBACK_PROGRAM = G_REPID
             IT_FIELDCAT = GT_FIELDCATALOG
             I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
             I_CALLBACK_HTML_END_OF_LIST = G_HTML_END_OF_LIST
             I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
             I_GRID_SETTINGS = GS_SETTINGS
             IS_LAYOUT = GS_LAYOUT
             I_SAVE = G_SAVE
             IS_VARIANT = GS_VARIANT
             IT_EVENTS = GT_EVENTS[]
    *      I_SCREEN_START_COLUMN = 0 "Use coordinates for
    *      I_SCREEN_START_LINE = 0 "display as dialog box
    *      I_SCREEN_END_COLUMN = 0
    *      I_SCREEN_END_LINE = 0
        IMPORTING
             E_EXIT_CAUSED_BY_CALLER = G_EXIT_CAUSED_BY_CALLER
             ES_EXIT_CAUSED_BY_USER = GS_EXIT_CAUSED_BY_USER
        TABLES
             T_OUTTAB = I_REP
        EXCEPTIONS
             PROGRAM_ERROR = 1
             OTHERS = 2.
    FORM USER_COMMAND USING R_UCOMM TYPE SY-UCOMM
                            RS_SELFIELD TYPE SLIS_SELFIELD.
    CASE R_UCOMM.
        WHEN '&IC1'.
          CASE RS_SELFIELD-FIELDNAME.
            WHEN 'XXXXX'.
              READ TABLE I_xxx INTO V_xxx
                WITH KEY XXX = RS_SELFIELD-VALUE.
              IF SY-SUBRC = 0.
              ENDIF.
            WHEN OTHERS
          ENDCASE.
      ENDCASE.
    ENDFORM.

  • 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

  • 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

  • How to define our own selection screen for logical database  in abap-hr?

    Hi Friends,
    Can u please help me
    How to define your own selection screens for  logical database.
    we use to do like(goto->attributes-HRReportcatagerious ).but How to desin using  customer table like t599c, t599f and how to add to my logical database?
    Thanks in advance
    charan

    check out this online help
    http://help.sap.com/saphelp_erp2004/helpdata/en/9f/dba65c35c111d1829f0000e829fbfe/frameset.htm
    Regards
    Raja

  • How do I make a photo folder for different event on ipad2?

    How do I make a photo folder for different event on ipad2?

    These links may be helpful.
    How To Create Photo Albums http://tinyurl.com/cxm4eoq
    How to Add New Albums in the Photos App on the iPad & Add Photos to the Album
    http://tinyurl.com/7qep7fs
     Cheers, Tom

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

Maybe you are looking for

  • Bootcamp or parallels for new macbook pro user

    I am about to make the switch from pc and purchase one of the new macbook pros that came out today. I don't fully understand how bootcamp and parallels work yet and which would be better for my needs. I am an architect and will need to run windows fo

  • MacBook Pro will not load start up properly

    My MacBook Pro 2012 will not load properly after I took it to the apple store and they ran test on it. When I boot it up I get the gray screen with the loading bar. I can get into disk utility. However I don't believe they messed with anything and it

  • Check box in a table field

    Hi experts , I have a requirement of having one of the table field as checkbox .when i kept it as checkbox it is not getting reflected in sm30 .i need to have a check box displayed in the field of the table in sm30 .

  • Reading message contexts from WCF custom behavior

    Hi, I'm trying to create a WCF custom behavior extension because I can't simply use out of box WCF adapters without this customization. I'm trying to write some custom code in BeforeSendRequest() method in the message inspector, and I wonder from her

  • How can I get back ios 6

    My wife upgraded to ios 7 and can't stand it. I find it very hard to read the screen. How do I get ios 6 back on her phone?