Short dump while on double click event in ALV

Hi ,
I have created a ALV screen to display the customer number and NAme ,my requirement is that when i click on the Key field i.e. Customer number it should call the transaction xd03 for that  I have written the following code
gs_layout-box_fieldname = 'SEL'.
gs_layout-colwidth_optimize = 'X'.
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    i_callback_program       = gd_repid
   i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
    is_layout                = gs_layout
     it_fieldcat              = fieldcatalog[]
     i_callback_pf_status_set = 'PF_STATUS'
    i_callback_user_command  = 'USER_COMMAND'
  TABLES
    t_outtab                 = t_itab
  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.
FORM user_command USING r_ucomm LIKE sy-ucomm
                        rs_selfield TYPE slis_selfield.
  CASE r_ucomm.
    WHEN '&IC1'.
      IF rs_selfield-fieldname = 'KUNNR'.
        READ TABLE t_itab INTO w_itab
        WITH KEY kunnr = rs_selfield-value.
        IF sy-subrc = 0.
          SET PARAMETER ID 'KUN' FIELD rs_selfield-value.
          CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDIF.
      CLEAR r_ucomm.
  ENDCASE.
ENDFORM.                    "user_command
FORM pf_status USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'STANDARD1'.
ENDFORM.                    "pf_status
Problem is when i double click on the Customer No field on the ALV ouput i Am getting a Short dump.. "MOVE_TO_LIT_NOTALLOWED_NODATA"..
How should i overcome this runtime error....
Thanks in advance,
Nishant

>
Abhii wrote:
> There was a problem in the SET PARAMETER ID statement.
> Nishant, Make the code changes I have suggested, you will get the output.
Either you possess telepathic skills or you are omniscient.
Before asserting your solution on someone be sure what exactly is the problem. If you check the OP's code, CALL TRANSACTION will be called only when the READ TABLE is successful.
So how does your solution add benefit to the existing one.
BR,
Suhas

Similar Messages

  • About double click event in ALV report

    Hi all,
    I want to program a double-click event in ALV reprot.
    I am not suppose to use module pool approach for the same.
    If a user double clicks on the any of the row of ALV report, the transaction should get called.
    Again, I am using function 'REUSE_ALV_GRID_DISPLAY' for displaying ALV.
    Can you please help me to solve this?
    Thanks,
    -Siddhi

    Hi Sidhi,
    You can do it easily by using Reuse_ALV_GRID_DISPALY.
    The User Command subroutine which you pass to this function module in that you can check which field is selected and what is the value of that and also you can get the table index.
    I am giving you a code example where interactivity of ALV report is done .
    *& Report  ZRAIL_LOT_REPORT
    REPORT  zrail_lot_report.
    TABLES :qals,aufk.
    TYPE-POOLS:slis.
    TYPES:BEGIN OF x_lot,
          sel(1)   TYPE c,                    "SELECTION
          prueflos TYPE qals-prueflos,        "INSPECTION LOT NUMBER
          werk     TYPE qals-werk,            "PLANT
          losmenge TYPE qals-losmenge,        "LOT QUANTITY
          mengeneinh TYPE qals-mengeneinh,   "BASE UNIT OF MEASURE FOR THE INSPECTION LOT QUANTITY
          matnr   TYPE  qals-matnr,          " MATERIAL NO. ATTACHED TO ORDER
          zzequnr  TYPE qals-zzequnr,         "EQUIPMENT NO.
          zzassembly TYPE qals-zzassembly,    "ASSEMBLY
          herkunft  TYPE qals-herkunft,       "INSPECTION LOT ORIGIN
          aufnr     TYPE qals-aufnr,          "ORDER NO.
          sttxt     TYPE qals_d02-sttxt,      "LOT STATUS
          objnr     TYPE qals-objnr,          "OBJECT NUMBER
          enstehdat TYPE qals-enstehdat,      "lot creation date
          pruefer   TYPE qamr-pruefer,        "Name of the Inspector
          END OF x_lot.
    TYPES:BEGIN OF x_ordmat,
          aufnr TYPE aufk-aufnr,             "Order No.
          equnr TYPE afih-equnr,             "Equipment No. attached to Order
          zmatnr TYPE aufk-zmatnr,           "Material No. attached to Order
          bautl  TYPE afih-bautl,            "Assembly attached to Order
          END OF x_ordmat.
    TYPES:BEGIN OF x_status,
          objnr TYPE jest-objnr,
          stat  TYPE jest-stat,
          txt04 TYPE tj02t-txt04,
          END OF x_status.
    DATA:it_qals TYPE STANDARD TABLE OF x_lot,
         wa_qals TYPE x_lot.
    DATA:it_ordmat TYPE TABLE OF x_ordmat,
         wa_ordmat TYPE x_ordmat.
    DATA:it_status TYPE STANDARD TABLE OF x_status,
         wa_status TYPE x_status.
    DATA:mytabix TYPE sy-tabix.
    DATA: wa_layout   TYPE slis_layout_alv,
          wa_fieldcat TYPE slis_fieldcat_alv,
          it_fieldcat TYPE TABLE OF slis_fieldcat_alv,
          it_fcat TYPE TABLE OF slis_fieldcat_alv.
    DATA:mytabix1 TYPE sy-tabix.
    SELECTION-SCREEN BEGIN OF BLOCK  b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_werks FOR qals-werk,
                    s_zmatnr FOR aufk-zmatnr,
                    s_assbly FOR qals-zzassembly,
                    s_equnr FOR qals-zzequnr,
                    s_lotor FOR qals-herkunft,
                    s_lotdat FOR qals-enstehdat.
    SELECTION-SCREEN END OF BLOCK b1.
    INITIALIZATION.
      s_lotdat-low = sy-datum - 7.
      s_lotdat-high = sy-datum.
      APPEND s_lotdat.
    START-OF-SELECTION.
      PERFORM get_data_qals.
      PERFORM build_fieldcat.
      PERFORM display_data.
      EXIT.
    END-OF-SELECTION.
    *&      Form  get_data_qals
          text
    -->  p1        text
    <--  p2        text
    FORM get_data_qals .
      IF it_qals[] IS INITIAL.
        SELECT a~prueflos
               a~werk
               a~losmenge
               a~mengeneinh
               a~zzequnr
               a~zzassembly
               a~herkunft
               a~aufnr
               a~objnr
               a~matnr
               a~enstehdat
               b~pruefer
               FROM qals AS a INNER JOIN qamr AS b
               ON aprueflos = bprueflos
               INTO CORRESPONDING FIELDS OF TABLE it_qals
               WHERE werk IN s_werks
               AND   zzassembly IN s_assbly
               AND   zzequnr    IN s_equnr
               AND   herkunft   IN s_lotor
               AND   enstehdat  IN s_lotdat.
      ENDIF.
      IF it_ordmat[] IS INITIAL.
        SELECT a~aufnr
               a~zmatnr
               b~bautl
               b~equnr
               FROM aufk AS a INNER JOIN afih AS b
               ON aaufnr = baufnr
               INTO CORRESPONDING FIELDS OF TABLE it_ordmat FOR ALL ENTRIES IN it_qals
               WHERE a~aufnr = it_qals-aufnr
                AND zmatnr IN s_zmatnr.
      ENDIF.
      IF it_status[] IS INITIAL.
        SELECT a~objnr
               a~stat
               b~txt04
               FROM  tj02t AS b
               INNER JOIN jest AS a ON bistat = astat
               INTO CORRESPONDING FIELDS OF TABLE it_status FOR ALL ENTRIES IN it_qals
               WHERE a~objnr = it_qals-objnr
               AND   b~spras = sy-langu
               AND   a~inact = space.
      ENDIF.
      LOOP AT it_qals INTO wa_qals.
        mytabix = sy-tabix.
        READ TABLE it_ordmat INTO wa_ordmat WITH KEY aufnr = wa_qals-aufnr.
        IF sy-subrc = 0.
          IF wa_qals-herkunft = '14'.
            wa_qals-matnr = wa_ordmat-zmatnr.
            wa_qals-zzequnr =  wa_ordmat-equnr.
            wa_qals-zzassembly = wa_ordmat-bautl.
            MODIFY it_qals FROM wa_qals INDEX  mytabix TRANSPORTING matnr zzassembly zzequnr.
          ENDIF.
        ENDIF.
        LOOP AT it_status INTO wa_status WHERE objnr = wa_qals-objnr.
          CONCATENATE wa_qals-sttxt wa_status-txt04 INTO wa_qals-sttxt SEPARATED BY space.
          CLEAR :wa_status.
        ENDLOOP.
        MODIFY it_qals FROM wa_qals INDEX  mytabix TRANSPORTING sttxt.
        CLEAR :wa_qals,wa_ordmat,mytabix.
      ENDLOOP.
      IF s_zmatnr[] IS NOT INITIAL.
        DELETE it_qals WHERE matnr IS INITIAL.
      ENDIF.
    ENDFORM.                    " get_data_qals
    *&      Form  build_fieldcat
          text
    -->  p1        text
    <--  p2        text
    FORM build_fieldcat .
      wa_layout-zebra = 'X'.
      wa_layout-colwidth_optimize = 'X'.
      wa_layout-box_fieldname = 'SEL'.
      wa_layout-box_tabname = 'IT_QALS'.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
        I_PROGRAM_NAME               =
          i_internal_tabname           = 'IT_QALS'
          i_structure_name             = 'QALS_D02'
        I_CLIENT_NEVER_DISPLAY       = 'X'
        I_INCLNAME                   =
        I_BYPASSING_BUFFER           =
        I_BUFFER_ACTIVE              =
        CHANGING
          ct_fieldcat                  = it_fieldcat
      IF sy-subrc = 0.
        LOOP AT  it_fieldcat INTO wa_fieldcat.
          CASE  wa_fieldcat-fieldname .
            WHEN  'PRUEFLOS'.
              wa_fieldcat-col_pos = 1.
              wa_fieldcat-hotspot = 'X'.
              APPEND wa_fieldcat TO it_fcat.
            WHEN   'WERK'.
              wa_fieldcat-col_pos = 3.
              APPEND wa_fieldcat TO it_fcat.
            WHEN  'LOSMENGE'.
              wa_fieldcat-col_pos = 4.
              wa_fieldcat-no_out = ''.
              APPEND wa_fieldcat TO it_fcat.
            WHEN  'MENGENEINH'.
              wa_fieldcat-col_pos = 5.
              wa_fieldcat-no_out = ''.
              APPEND wa_fieldcat TO it_fcat.
            WHEN 'ZZEQUNR'.
              wa_fieldcat-col_pos = 6.
              wa_fieldcat-no_out = ''.
              wa_fieldcat-hotspot = 'X'.
              APPEND wa_fieldcat TO it_fcat.
            WHEN  'ZZASSEMBLY'.
              wa_fieldcat-col_pos = 7.
              wa_fieldcat-no_out = ''.
              wa_fieldcat-hotspot = 'X'.
              APPEND wa_fieldcat TO it_fcat.
            WHEN  'HERKUNFT'.
              wa_fieldcat-col_pos = 8.
              APPEND wa_fieldcat TO it_fcat.
            WHEN  'AUFNR'.
              wa_fieldcat-col_pos = 9.
              wa_fieldcat-hotspot = 'X'.
              APPEND wa_fieldcat TO it_fcat.
            WHEN  'ENSTEHDAT'."enstehdat
              wa_fieldcat-col_pos = 10.
              APPEND wa_fieldcat TO it_fcat.
            WHEN  'STTXT'.
              wa_fieldcat-col_pos = 12.
              wa_fieldcat-hotspot = 'X'.
              APPEND wa_fieldcat TO it_fcat.
            WHEN OTHERS.
          ENDCASE.
          CLEAR wa_fieldcat.
        ENDLOOP.
        wa_fieldcat-fieldname = 'MATNR'.
        wa_fieldcat-tabname  =  'IT_QALS'.
        wa_fieldcat-col_pos = 2.
        wa_fieldcat-ref_tabname = 'AUFK'.
        wa_fieldcat-hotspot = 'X'.
        wa_fieldcat-seltext_l = 'Material No.'.
        APPEND wa_fieldcat TO it_fcat.
        wa_fieldcat-fieldname = 'PRUEFER'.
        wa_fieldcat-tabname  =  'IT_QALS'.
        wa_fieldcat-col_pos = 11.
        wa_fieldcat-ref_tabname = 'QAMR'.
        wa_fieldcat-seltext_l = 'Name of the Inspector'.
        APPEND wa_fieldcat TO it_fcat.
      ENDIF.
    ENDFORM.                    " build_fieldcat
    *&      Form  display_data
          text
    -->  p1        text
    <--  p2        text
    FORM display_data .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
       i_callback_program                = 'ZRAIL_LOT_REPORT'
      I_CALLBACK_PF_STATUS_SET          = ' '
         i_callback_user_command           = 'USER_COMMAND'
         is_layout                         = wa_layout
          it_fieldcat                       = it_fcat
      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        =
        TABLES
          t_outtab                          = it_qals
    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_data
    *&      Form  USER_COMMAND
          text
         -->R_UCOMM      text
         -->RS_SELFIELD  text
    FORM user_command USING r_ucomm TYPE sy-ucomm  rs_selfield TYPE slis_selfield.
      CASE rs_selfield-fieldname  .
        WHEN 'PRUEFLOS'.
          SET PARAMETER ID 'QLS' FIELD rs_selfield-value.
          CALL TRANSACTION 'QA03' AND SKIP FIRST SCREEN.
        WHEN 'ZZEQUNR'.
          SET PARAMETER ID 'EQN' FIELD  rs_selfield-value.
          CALL TRANSACTION 'IE03' AND SKIP FIRST SCREEN.
        WHEN 'ZMATNR'.
          SET PARAMETER ID 'MAT' FIELD rs_selfield-value.
          CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
        WHEN 'ZZASSEMBLY'.
          SET PARAMETER ID 'MAT' FIELD rs_selfield-value.
          CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
        WHEN 'AUFNR'.
          SET PARAMETER ID 'ANR' FIELD rs_selfield-value.
          CALL TRANSACTION 'IW33' AND SKIP FIRST SCREEN.
        WHEN 'STTXT'.
          MOVE rs_selfield-tabindex TO mytabix1.
          PERFORM show_status.
      ENDCASE.
    ENDFORM.                    "USER_COMMAND
    *&      Form  show_status
          text
    -->  p1        text
    <--  p2        text
    FORM show_status .
      DATA:it_systat TYPE TABLE OF bapi2045ss,
           wa_sysstat TYPE bapi2045ss,
           it_bapi2045us TYPE TABLE OF bapi2045us.
      DATA:it_fsys TYPE TABLE OF slis_fieldcat_alv.
      DATA:insplot TYPE bapi2045d_il0-insplot.
      DATA:language TYPE bapi2045la.
      CLEAR wa_qals.
      READ TABLE it_qals INTO wa_qals INDEX mytabix1.
      insplot = wa_qals-prueflos.
      language-langu = sy-langu.
      CALL FUNCTION 'BAPI_INSPLOT_GETSTATUS'
        EXPORTING
          number        = insplot
          language      = language
        TABLES
          system_status = it_systat
          user_status   = it_bapi2045us.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
        EXPORTING
          i_program_name     = 'ZRAIL_LOT_REPORT'
          i_internal_tabname = 'IT_SYSTAT'
          i_structure_name   = 'BAPI2045SS'
        CHANGING
          ct_fieldcat        = it_fsys.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = 'ZRAIL_LOT_REPORT'
          it_fieldcat        = it_fsys
        TABLES
          t_outtab           = it_systat.
    ENDFORM.                    " show_status
    IIn the subrouitne the User command the Parameter rs_selfield will give you the selected or clicked field and its value its record no .
    I hope this will help you.

  • Double click event in ALV Display

    Hi
      I am using Reuse_alv_grid_display for dis[playing ALV. Now I want to handle double click event on a perticular Single column.
    Pls provide code.

    Hi,
    Check this example..If you double click on the purchase order field, it will take you to the corresponding PO in ME23N..
    TYPE-POOLS: slis.
    DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.
    DATA: BEGIN OF wa_ekko,
    ebeln like ekko-ebeln,
    ekorg like ekko-ekorg,
    ekgrp like ekko-ekgrp,
    END OF wa_ekko.
    DATA: v_repid TYPE syrepid.
    v_repid = sy-repid.
    DATA it_ekko LIKE STANDARD TABLE OF wa_ekko WITH HEADER LINE.
    SELECT * UP TO 100 ROWS
    FROM ekko
    INTO CORRESPONDING FIELDS OF TABLE it_ekko.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
         EXPORTING
              i_program_name     = v_repid
              i_internal_tabname = 'WA_EKKO'
              i_inclname         = v_repid
         CHANGING
              ct_fieldcat        = gt_fieldcat.
    Pass the program.
    v_repid = sy-repid.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
         EXPORTING
              i_callback_program      = v_repid
              it_fieldcat             = gt_fieldcat
              i_callback_user_command = 'USER_COMMAND'
         TABLES
              t_outtab                = it_ekko.
          FORM display_detail                                           *
    -->  UCOMM                                                         *
    -->  SELFIELD                                                      *
    FORM user_command USING ucomm LIKE sy-ucomm
    selfield TYPE slis_selfield.
      IF ucomm = '&IC1' AND selfield-fieldname = 'EBELN'.
        READ TABLE it_ekko INDEX selfield-tabindex.
        IF sy-subrc = 0.
          SET PARAMETER ID 'BES' FIELD it_ekko-ebeln.
          CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDIF.
    ENDFORM.
    Thanks,
    Naren

  • Double click event in alv oops

    Hi,
    can any one please help me out... i dont know how to call events in alv oops...so can any one provide me with some help..
    My requirment is i have to generate a mail grid containing customer details and if i double click on a customer it should go to the transaction XD03 second screen.....

    u have to declae an event like this.
    class event_receiver definition.
      public section.
        methods handle_double_click
          for event double_click of cl_gui_alv_grid
          importing e_row.
    endclass.
    then u have to implement it in the implementation
    class lcl_event_receiver implementation.
      method lmt_handle_double_click.
        perform double_click using e_row
                                   tbl_final_display.
      endmethod.                   
    endclass.
    form double_click
            using fu_e_row             type lvc_s_row
                  fu_tbl_final_display type typ_tbl_display.
      read table fu_tbl_final_display into l_h_tbl_final_display
                              index fu_e_row-index.
      if sy-subrc = 0.
        set parameter id cns_aun field l_h_tbl_final_display-vbeln.
        call transaction cns_trans and skip first screen.
      endif.
    endform.
    hope it will help u

  • Double Click Event In ALV Tree

    Hello guys,
    There is a requirement that when I double click on an item in ALV tree it takes me to a standard transaction code.
    Can anyone suggest me how to proceed on this.
    Thanks in Advance.
    Regards,
    Abhinav

    Hi,
    Refer:
    Get cursor field in ALV Tree
    Hope this helps you.
    Regards,
    Tarun

  • Problem in Double click event for ALV.

    Hi experts ,
    My scenario is one ALV is displayed in First screen and after double click  on particular column second screen is displayed with the other ALV.
    I have created 2 custom containers.
    My problem is that for the first double click every thing is fine,then i come back to first screen from second screen when i double click on different item the previous item is displayed which was for the first double click .
    I debugg the program ,  passing of data to the internal table is fine.
    Help me in the problem
    Thanks
    Aisurya

    Hi,
    You have to use refresh_table_dispaly  method to update the values. else it will display the same.
    try this logic
    if  cus_cont is initial.
    o_grid->set_table_for_first_display.
    else.
    o_grid->refresh_table_display.
    endif.,
    check BCALV_GRID_03 standard program for reference.
    hope this helps u.,
    Thanks & Regards,
    Kiran

  • ALV OOPS Double-click event

    Hi,
    I want to handle the double-click event in ALV grid (OOPs).
    The output should be shown in the same fashion as it is shown in SE16 when we double-click on any record in the result set.
    i.e. if you have selected the ALV grid display for the Data browser in SE16 and when you double click on any record, the complete record is shown in a window.
    I want this in my ALV as well..
    Can anyone please suggest how to achieve this?
    Regards
    s.a.k

    Hi siemens.a.k ,
    The solution for the issue would be to create a  custom screen and add a custom table controller in a container.
    In this table controller you map the respective fields required for your output
    Now once you are done with data population in the custom controller for ALV grid display using cl_gui_alv_grid_display class...
    create events in your custom class to handle the on click event.
    If you observe the standard functionality it could be clearly seen that sap has created another screen for the display of records in different view.
    You could also replicate the similar thing by creating another screen and populating the required fields into the second screen.
    As of now i am providing this information ...I would even try to simulate the scenario at my system.
    So once i am done i would update you the same...
    Thanks
    M.Naveen Kumar....

  • Short dump while export grid alv with subtotals.

    hello,
    its strange and i face first time that my grid alv report goin to short dump while i done subtotals and send it to local file thru export.
    if am not doing subtotals then export it to local file it goin fine.
    whats it has problem plz give ur helping hends.
    here i copied a dump msg also.
    Short text
        Error at assignment: Overwritten protected field.
    What happened?
        Error in the ABAP Application Program
        The current ABAP program "SAPLKKBL" had to be terminated because it has
        come across a statement that unfortunately cannot be executed.
    Error analysis
        A new value is to be assigned to the field "<L_UNIT>", although this field is
        entirely or partly protected against changes.
        The following are protected against changes:
        - Character literals or numeric literals
        - Constants (CONSTANTS)
        - Parameters of the category IMPORTING REFERENCE for functions and
        methods
        - Untyped field symbols not yet assigned a field using ASSIGN
        - TABLES parameters if the actual parameter is protected against changes
        - USING reference parameters and CHANGING parameters for FORMs, if the
        actual parameter is protected against changes and
        - Accesses using field symbols if the field assigned using ASSIGN is
        protected (or partially protected, e.g. key components of an internal
        table with the type SORTED or HASHED TABLE) against changes
        - Accesses using references, if the field bound to the reference is
        protected (or partially protected) against changes
        - External write accesses to READ-ONLY attributes,
        - Content of a shared object area instance accessed using a shared lock
        (ATTACH_FOR_READ).
    regards amit.

    & Object Id               :                                                  &
    & Object Name             :                                                  &
    & Function Module Name    : Sales Register                                   &
    & Transaction Code        :                                                  &
    & Author                  : Amit gujargoud                                      &
    & Module Name             : SD                                               &
    & Sub-Module              :                                                  &
    & Program Type            : Dialog            Create Date     : 02/02/2007   &
    & SAP Release             : ECC 6.0                                          &
    & Description             : Sales Register - Detail                           &
    *& Report  ZSALESREGISTER
    REPORT  zsd_salesregister.
    *&       TYPE-POOLS
    TYPE-POOLS : slis.
    *&       TABLES
    TABLES: vbrp,  "Billing Document: Item Data
            vbrk,  "Billing Document: Header Data
            lips,  "SD document: Delivery: Item data
            lfa1,  "Vendor Master (General Section)
            kna1,  "General Data in Customer Master
            vbak,  "Sales Document: Header Data
            vbpa,  "Sales Document: Partner (Gopal)
            likp,  "SD Document: Delivery Header Data
            vbap,  "Sales Document: Item Data
            vbkd,  "Sales Document: Business Data
            mara.  "General Material Data
    *&       DATA DECLARATION
    DATA: BEGIN OF i_report OCCURS 100,
            vbeln LIKE vbrp-vbeln,        "Billing Document
      posnr LIKE vbrp-posnr,
      matnr  LIKE mara-matnr ,
      aubel LIKE vbrp-aubel,        "Sales Document
       fkimg LIKE vbrp-fkimg,        "Actual billed quantity
       vrkme LIKE vbrp-vrkme,        "Sales unit
       arktx LIKE vbrp-arktx,        "Short text for sales order item
       vgbel LIKE vbrp-vgbel,        "Doc number of the reference document
       werks  LIKE vbap-werks,
      vkgrp  LIKE vbrp-vkgrp,
      fklmg LIKE vbrp-fklmg,
      volum LIKE vbrp-volum,
       vkbur  LIKE vbrp-vkbur,
      vtweg_auft LIKE vbrp-vtweg_auft,
            auart  LIKE vbak-auart,
            tabix LIKE sy-tabix,          "Internal Table, Current Row Index
            name1 LIKE kna1-name1,                              "Name1
            exnum LIKE j_1iexchdr-exnum,  "Official Excise Document Number
            orqty TYPE p DECIMALS 0,
            penqty TYPE p DECIMALS 0,     "Cumulative order qty in sls units
            openqty TYPE p DECIMALS 0,    "Cumulative order qty in sls units
            ean11 LIKE lips-ean11,        "International Article No(EAN/UPC)
           volum LIKE lips-volum,
            lgmng LIKE lips-lgmng,
            traid LIKE likp-traid,
            ort01 LIKE lfa1-ort01,        "City
            lifnr LIKE lfa1-lifnr,        "A/c Number of Vendor or Creditor
            netwr LIKE vbrp-netwr,        "Net val of bill item in doc currency
            kunnr LIKE vbak-kunnr,        "Sold-to party
            adrnr LIKE vbpa-adrnr,        "Address
            city1 LIKE adrc-city1,        "City
            tprtr LIKE lfa1-name1,                              "Name 1
            knumv LIKE konv-knumv,        "Number of the document condition
            kposn LIKE konv-kposn,
            rate  LIKE konv-kbetr,        "Rate (cond amount or percentage)
            bas_val LIKE konv-kwert,      "Rate (cond amount or percentage)
            exc_duty LIKE konv-kwert,     "Rate (cond amount or percentage)
            ed_cess LIKE konv-kwert,      "Rate (cond amount or percentage)
            freight LIKE konv-kwert,      "Rate (cond amount or percentage)
            pack    LIKE konv-kwert,      "Rate (cond amount or percentage)
            cst LIKE konv-kwert,          "Rate (cond amount or percentage)
            vat LIKE konv-kwert,          "Rate (cond amount or percentage)
            ent_tax LIKE konv-kwert,      "Rate (cond amount or percentage)
            tot_inv LIKE konv-kwert,       "Rate (cond amount or percentage)
            tot_inv_round LIKE konv-kwert,   "Rate (cond amount or percentage)
            disc_tot  LIKE konv-kwert,       "Discount total - Z001 to Z020
            vat_rate LIKE konv-kbetr,
            cst_rate LIKE konv-kbetr,
            lst_rate LIKE konv-kbetr,
            mwsbk LIKE vbrk-mwsbk,
            bas_tax LIKE konv-kwert,
            dev_tax LIKE konv-kwert,
            tcs_tax LIKE konv-kwert,
            bas_tot LIKE konv-kwert,
            lst     LIKE konv-kwert,
            vkorg   LIKE vbak-vkorg,
            mvgr1   LIKE mvke-mvgr1,
            mvgr2   LIKE mvke-mvgr2,
            mvgr3   LIKE mvke-mvgr3,
            mvgr4   LIKE mvke-mvgr4,
            mvgr5   LIKE mvke-mvgr5,
            text1   LIKE tvm1t-bezei,
            text2   LIKE tvm1t-bezei,
            text3   LIKE tvm1t-bezei,
            text4   LIKE tvm1t-bezei,
            text5   LIKE tvm1t-bezei,
            bismit_area TYPE p DECIMALS 4,   " Size (L*B) in mm
            face_area  TYPE p DECIMALS 2,   " Face Area Declaration
            notional_area TYPE p DECIMALS 2,
            stock_pcs TYPE p ,               " decimals 3 Pcs of Stock
            labst  LIKE mard-labst,           " Valuated Unrestricted-Use Stock
            bismt  LIKE mara-bismt,           " Size (L*B) in mm
            normt  LIKE mara-normt,           " Industry Standard Description
            temp   TYPE p DECIMALS 2,
            temp1  TYPE p DECIMALS 2,
            temp2  TYPE p DECIMALS 2,
            temp3  TYPE p DECIMALS 2,
            temp4  TYPE p DECIMALS 2,
            temp5  TYPE p DECIMALS 2,
            temp6  TYPE p DECIMALS 2,
            temp7  TYPE p DECIMALS 2,
            temp8  TYPE p DECIMALS 2,
            temp9  TYPE p DECIMALS 2,
            temp10 TYPE p DECIMALS 2,
            temp11 TYPE p DECIMALS 2,
            temp12 TYPE p DECIMALS 2,
            temp13 TYPE p DECIMALS 0,
            temp14 TYPE p DECIMALS 0,
            temp15 TYPE p DECIMALS 0,
            temp16 TYPE p DECIMALS 2,
            temp17 TYPE p DECIMALS 2,
            temp18 TYPE p DECIMALS 2,
            temp19 TYPE p DECIMALS 2,
            temp20 TYPE p DECIMALS 2,
            temp21 TYPE p DECIMALS 2,
            waybill(20) TYPE c,
            audat  LIKE vbak-audat,     "Document Date (Date Received/Sent)
            lgort  LIKE vbap-lgort,     "Storage location
            lgobe  LIKE t001l-lgobe,    "Description of storage location
            erdat  LIKE vbrk-erdat,     "Date on which the record was created
            exdat  LIKE j_1iexchdr-exdat,  "Excise Document Date
            vbtyp  LIKE vbak-vbtyp,        "SD document category
            acdt   LIKE likp-wadat_ist,    "Actual goods movement date
            fkdat  LIKE vbrk-fkdat,
            ship   LIKE kna1-name1,      "Name1 (Ship-to party)
            fksto  LIKE vbrk-fksto,
            fkart  LIKE vbrk-fkart,
            bezei  LIKE t005u-bezei,
            vtweg  LIKE vbak-vtweg,
            spart  LIKE vbak-spart,
            matkl  LIKE mara-matkl,
            wgbez  LIKE t023t-wgbez,
            mtart  LIKE mara-mtart,
            labor  LIKE mara-labor,
            ferth  LIKE mara-ferth,
            lbtxt  LIKE t024x-lbtxt,
            niels  LIKE kna1-niels,
            kukla  LIKE kna1-kukla,
            desc   LIKE tvkbt-bezei,
            brsch  LIKE kna1-brsch,
            zeinr  LIKE mara-zeinr,
            bzirk  LIKE vbrk-bzirk,
            area_desc   LIKE tnlst-bezei,
            dist_desc   TYPE tkukt-vtext,
            taluka_desc TYPE t016t-brtxt,
            sales_desc  TYPE tvgrt-bezei,
            kmein       LIKE konv-kmein,    "Sales Unit
            challan     LIKE likp-vbeln,
            END OF i_report.
    data for MVKE
    DATA: BEGIN OF i_report_mvke OCCURS 0,
            vbeln   LIKE vbrp-vbeln,        "Billing Document
            aubel   LIKE vbrp-aubel,        "Sales Document
            vkorg   LIKE vbak-vkorg,
            matnr   LIKE mara-matnr ,
            vtweg   LIKE vbak-vtweg,
            END OF i_report_mvke.
    ***********************TEMP COPY
    DATA: BEGIN OF i_report_temp OCCURS 0,
           vbeln LIKE vbrp-vbeln,        "Billing Document
      posnr LIKE vbrp-posnr,
      matnr  LIKE mara-matnr ,
      aubel LIKE vbrp-aubel,        "Sales Document
       fkimg LIKE vbrp-fkimg,        "Actual billed quantity
       vrkme LIKE vbrp-vrkme,        "Sales unit
       arktx LIKE vbrp-arktx,        "Short text for sales order item
       vgbel LIKE vbrp-vgbel,        "Doc number of the reference document
       werks  LIKE vbap-werks,
      vkgrp  LIKE vbrp-vkgrp,
      fklmg LIKE vbrp-fklmg,
      volum LIKE vbrp-volum,
       vkbur  LIKE vbrp-vkbur,
      vtweg_auft LIKE vbrp-vtweg_auft,
            auart  LIKE vbak-auart,
            tabix LIKE sy-tabix,          "Internal Table, Current Row Index
            name1 LIKE kna1-name1,                              "Name1
            exnum LIKE j_1iexchdr-exnum,  "Official Excise Document Number
            orqty TYPE p DECIMALS 0,
            penqty TYPE p DECIMALS 0,     "Cumulative order qty in sls units
            openqty TYPE p DECIMALS 0,    "Cumulative order qty in sls units
            ean11 LIKE lips-ean11,        "International Article No(EAN/UPC)
           volum LIKE lips-volum,
            lgmng LIKE lips-lgmng,
            traid LIKE likp-traid,
            ort01 LIKE lfa1-ort01,        "City
            lifnr LIKE lfa1-lifnr,        "A/c Number of Vendor or Creditor
            netwr LIKE vbrp-netwr,        "Net val of bill item in doc currency
            kunnr LIKE vbak-kunnr,        "Sold-to party
            adrnr LIKE vbpa-adrnr,        "Address
            city1 LIKE adrc-city1,        "City
            tprtr LIKE lfa1-name1,                              "Name 1
            knumv LIKE konv-knumv,        "Number of the document condition
            kposn LIKE konv-kposn,
            rate  LIKE konv-kbetr,        "Rate (cond amount or percentage)
            bas_val LIKE konv-kwert,      "Rate (cond amount or percentage)
            exc_duty LIKE konv-kwert,     "Rate (cond amount or percentage)
            ed_cess LIKE konv-kwert,      "Rate (cond amount or percentage)
            freight LIKE konv-kwert,      "Rate (cond amount or percentage)
            pack    LIKE konv-kwert,      "Rate (cond amount or percentage)
            cst LIKE konv-kwert,          "Rate (cond amount or percentage)
            vat LIKE konv-kwert,          "Rate (cond amount or percentage)
            ent_tax LIKE konv-kwert,      "Rate (cond amount or percentage)
            tot_inv LIKE konv-kwert,       "Rate (cond amount or percentage)
            tot_inv_round LIKE konv-kwert,   "Rate (cond amount or percentage)
            disc_tot  LIKE konv-kwert,       "Discount total - Z001 to Z020
            vat_rate LIKE konv-kbetr,
            cst_rate LIKE konv-kbetr,
            lst_rate LIKE konv-kbetr,
            mwsbk LIKE vbrk-mwsbk,
            bas_tax LIKE konv-kwert,
            dev_tax LIKE konv-kwert,
            tcs_tax LIKE konv-kwert,
            bas_tot LIKE konv-kwert,
            lst     LIKE konv-kwert,
            vkorg   LIKE vbak-vkorg,
            mvgr1   LIKE mvke-mvgr1,
            mvgr2   LIKE mvke-mvgr2,
            mvgr3   LIKE mvke-mvgr3,
            mvgr4   LIKE mvke-mvgr4,
            mvgr5   LIKE mvke-mvgr5,
            text1   LIKE tvm1t-bezei,
            text2   LIKE tvm1t-bezei,
            text3   LIKE tvm1t-bezei,
            text4   LIKE tvm1t-bezei,
            text5   LIKE tvm1t-bezei,
            bismit_area TYPE p DECIMALS 4,   " Size (L*B) in mm
            face_area  TYPE p DECIMALS 2,   " Face Area Declaration
            notional_area TYPE p DECIMALS 2,
            stock_pcs TYPE p ,               " decimals 3 Pcs of Stock
            labst  LIKE mard-labst,           " Valuated Unrestricted-Use Stock
            bismt  LIKE mara-bismt,           " Size (L*B) in mm
            normt  LIKE mara-normt,           " Industry Standard Description
            temp   TYPE p DECIMALS 2,
            temp1  TYPE p DECIMALS 2,
            temp2  TYPE p DECIMALS 2,
            temp3  TYPE p DECIMALS 2,
            temp4  TYPE p DECIMALS 2,
            temp5  TYPE p DECIMALS 2,
            temp6  TYPE p DECIMALS 2,
            temp7  TYPE p DECIMALS 2,
            temp8  TYPE p DECIMALS 2,
            temp9  TYPE p DECIMALS 2,
            temp10 TYPE p DECIMALS 2,
            temp11 TYPE p DECIMALS 2,
            temp12 TYPE p DECIMALS 2,
            temp13 TYPE p DECIMALS 0,
            temp14 TYPE p DECIMALS 0,
            temp15 TYPE p DECIMALS 0,
            temp16 TYPE p DECIMALS 2,
            temp17 TYPE p DECIMALS 2,
            temp18 TYPE p DECIMALS 2,
            temp19 TYPE p DECIMALS 2,
            temp20 TYPE p DECIMALS 2,
            temp21 TYPE p DECIMALS 2,
            waybill(20) TYPE c,
            audat  LIKE vbak-audat,     "Document Date (Date Received/Sent)
            lgort  LIKE vbap-lgort,     "Storage location
            lgobe  LIKE t001l-lgobe,    "Description of storage location
            erdat  LIKE vbrk-erdat,     "Date on which the record was created
            exdat  LIKE j_1iexchdr-exdat,  "Excise Document Date
            vbtyp  LIKE vbak-vbtyp,        "SD document category
            acdt   LIKE likp-wadat_ist,    "Actual goods movement date
            fkdat  LIKE vbrk-fkdat,
            ship   LIKE kna1-name1,      "Name1 (Ship-to party)
            fksto  LIKE vbrk-fksto,
            fkart  LIKE vbrk-fkart,
            bezei  LIKE t005u-bezei,
            vtweg  LIKE vbak-vtweg,
            spart  LIKE vbak-spart,
            matkl  LIKE mara-matkl,
            wgbez  LIKE t023t-wgbez,
            mtart  LIKE mara-mtart,
            labor  LIKE mara-labor,
            ferth  LIKE mara-ferth,
            lbtxt  LIKE t024x-lbtxt,
            niels  LIKE kna1-niels,
            kukla  LIKE kna1-kukla,
            desc   LIKE tvkbt-bezei,
            brsch  LIKE kna1-brsch,
            zeinr  LIKE mara-zeinr,
            bzirk  LIKE vbrk-bzirk,
            area_desc   LIKE tnlst-bezei,
            dist_desc   TYPE tkukt-vtext,
            taluka_desc TYPE t016t-brtxt,
            sales_desc  TYPE tvgrt-bezei,
            kmein       LIKE konv-kmein,    "Sales Unit
            challan     LIKE likp-vbeln,
            END OF i_report_temp.
    DATA: BEGIN OF i_vbap OCCURS 0 ,
            posnr LIKE vbap-posnr,
            vbeln LIKE vbap-vbeln ,
            matnr LIKE vbap-matnr ,
            werks LIKE vbap-werks,
       kwmeng LIKE vbap-kwmeng,
      lgort LIKE vbap-lgort,
            matkl LIKE mara-matkl,
            wgbez LIKE t023t-wgbez,
            mtart LIKE mara-mtart,
          END OF i_vbap .
    DATA : w_temp_cal(20) TYPE c.
    DATA : w_face_area TYPE p DECIMALS 4,
           w_notinal_area TYPE p DECIMALS 4.
    **MVKE
    DATA: BEGIN OF itab_mvke OCCURS 0,
          matnr   LIKE mvke-matnr,
          vkorg   LIKE vbak-vkorg,
          vtweg   LIKE mvke-vtweg,
          mvgr1   LIKE mvke-mvgr1,
          mvgr2   LIKE mvke-mvgr2,
          mvgr3   LIKE mvke-mvgr3,
          mvgr4   LIKE mvke-mvgr4,
          mvgr5   LIKE mvke-mvgr5,
          END OF itab_mvke.
    **TVM1T
    DATA : BEGIN OF itab_tvm1t OCCURS 0,
            spras LIKE tvm1t-spras,
          mvgr1 LIKE tvm1t-mvgr1,
          bezei LIKE tvm1t-bezei,
      END OF itab_tvm1t.
    DATA : BEGIN OF itab_tvm2t OCCURS 0,
          spras LIKE tvm2t-spras,
        mvgr2 LIKE tvm2t-mvgr2,
        bezei LIKE tvm2t-bezei,
    END OF itab_tvm2t.
    DATA : BEGIN OF itab_tvm3t OCCURS 0,
          spras LIKE tvm3t-spras,
        mvgr3 LIKE tvm3t-mvgr3,
        bezei LIKE tvm3t-bezei,
    END OF itab_tvm3t.
    DATA : BEGIN OF itab_tvm4t OCCURS 0,
          spras LIKE tvm4t-spras,
        mvgr4 LIKE tvm4t-mvgr4,
        bezei LIKE tvm4t-bezei,
    END OF itab_tvm4t.
    DATA : BEGIN OF itab_tvm5t OCCURS 0,
          spras LIKE tvm5t-spras,
        mvgr5 LIKE tvm5t-mvgr5,
        bezei LIKE tvm5t-bezei,
    END OF itab_tvm5t.
    DATA:      itab_t024x TYPE STANDARD TABLE OF t024x WITH HEADER LINE,
          it_report LIKE LINE OF i_report OCCURS 0,
          i_mvke LIKE LINE OF itab_mvke OCCURS 0.
    **VBKD
    DATA: BEGIN OF i_vbkd OCCURS 0 ,
            vbeln LIKE vbkd-vbeln ,
            posnr LIKE vbkd-posnr ,
           bzirk LIKE vbkd-bzirk ,
          END OF i_vbkd .
    DATA: BEGIN OF i_lips OCCURS 0,
       vbeln LIKE lips-vbeln,
            ean11 LIKE lips-ean11,
             volum LIKE lips-volum,
             lgmng LIKE lips-lgmng,
            waybill(20) TYPE c,
          END OF i_lips.
    DATA: BEGIN OF i_vbrk OCCURS 0,
            vbeln LIKE vbrk-vbeln,
            rfbsk LIKE vbrk-rfbsk,      "Status for transfer to accounting
            erdat LIKE vbrk-erdat,      "Dt on which the record was created
            fkdat LIKE vbrk-fkdat,      "CHANGE MADE BY PARTHA RAHAMAN
            fksto LIKE vbrk-fksto,      "GOPAL:: CANCELLED DOC. DO NOT PRNT.
            netwr LIKE vbrk-netwr,
            fkart LIKE vbrk-fkart, "Gopal:when billng typ=s1 do not pnt 1jul
            knumv LIKE vbrk-knumv,
            mwsbk LIKE vbrk-mwsbk,
            bzirk LIKE vbrk-bzirk,
            vtweg LIKE vbrk-vtweg,
            spart LIKE vbrk-spart,
           END OF i_vbrk.
          *structure for MARD Table by kalika
    DATA : BEGIN OF itab_mard OCCURS 0,
           matnr LIKE mard-matnr,
          werks LIKE mard-werks,
           labst LIKE mard-labst,          " Valuated Unrestricted-Use Stock
          lgort LIKE mard-lgort,          " Storage Location
           END OF itab_mard.
          *structure for MARD Table by kalika
    DATA:BEGIN OF i_kna1 OCCURS 0,
          vbeln LIKE vbak-vbeln,
          name1 LIKE kna1-name1,
          kunnr LIKE kna1-kunnr,
          regio LIKE kna1-regio,
         bezei LIKE t005u-bezei,
          land1 LIKE kna1-land1,
          vkgrp LIKE vbak-vkgrp,
          niels LIKE kna1-niels,
          kukla LIKE kna1-kukla,
          brsch LIKE kna1-brsch,
          vkbur LIKE vbak-vkbur,
         END OF i_kna1.
    DATA:BEGIN OF i_t005u OCCURS 0,
         spras LIKE t005u-spras,
        land1 LIKE t005u-land1,
       bland LIKE t005u-bland,
         bezei LIKE t005u-bezei,
         END OF i_t005u.
    DATA:BEGIN OF i_tnlst OCCURS 0,
       spras LIKE t005u-spras,
    niels LIKE tnlst-niels,
       bezei LIKE t005u-bezei,
       END OF i_tnlst.
    DATA:BEGIN OF itab_tkukt OCCURS 0,
    spras LIKE tkukt-spras,
    kukla LIKE tkukt-kukla,
    vtext LIKE tkukt-vtext,
    END OF itab_tkukt.
    DATA : BEGIN OF itab_t016t OCCURS 0,
          spras LIKE t016t-spras,
           brsch LIKE t016t-brsch,
           brtxt LIKE t016t-brtxt,
      END OF itab_t016t.
    DATA : BEGIN OF itab_tvgrt OCCURS 0,
          spras LIKE tvgrt-spras,
          vkgrp LIKE tvgrt-vkgrp,
          bezei LIKE tvgrt-bezei,
      END OF itab_tvgrt.
    *DATA: i_t005u  TYPE STANDARD TABLE OF t005u WITH HEADER LINE.
    DATA:BEGIN OF i_kna2 OCCURS 0,
         kunnr LIKE kna1-kunnr,
         name1 LIKE kna1-name1,   " For Ship-to-Party
          END OF i_kna2.
    DATA:BEGIN OF i_vbak OCCURS 0,
         vbeln LIKE vbak-vbeln,
         vbtyp LIKE vbak-vbtyp,
         audat LIKE vbak-audat,
         auart LIKE vbak-auart,
         vtweg LIKE vbak-vtweg,
         spart LIKE vbak-spart,
         vkbur LIKE vbak-vkbur,
         vkorg LIKE vbak-vkorg,
         END OF i_vbak.
    DATA:BEGIN OF i_adrc OCCURS 0,
          vbeln LIKE vbpa-vbeln,
          kunnr LIKE kna1-kunnr,
          city1 LIKE adrc-city1,
         name1 LIKE kna1-name1,      "Name1 (Ship-to party)
         END OF i_adrc.
    DATA:BEGIN OF i_lfa1 OCCURS 0,
          lifnr LIKE vbpa-lifnr,
          vbeln LIKE vbpa-vbeln,
          name1 LIKE lfa1-name1,
         END OF i_lfa1.
    DATA : BEGIN OF it_knumv OCCURS 0,
            vbeln LIKE vbrk-vbeln,
            knumv LIKE vbrk-knumv,
          END OF it_knumv.
    DATA : BEGIN OF it_rate OCCURS 0,
            ksteu LIKE konv-ksteu,    "Condition control
            knumv LIKE konv-knumv,    "Number of the document condition
            kschl LIKE konv-kschl,    "Condition type
            kbetr LIKE konv-kbetr,    "Rate (condition amount or percentage)
            kwert LIKE konv-kwert,    "Condition value
            kposn LIKE konv-kposn,
            kmein LIKE konv-kmein,    "Sales Unit
           END OF it_rate.
    DATA: BEGIN OF itab_exnum OCCURS 0,
           exnum LIKE j_1iexchdr-exnum,  "Official Excise Document Number
           exdat LIKE j_1iexchdr-exdat,  "Excise Document Date
           rdoc LIKE j_1iexchdr-rdoc,    "Reference Document 1
            status LIKE j_1iexchdr-status,
           END OF itab_exnum.
    DATA: BEGIN OF itab_qty OCCURS 0,
          kwmeng LIKE vbap-kwmeng,
          vbeln LIKE vbap-vbeln,
          lgort LIKE vbap-lgort,
          END OF itab_qty.
    *DATA: BEGIN OF i_stloc OCCURS 0,
         lgort LIKE t001l-lgort,
         lgobe LIKE t001l-lgobe,
         END OF i_stloc.
    DATA:t_line LIKE STANDARD TABLE OF tline INITIAL SIZE 0
         WITH HEADER LINE,
    "     itab_tvkbt LIKE STANDARD TABLE OF tvkbt WITH HEADER LINE,
         w_tdname LIKE thead-tdname.
    DATA : BEGIN OF itab_tvkbt OCCURS 0,
      spras LIKE tvkbt-spras,
      vkbur LIKE tvkbt-vkbur,
      bezei LIKE tvkbt-bezei,
      END OF itab_tvkbt.
    DATA: BEGIN OF i_exchdr OCCURS 0,
          exnum LIKE j_1iexchdr-exnum,
          exdat LIKE j_1iexchdr-exdat,
          rdoc  LIKE j_1iexchdr-rdoc,
          END OF i_exchdr.
    DATA: BEGIN OF i_likp OCCURS 0,
          vbeln LIKE likp-vbeln,
          wadat_ist LIKE likp-wadat_ist,
          traid LIKE likp-traid,
          bolnr LIKE likp-bolnr,
          END OF i_likp.
    DATA: BEGIN OF i_mara OCCURS 0,
          matnr LIKE mara-matnr,
          matkl LIKE mara-matkl,
          mtart LIKE mara-mtart,
          labor LIKE mara-labor,
         wgbez LIKE t023t-wgbez,
          bismt LIKE mara-bismt,
          normt LIKE mara-normt,
          ferth LIKE mara-ferth,
          zeinr LIKE mara-zeinr,
          extwg LIKE mara-extwg,
          spart LIKE mara-spart,
          END OF i_mara.
    DATA: BEGIN OF i_t023t OCCURS 0,
          matkl LIKE t023t-matkl,
          wgbez LIKE t023t-wgbez,
          END OF i_t023t.
    DATA : var_length(20)  TYPE c,
           var_breadth(20)  TYPE c.
    DATA: p_w_value LIKE konv-kwert.
    DATA : it_fieldcat    TYPE  slis_t_fieldcat_alv,      " Event for Table to creater fieldcatalog
           wa_fieldcat     LIKE LINE OF it_fieldcat,      " Work Area for table field catalog
           lt_top_of_page   TYPE  slis_t_listheader,      " Header table for top of page
            i_layout        TYPE  slis_layout_alv .      " It will fill the layout
           gt_event   TYPE  slis_t_event.                 " Table Event
    *DATA :
         "itab_tnlst TYPE STANDARD TABLE OF tnlst WITH HEADER LINE,
         "      itab_tkukt TYPE STANDARD TABLE OF tkukt WITH HEADER LINE,
    *"      itab_t016t TYPE STANDARD TABLE OF t016t WITH HEADER LINE,
         itab_tvgrt TYPE STANDARD TABLE OF tvgrt WITH HEADER LINE.
    *&       SELECTION-SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK block
                                      WITH FRAME TITLE text-100.
    SELECT-OPTIONS: s_date FOR vbrk-fkdat OBLIGATORY,
                    s_vkbur FOR vbak-vkbur OBLIGATORY,
                    s_vtweg FOR vbrk-vtweg OBLIGATORY,
                    s_werks FOR vbap-werks,
                    s_spart FOR vbrk-spart OBLIGATORY,
                    s_matkl FOR mara-matkl.
    PARAMETERS:
                r_opt3  RADIOBUTTON GROUP grp1,
                r_opt2  RADIOBUTTON GROUP grp1.
               r_opt4  RADIOBUTTON GROUP grp1,
               r_opt5  RADIOBUTTON GROUP grp1,
               r_opt1  RADIOBUTTON GROUP grp1.
    SELECTION-SCREEN END OF BLOCK block.
    *&       INITIALIZATION
    INITIALIZATION.
      r_opt2 = 'X'.
    *&     START-OF-SELECTION.
    START-OF-SELECTION.
    *select data from VBRP
    SELECT vbeln
            posnr
            matnr
            aubel
            fkimg
            vrkme
            arktx
            vgbel
            werks
            vkgrp
             fklmg
             volum
             vkbur
             vtweg_auft
            FROM vbrp
            INTO  TABLE i_report
            WHERE "erdat IN s_date
            AND   spart IN s_spart
               vkbur IN s_vkbur
            AND   vtweg_auft IN s_vtweg.
    **logic for Pending, Summary & Detail Report
      IF
         r_opt1 EQ 'X' OR
        r_opt2 EQ 'X'  OR
               r_opt3 EQ 'X'.
        SELECT vbeln
                  rfbsk
                  erdat
                  fkdat
                  fksto
                  netwr
                  fkart
                  knumv
                  mwsbk
                  bzirk
                  vtweg
                  spart
                  FROM vbrk INTO TABLE i_vbrk
                 FOR ALL ENTRIES IN i_report
                  WHERE "vbeln = i_report-vbeln
                 " and
                  fkdat IN s_date
                  AND   fkart IN ('ZBHR', 'ZTZT', 'ZKRP', 'ZRUD', 'ZBSR',
                                'ZGHT', 'ZKOL', 'ZPTN', 'ZRNC', 'ZCND',
                                'ZDLH', 'ZGZB', 'ZGUR', 'ZHSR', 'ZJPR',
                                'ZLKW', 'ZBLR', 'ZCHN', 'ZCBM', 'ZHUB',
                                'ZHYD', 'ZKOC', 'ZAHD', 'ZIND', 'ZMUM',
    *********************MODIFICATION BY CHAKRAPANI  (ADDITION OF ZVIJ AND ZHWH ) 18.05.2007
                                'ZNGP', 'ZPNE', 'ZRPR' , 'ZEXP', 'ZDEM','ZVIJ', 'ZHWH','JEX' )
    *********************MODIFICATION BY CHAKRAPANI  (ADDITION OF ZVIJ AND ZHWH ) 18.05.2007
                  AND   vtweg IN s_vtweg
                 AND   spart IN s_spart
                  AND   fksto NE 'X'.
        IF i_vbrk[] IS NOT INITIAL.
          SELECT   vbeln
                   posnr
                   matnr
                   aubel
                   fkimg
                   vrkme
                   arktx
                   vgbel
                   werks
                   vkgrp
                    fklmg
                    volum
                    vkbur
                    vtweg_auft
                   FROM vbrp
                   INTO  TABLE i_report
            FOR ALL ENTRIES IN i_vbrk
                   WHERE vbeln = i_vbrk-vbeln "erdat IN s_date
            AND   spart IN s_spart
                   AND  vkbur IN s_vkbur
                   AND   vtweg_auft IN s_vtweg.
        ENDIF.
       ELSEIF r_opt4 EQ 'X' OR
              r_opt5 EQ 'X'.
         SELECT   vbeln
                  rfbsk
                  erdat
                  fkdat
                  fksto
                  netwr
                  fkart
                  knumv
                  mwsbk
                  bzirk
                  vtweg
                  spart
                  FROM vbrk INTO CORRESPONDING FIELDS OF TABLE i_vbrk
                  FROM vbrk INTO TABLE i_vbrk
                  FOR ALL ENTRIES IN i_report
                  WHERE vbeln = i_report-vbeln
                  AND   fkart EQ 'ZEXP'
                  AND   vtweg IN s_vtweg
                  AND   spart IN s_spart
                  AND   fksto NE 'X'.
       ENDIF.
        SORT i_vbrk BY vbeln ASCENDING.
      ENDIF.
    change amit by my self may be removed
      IF i_report[] IS NOT INITIAL.
        REFRESH it_report.
        it_report[] = i_report[].
        DELETE ADJACENT DUPLICATES FROM it_report COMPARING aubel.
        SORT it_report BY aubel.
    *select VBAP data
        SELECT posnr vbeln matnr werks
        kwmeng lgort
        FROM vbap
        INTO  TABLE i_vbap
        FOR ALL ENTRIES IN it_report
        WHERE vbeln = it_report-aubel.
      ENDIF.
    change amit by my self may be removed
    *select data from VBKD
    IF NOT i_vbap[] IS INITIAL.
       SELECT vbeln posnr
         FROM vbkd
         INTO TABLE i_vbkd
         FOR ALL ENTRIES IN i_vbap
         WHERE vbeln = i_vbap-vbeln.
    ENDIF.
      SORT i_vbap BY vbeln ASCENDING.
      IF i_report[] IS NOT INITIAL.
        REFRESH it_report.
        it_report[] = i_report[].
        DELETE ADJACENT DUPLICATES FROM it_report COMPARING matnr.
        SORT it_report BY matnr.
        SELECT
        matnr
        matkl
        mtart
        labor
        bismt
        normt
        ferth
        zeinr
        extwg
        spart
        FROM mara
        INTO TABLE i_mara
        FOR ALL ENTRIES IN i_report
        WHERE matnr = i_report-matnr
          AND   spart IN s_spart.
      ENDIF.
       IF NOT i_mara[] IS INITIAL.
         SORT i_mara BY matnr.
         SELECT matnr
                labst
                FROM mard
                INTO TABLE itab_mard
                FOR ALL ENTRIES IN i_mara
                WHERE matnr = i_mara-matnr.
       ENDIF.
    ENDIF.
      DATA : it_mara LIKE LINE OF i_mara OCCURS 0.
      IF NOT i_mara[] IS INITIAL.
        REFRESH it_mara.
        it_mara[] = i_mara[].
        DELETE ADJACENT DUPLICATES FROM it_mara COMPARING matkl.
        SORT it_mara BY matkl.
        SELECT matkl wgbez
          FROM t023t
          INTO  TABLE i_t023t
          FOR ALL ENTRIES IN it_mara
          WHERE matkl = it_mara-matkl.
    *T024X
        REFRESH it_mara.
        it_mara[] = i_mara[].
        DELETE ADJACENT DUPLICATES FROM it_mara COMPARING labor.
        SORT it_mara BY labor.
        SELECT * FROM t024x
        INTO TABLE itab_t024x
        FOR ALL ENTRIES IN it_mara
        WHERE labor = it_mara-labor
        AND spras = sy-langu.
      ENDIF.
    *begin of change amit
      LOOP AT i_vbap.
        READ TABLE i_mara WITH KEY matnr = i_vbap-matnr.
        IF sy-subrc = 0.
    *material type & material group
          i_vbap-mtart = i_mara-mtart.
          i_vbap-matkl = i_mara-matkl.
        ENDIF.
        MODIFY i_vbap.
      ENDLOOP.
    *Material Group Description
    *end of change amit
    IF i_report[] IS NOT INITIAL.
       REFRESH it_report.
       it_report[] = i_report[].
       DELETE ADJACENT DUPLICATES FROM it_report COMPARING vgbel.
       SORT it_report BY vgbel.
       SELECT vbeln
              ean11
              volum
              lgmng
              FROM lips
              INTO  TABLE i_lips
              FOR ALL ENTRIES IN it_report
              WHERE vbeln = it_report-vgbel.
    ENDIF.
      IF i_report[] IS NOT INITIAL.
        REFRESH it_report.
        it_report[] = i_report[].
        SORT it_report BY vgbel.
        DELETE ADJACENT DUPLICATES FROM it_report COMPARING vgbel.
          IF i_lips[] IS NOT INITIAL.
        SELECT vbeln
               wadat_ist
               traid
               bolnr
               FROM likp
               INTO TABLE i_likp
               FOR ALL ENTRIES IN it_report
               WHERE vbeln = it_report-vgbel.
      ENDIF.
       SORT i_lips BY vbeln ASCENDING.
       LOOP AT i_lips.
         REFRESH t_line.
         CLEAR   w_tdname.
         w_tdname = i_lips-vbeln.
         CALL FUNCTION 'READ_TEXT'
           EXPORTING
             client                  = sy-mandt
             id                      = 'ZVOW'
             language                = sy-langu
             name                    = w_tdname
             object                  = 'VBBK'
           TABLES
             lines                   = t_line
           EXCEPTIONS
             id                      = 1
             language                = 2
             name                    = 3
             not_found               = 4
             object                  = 5
             reference_check         = 6
             wrong_access_to_archive = 7
             OTHERS                  = 8.
         IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
         ENDIF.
         LOOP AT t_line.
           CONCATENATE i_lips-waybill t_line-tdline INTO i_lips-waybill.
         ENDLOOP.
         IF sy-subrc EQ 0.
           MODIFY i_lips.
         ENDIF.
       ENDLOOP.
    *IF i_report[] IS NOT INITIAL.
       REFRESH it_report.
       it_report[] = i_report[].
       SORT it_report BY aubel.
       DELETE ADJACENT DUPLICATES FROM it_report COMPARING aubel.
      SELECT a~vbeln
             b~name1
             b~kunnr
             b~regio
             b~land1
             a~vkgrp
             b~niels
             b~kukla
             b~brsch
             a~vkbur
             FROM vbak AS a
             INNER JOIN kna1 AS b
             ON akunnr = bkunnr
             INTO TABLE i_kna1
             FOR ALL ENTRIES IN i_report
             WHERE vbeln = i_report-aubel.
            AND land1 = 'IN'.
    *endif.
      DATA : it_kna1 LIKE LINE OF i_kna1 OCCURS 0.
      IF NOT i_kna1[] IS INITIAL.
        REFRESH it_kna1.
        it_kna1[] = i_kna1[].
        SORT it_kna1 BY regio.
        DELETE ADJACENT DUPLICATES FROM it_kna1 COMPARING regio.
        SELECT spras
          land1
          bland
          bezei FROM t005u
                 INTO TABLE i_t005u
                 FOR ALL ENTRIES IN it_kna1
                 WHERE bland = it_kna1-regio
                 AND spras = 'EN' AND land1 = 'IN'.
        REFRESH it_kna1.
        it_kna1[] = i_kna1[].
        SORT it_kna1 BY niels.
        DELETE ADJACENT DUPLICATES FROM it_kna1 COMPARING niels.
        SELECT spras niels bezei FROM tnlst
               INTO TABLE i_tnlst
               FOR ALL ENTRIES IN it_kna1
               WHERE niels = it_kna1-niels
               AND spras = sy-langu.
        REFRESH it_kna1.
        it_kna1[] = i_kna1[].
        SORT it_kna1 BY kukla.
        DELETE ADJACENT DUPLICATES FROM it_kna1 COMPARING kukla.
        SELECT spras kukla vtext FROM  tkukt
              INTO TABLE itab_tkukt
              FOR ALL ENTRIES IN it_kna1
              WHERE kukla = it_kna1-kukla
              AND spras = sy-langu.
        REFRESH it_kna1.
        it_kna1[] = i_kna1[].
        SORT it_kna1 BY brsch.
        DELETE ADJACENT DUPLICATES FROM it_kna1 COMPARING brsch.
        SELECT spras brsch brtxt FROM t016t
           INTO TABLE itab_t016t
             FOR ALL ENTRIES IN it_kna1
             WHERE brsch = it_kna1-brsch
             AND spras = sy-langu.
        REFRESH it_kna1.
        it_kna1[] = i_kna1[].
        SORT it_kna1 BY vkgrp.
        DELETE ADJACENT DUPLICATES FROM it_kna1 COMPARING vkgrp.
        SELECT spras vkgrp bezei FROM tvgrt
            INTO TABLE itab_tvgrt
            FOR ALL ENTRIES IN it_kna1
            WHERE vkgrp = it_kna1-vkgrp
            AND spras = sy-langu.
      ENDIF.
      SORT i_kna1 BY vbeln ASCENDING.
      IF i_report[] IS NOT INITIAL.
        REFRESH it_report.
        it_report[] = i_report[].
        SORT it_report BY aubel.
        DELETE ADJACENT DUPLICATES FROM it_report COMPARING aubel.
        SELECT a~vbeln
               a~kunnr
               b~city1
               FROM vbpa AS a
               INNER JOIN adrc AS b
               ON aadrnr = baddrnumber
               INTO TABLE i_adrc
               FOR ALL ENTRIES IN it_report
               WHERE vbeln = it_report-aubel
               AND parvw = 'WE'.
        SORT i_adrc BY vbeln ASCENDING.
      ENDIF.
      DATA : it_adrc LIKE LINE OF i_adrc OCCURS 0.
      IF i_adrc[] IS NOT INITIAL.
        REFRESH it_adrc.
        it_adrc[] = i_adrc[].
        SORT it_adrc BY kunnr.
        DELETE ADJACENT DUPLICATES FROM it_adrc COMPARING kunnr.
        SELECT kunnr name1
               FROM kna1
               INTO TABLE i_kna2
               FOR ALL ENTRIES IN it_adrc
              WHERE kunnr = it_adrc-kunnr.
      ENDIF.
    SELECT a~lifnr
            a~vbeln
            b~name1
           FROM vbpa AS a
            INNER JOIN lfa1 AS b
            ON alifnr = blifnr
            INTO TABLE i_lfa1
            FOR ALL ENTRIES IN i_report
            WHERE vbeln = i_report-vgbel
            AND parvw = 'SP'.
      SORT i_lfa1 BY vbeln ASCENDING.
    change amit by my self may be removed
      IF i_report[] IS NOT INITIAL.
        REFRESH it_report.
        it_report[] = i_report[].
        SORT it_report BY vbeln.
        DELETE ADJACENT DUPLICATES FROM it_report COMPARING vbeln.
        SELECT exnum
               exdat
               rdoc
              status
               FROM j_1iexchdr
               INTO TABLE itab_exnum
               FOR ALL ENTRIES IN it_report
               WHERE rdoc = it_report-vbeln AND status =  'P' OR status = 'C' .
      ENDIF.
    change amit by my self may be removed
    change amit by my self may be removed
      IF i_report[] IS NOT INITIAL.
        REFRESH it_report.
        it_report[] = i_report[].
        SORT it_report BY aubel.
        DELETE ADJACENT DUPLICATES FROM it_report COMPARING aubel.
        SELECT kwmeng
               vbeln
               lgort
               FROM vbap
               INTO TABLE itab_qty
               FOR ALL ENTRIES IN it_report
               WHERE vbeln = it_report-aubel.
      ENDIF.
    change amit by my self may be removed
      SORT itab_qty BY vbeln.
      CHECK NOT i_vbrk[] IS INITIAL.
      SORT i_report BY vbeln.
      DATA : t_vbrk LIKE LINE OF i_vbrk OCCURS 0.
      REFRESH t_vbrk.
      t_vbrk[] = i_vbrk[].
      SORT t_vbrk BY knumv.
      DELETE ADJACENT DUPLICATES FROM t_vbrk COMPARING knumv.
      SELECT ksteu
             knumv
             kschl
             kbetr
             kwert
             kposn
             kmein
             FROM konv
             INTO  TABLE it_rate
             FOR ALL ENTRIES IN t_vbrk
             WHERE knumv = t_vbrk-knumv
             AND kschl IN ('ZR00',          "Basic Price
                           'ZR01',          "Basic Price
                           'ZR02',          "Basic Price
                           'ZR03',          "Basic Price
                           'ZR04',          "Basic Price
                           'ZR05',          "Basic Price
                           'JEXP',          "Excise
                           'JECS',          "ED
                           'ZG03',          "Freight
                           'ZG04',          "Freight
                           'JCST',          "CST
                           'JLST',          "LST
                           'ZDEV',         "Dev Tax
                           'Z001',         "Discount
                           'Z002',         "Discount
                           'Z003',         "Discount
                           'Z004',         "Discount
                           'Z005',         "Discount
                           'Z006',         "Discount
                           'Z007',         "Discount

  • Short Dump  while scrolling on the ALV (GETWA_NOT_ASSIGNED)

    Hi All,
    I have an interactive ALV list, After the user double click on the list line item,
    the list control goes to top of the list.
    When i want to scroll  for further interaction, I am getting  a Short dump  GETWA_NOT_ASSIGNED.
    Please advice
    Solomon

    Hi
    Please find the ALV code
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program       = hf_repid
          i_callback_user_command  = 'USER_COMMAND'
          i_callback_pf_status_set = 'SET_PF_STATUS'
          it_fieldcat              = int_fieldcat[]
          it_sort                  = int_sort[]
          is_layout                = fs_layout
          i_save                   = 'A'
          is_variant               = alv_variant
          it_events                = int_events[]
        TABLES
          t_outtab                 = i_bsid
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
    ENDFORM.                               " write_alv_report
    FORM user_command *
    FORM user_command USING ucomm LIKE sy-ucomm
    selfield TYPE slis_selfield.
      IF selfield-tabindex GE 1.
        check sy-ucomm <> 'POST'.
        READ TABLE i_bsid into i_bsid_alv INDEX selfield-tabindex.
        CASE I_BSID-CHECK.
          WHEN SPACE.
            I_BSID-CHECK = 'X'.
          WHEN OTHERS.
            I_BSID-CHECK = ''.
        ENDCASE.
        MODIFY I_BSID TRANSPORTING CHECK  WHERE matchkey = i_bsid_alv-matchkey.
      ENDIF.
      selfield-refresh = 'X'.
    *CLEAR selfield.
    ENDFORM.                    "user_command
    FORM SET_PF_STATUS *
    FORM set_pf_status USING extab TYPE slis_t_extab.
      data : lv_answer(1) TYPE c.
      SET PF-STATUS 'S200'.
      IF SY-UCOMM = 'POST'.
        I_BSID_ALV1[] =  I_BSID[].
        DELETE I_BSID_ALV1 WHERE CHECK  = SPACE.
        CLEAR I_BSID[].
        I_BSID[] = I_BSID_ALV1[].
      ENDIF.
    2. when I double click on the ALV list line item, after the line is selected the control goes to the top of the list.
    I have already setup the ALV menu bar.

  • Short dump while executing few queries , which has got created on Infoset.

    Hi,
    We went to BI7.0 upgrade from BW3.x now.
    We are getting short dump short dump while executing few queries and work book, which has got created on Infoset.
    When i was executing work book where i was geting popup message saying that "Erro ZSD_XST_F00121 is invalid".When i click that message it went to dump.
    I was getting this error while executing query on infoset.
    We are currently SP Stack 13(Patch level 15).
    I found some note 1067918 as per the shortdum,where it is saying that you need to apply SP Stack14(patch level16).
    Please some one who had earlier this kind of issue.
    I appreciate your answer.

    Dear Krish,
    Yes, It is the patch problem.
    We too faced the same issue on Infosets.
    Apply SP 15.
    Regards,
    Ram.

  • Error (Short Dump) while posting any Material document

    Hello All Experts,
    I am facing an error (short dump) while doing all material document related transactions (for example MIGO,MB1A etc) . I am getting the below message:-
    Short text of error message:
    Document number 1000 5000000000 2009 was already assigned
    Earlier, I had posted some material documents using the same transactions.
    Kindly help
    Regards,
    Atul

    Hi Atul,
    Please use T-code OMBT to check the number range status of material document. You can click on the 'Intervals' button to check the 'Current number', the last material document number the system was created so far. Try to change the 'Current number' to a number greater than 5000000001, save the change, and post material document again.
    Hope it can solve your issue.
    Cheers

  • Double-click event on a CL_SIMPLE_TREE_MODEL

    Hi all,
    I created an object of CL_SIMPLE_TREE_MODEL. it's working.
    But i am not able to double-click on it while following the same procedure on alv-grid it's working.
    is there any parameter like ' ITEM_SELECTION  '  in other tree class constructors, or any other way.
    Help me folks

    MODULE USER_COMMAND_0100 INPUT.
      CASE OK_CODE.
        WHEN  'BACK'.
          LEAVE PROGRAM.
        WHEN 'GET'.
          SELECT * FROM spfli into TABLE it_spfli
            WHERE carrid = spfli-carrid .
          IF sy-subrc = 0.
            CALL METHOD REF_GRID->REFRESH_TABLE_DISPLAY
           EXPORTING
             IS_STABLE      =
             I_SOFT_REFRESH =
            EXCEPTIONS
              FINISHED       = 1
              others         = 2 .
          IF SY-SUBRC = 0.
            MESSAGE 'LIST RETREIVED SUCCESSFULY' TYPE 'S'.
            ENDIF.
          ELSE.
            MESSAGE 'NO ENTRY FOR THIS SELECTION' type 'I'.
          ENDIF.
    WHEN 'OK'.
       LEAVE TO SCREEN 0.
      ENDCASE.
      CALL METHOD CL_GUI_CFW=>DISPATCH.    " Dispatch (static method) forwards a GUI Event to Proxy Object.
      IF ref_grid is not INITIAL .
        set HANDLER ref_dub_click->handle_double_click FOR ref_grid.
        set HANDLER ref_dub_click->handle_hotspot_click FOR ref_grid.
      ENDIF.
    IF ref_tree is NOT INITIAL.
    ENDIF.
    CALL METHOD cl_gui_cfw=>flush.
    ENDMODULE.  
    CLASS lcl_event_handler DEFINITION.             " Local class for event-handling
      PUBLIC SECTION.
        METHODS:
          handle_double_click for event double_click of cl_gui_alv_grid
            IMPORTING e_row e_column.
        METHODS:
          handle_hotspot_click for EVENT hotspot_click of cl_gui_alv_grid
            IMPORTING e_row_id e_column_id.
        METHODS:
          handle_double_click_tree FOR EVENT NODE_DOUBLE_CLICK of cl_simple_tree_model        "Method to handle double-click *event on Tree
        IMPORTING node_key.
    endclass.                    "lcl_event_handler DEFINITION
          CLASS lcl_event_handler IMPLEMENTATION
    CLASS lcl_event_handler IMPLEMENTATION.
      METHOD handle_double_click.
        READ TABLE it_spfli INTO spfli index e_row-index.
        IF sy-subrc = 0.
          CALL SCREEN 0101 STARTING AT 10 10 ENDING AT 50 30.
        ELSE.
          MESSAGE 'DOUBLE-CLICK occurred but no data found' TYPE 'W'.
        ENDIF.
      ENDMETHOD.                    "handle_double_click
      METHOD handle_hotspot_click.
        READ TABLE it_spfli INTO spfli INDEX e_row_id-index.
        IF sy-subrc = 0.
          CALL SCREEN 0101 STARTING AT 20 20 ENDING AT 60 40.
        ELSE.
          MESSAGE 'Hot-spot clicked but no data found' TYPE 'w'.
        ENDIF.
      ENDMETHOD.                    "handle_hotspot_click
      METHOD handle_double_click_tree.
        SELECT * from sbook into TABLE itab_sbook.
        LOOP AT itab_sbook into wa_sbook.
          Write  node_key.
               IF node_key = wa_sbook.
                  append wa_sbook to itab1_sbook.
               ENDIF.
        ENDLOOP.
      ENDMETHOD.                    "handle_double_click_tree
    ENDCLASS.                    "lcl_event_handler IMPLEMENTATION
    This is the code please help me now if you can
    Edited by: Gopal Kansal on Sep 25, 2009 10:34 AM
    Edited by: Gopal Kansal on Sep 25, 2009 10:35 AM
    Edited by: Gopal Kansal on Sep 25, 2009 10:37 AM

  • How to differentiate between Single click and double click event in List

    I am facing a problem while using list in awt.
    I want to execute some code on single click and other on double click but when double click event occurs it also executes the single click code.
    because i have added both actionlistener and itemlistener on the list.
    How to sort out this problem.
    please help me out.
    Thanks buddies.

    Hello Meeraj_Kanaparthi
    Thanks for helping i m giving u the code i have tried.
    Plz help me on this...
    Thanks........
    import java.awt.*;
    import java.awt.event.*;
    class CheckList extends Frame implements MouseListener
         List l1;
         int x;
         int y;
         CheckList()
         setSize(500,500);
         setLayout(new FlowLayout());
         l1=new List(10);
         add(l1);
         l1.add("Item 1");l1.add("Item 2");l1.add("Item 3");l1.add("Item 4");l1.add("Item 5");
         x=6;
         y=0;
         l1.addMouseListener(this);
    //     l1.addItemListener(this);
         show();
         public void execute(int y)
         if(y==1)
         {System.out.println("3");
              l1.remove(l1.getSelectedIndex());
         if(y==2)
         {System.out.println("4");
              l1.add("item " + x);
              x++;
         public void mousePressed(MouseEvent e)
              System.out.println("Pressed");
         public void mouseReleased(MouseEvent e)
              System.out.println("Released");
         public void mouseEntered(MouseEvent e) {}
         public void mouseExited(MouseEvent e) {}
         public void mouseClicked(MouseEvent e)
         if (e.getClickCount()==1)
              System.out.println("1");
              y=1;
         if (e.getClickCount() == 2)
         {System.out.println("2");
              y=2;
              execute(y);
         public void actionPerformed(ActionEvent ae)
         public void itemStateChanged(ItemEvent it)
         public static void main(String ag[])
         new CheckList();
    }

  • SRM Create Confirmation - Short Dump while adding Approver

    Dear Experts.
      Currently I am facing following issue.
    Issue:
      In SRM “Create Confirmation” Screen, when user click on check button and after that if user tries to add approver in approval tab then it is going to short dump. Please find the short dump info:
    Category ABAP Programming Error
    Runtime Errors UNCAUGHT_EXCEPTION
    Except. CX_OS_OBJECT_NOT_FOUND
    ABAP Program /SAPSRM/CL_WF_PROCESS_MANAGER=CP
    Application Component SRM-EBP-WFL
      I had analyzed this issue and following points are my findings.
    We have written code in BBP_DOC_CHECK_BADI to check the approver is added or not in approval tab. For this purpose we are using METHOD lo_conf_adv->/sapsrm/if_pdo_do_apv_ext~get_process_info (Here lo_conf_adv is object of interface /sapsrm/if_pdo_bo_conf_adv) and the instance of lo_conf_adv is getting from METHOD /sapsrm/cl_pdo_fact_conf_adv=>get_buffered_instance By pasing Doc GUID.
    As per my analysis, the above code only causing the short dump while adding the approver in aproval tab. More importantly the CHECK BADI (BBP_DOC_CHECK_BADI) is not triggered while adding the approver. 
    If I comment this code (which is mentioned in point 1), then the application is not giving any short dump and adding approver successfully.   
    I tried to find SAP notes but there are no SAP notes related to this issue. Also, I tried to find alternate METHOD to replace lo_conf_adv->/sapsrm/if_pdo_do_apv_ext~get_process_info but I have not got relevant method.     Please let me know if there is any solution for this issue.
    Thanks & Regards,
    Sasidhar V

    Hi Ritesh,
      Thanks for the fast response.
      We are using Process Controlled Workflow. In Doc Check BADI, we are checking the respective approver is added or not in approval tab in "Create Confirmation" Screen. While creating confirmation, when user click on "CHECK" button and If respective approver is not added then throwing error message.
      We are using Method "GET_PROCESS_INFO" to get approval information only. when this method is triggered in Check BADI then it is doing respective validations and displaying messages. After that when we try to add approver then the system trying to read entry from table "/SAPSRM/D_WF_003" by passing OID to LEVEL_GUID. But there is no entry in this table and that's why it is giving short dump.
      Can you please let me know why it is reading entry in that table and why entry is not exist.
      FYI, If I don't use method "GET_PROCESS_INFO" in check BADI then respective code where short dump happening is not triggering (System is not trying to read entry from /SAPSRM/D_WF_003 table) and so it is not giving short dump.
    Thanks & Regards,
    Sasidhar V.

  • SHORT DUMP WHILE EXECUTING DTP.

    Hi Gurus,
    I have got a short dump while executing DTP the Error is as Follows.
    Runtime Error: MESSAGE_TYPE_X.
    Reasons for Error: 1.The installation of the SAP GUI on the present server is faulty or obselete
    2.There is a error in the application program
    And i have sent the sreen shot of the Short Dump to BASIS TEAM and they have replied me that they have to install some patches and it will take some time.
    But i have no much time and i have to someway or the other execute the DTP and load the data.
    Is there any shortcuts for this i mean to say without the involvement of Basis team that i can do in th BI System
    Regards
    Amar.

    Hi Amar,
    If the problem is with with System itself, how can we all have a short cut in that case. You may give it another trial, but you have to wait for the patches to be applied. Ask your basis team to get it done ASAP.
    Thanks..
    Shambhu

Maybe you are looking for

  • BP Download from R/3 with wrong Tax Codes

    Dear Experts, actually I face a problem, that during the Business Partner download from R/3 the BDoc runs on an error,because of the Tax_number_check. In oure R/3 they deactivated the Tax_number_check for BPs. Now my question is,where can I change th

  • From Oracle 8.1.6 to 8.1.7, how to do with designer6.0?

    I am using 8.1.6 Enterprise Edition on Windows2000. Now I am upgrating it to 8.1.7. I simply installed the 8.1.7 on my machine, it detected the exsited 8.1.6 and deinstalled it automaticaly before installing 8.1.7. So, I need to do nothing? The probl

  • Creating reports using java

    hello java fanatics! :D im a vb programmer and created an ActiveX Printer Control. this ActiveX is downloaded on the client browsers (IE) and called by my vbscript for me to access its functions. but my problem is that... it only works on IE! one of

  • Create a new table using repeating rows

    Hi all, My team members are entering data into the below shortened table. I want to import this table to my model (a different excel file), but I need to manipulate the data in order to use it. The team members table (MaterialTypeTbl) looks like: For

  • Categorizing issues when moving Elements 10 from one PC running XP to Windows 7

    I purchased a new desktop that is Windows 7 based and had to reinstall Elements from XP. I saved all my 13,000 photos to an external drive and then downloaded them onto my new desktop with Elements 10. I noticed that the photos were NOT categorized.