Run Time error in ALV report

Dear friends
When I try to run the following code, I keep getting a message that says
"The field "GT_FIELD" specified here has a different field type.".
I have run this in many occassions and it has worked before. I would appreciate if some one can help me with this. Following is the code
CODE FOLLOWS----
REPORT ZSAPMZRFT_ZWMSCHED_REPORT MESSAGE-ID zrammessage LINE-SIZE 168
                              LINE-COUNT 20(6) NO STANDARD PAGE HEADING.
TABLES: zwmsched,
        zwmwave.
Data : v_repid LIKE sy-repid,
BEGIN OF s_zwmsched occurs 1,
        mandt LIKE zwmsched-mandt,
        werks LIKE zwmsched-werks,
        lgnum LIKE zwmsched-lgnum,
        ship_date LIKE zwmsched-ship_date,
        carrier LIKE zwmsched-carrier,
        vbeln LIKE zwmsched-vbeln,
        kunnr LIKE zwmsched-kunnr,
        custname LIKE zwmsched-custname,
        city LIKE zwmsched-city,
        state LIKE zwmsched-state,
        zip LIKE zwmsched-zip,
        qty LIKE zwmsched-qty,
        uom LIKE zwmsched-uom,
        wt LIKE zwmsched-wt,
        wt_uom LIKE zwmsched-wt_uom,
        volumn LIKE zwmsched-volumn,
        vol_uom LIKE zwmsched-vol_uom,
        inco LIKE zwmsched-inco,
        equipment LIKE zwmsched-equipment,
        door LIKE zwmsched-door,
        wavenum LIKE zwmsched-wavenum,
        load_seq LIKE zwmsched-load_seq,
        notes LIKE zwmsched-notes,
        pick_stat LIKE zwmsched-pick_stat,
        load_stat LIKE zwmsched-load_stat,
        bol_stat LIKE zwmsched-bol_stat,
        mbol LIKE zwmsched-mbol,
        seal LIKE zwmsched-seal,
        gm_status LIKE zwmsched-gm_status,
        createdate LIKE zwmsched-createdate,
        created_by LIKE zwmsched-created_by,
        changedate LIKE zwmsched-changedate,
        changed_by LIKE zwmsched-changed_by,
       END of s_zwmsched,
Begin of temp_zwmsched occurs 1,
    so_lgnum LIKE zwmsched-lgnum,
    so_vbeln LIKE zwmsched-vbeln,
    pa_date  LIKE zwmsched-ship_date,
    pa_wvno  LIKE zwmsched-wavenum,
    pa_door  LIKE zwmsched-door,
    carrier  LIKE zwmsched-carrier,
    pickstat LIKE zwmsched-pick_stat,
    mbol     LIKE zwmsched-mbol,
    loadstat LIKE zwmsched-load_stat,
    bol_stat LIKE zwmsched-bol_stat,
    pgi_stat LIKE zwmsched-gm_status,
end of temp_zwmsched.
TYPE-POOLS : slis.
DATA :
       gt_field TYPE slis_t_fieldcat_alv,
       wa_field TYPE slis_fieldcat_alv,
       gt_layout TYPE slis_layout_alv.
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS: so_lgnum FOR zwmsched-lgnum,
                so_vbeln FOR zwmsched-vbeln,
                pa_date  FOR zwmsched-ship_date,
                pa_wvno  FOR zwmsched-wavenum,
                pa_door  FOR zwmsched-door,
                carrier  FOR zwmsched-carrier,
                pickstat FOR zwmsched-pick_stat,
                mbol     FOR zwmsched-mbol.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK block1.
SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE text-002.
SELECTION-SCREEN SKIP.
PARAMETERS:     loadstat LIKE zwmsched-load_stat,
                bol_stat LIKE zwmsched-bol_stat,
                pgi_stat LIKE zwmsched-gm_status.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK block2.
select * from zwmsched into corresponding fields of table temp_zwmsched
where
lgnum in so_lgnum AND
vbeln in so_vbeln AND
ship_date in pa_date AND
wavenum in pa_wvno AND
door in pa_door AND
carrier in carrier AND
pick_stat in pickstat AND
mbol in mbol AND
load_stat = loadstat AND
bol_stat = bol_stat AND
gm_status = pgi_stat.
wa_field-col_pos = 1.
wa_field-tabname = 'ZWMSCHED'.
wa_field-fieldname = 'LGNUM'.
wa_field-seltext_l = 'WARE HOUSE'.
wa_field-outputlen = 11.
APPEND wa_field TO gt_field.
*wa_field-col_pos = 2.
*wa_field-fieldname = 'VBELN'.
*wa_field-seltext_l = 'DELIVERY'.
*wa_field-outputlen = 10.
*APPEND wa_field TO gt_field.
*wa_field-col_pos = 3.
*wa_field-fieldname = 'SHIP_DATE'.
*wa_field-seltext_l = 'SHIP DATE'.
*wa_field-outputlen = 11.
*APPEND wa_field TO gt_field.
*wa_field-col_pos = 4.
*wa_field-fieldname = 'WAVENUM'.
*wa_field-seltext_l = 'WAVENUM'.
*wa_field-outputlen = 11.
*APPEND wa_field TO gt_field.
*wa_field-col_pos = 5.
*wa_field-fieldname = 'DOOR'.
*wa_field-seltext_l = 'DOOR'.
*wa_field-outputlen = 5.
*APPEND wa_field TO gt_field.
*wa_field-col_pos = 6.
*wa_field-fieldname = 'CARRIER'.
*wa_field-seltext_l = 'CARRIER'.
*wa_field-outputlen = 8.
*APPEND wa_field TO gt_field.
*wa_field-col_pos = 7.
*wa_field-fieldname = 'PICK_STAT'.
*wa_field-seltext_l = 'PICK STAT'.
*wa_field-outputlen = 10.
*APPEND wa_field TO gt_field.
*wa_field-col_pos = 8.
*wa_field-fieldname = 'MBOL'.
*wa_field-seltext_l = 'MBOL'.
*wa_field-outputlen = 5.
*APPEND wa_field TO gt_field.
*wa_field-col_pos = 9.
*wa_field-fieldname = 'LOAD_STAT'.
*wa_field-seltext_l = 'LOAD STAT'.
*wa_field-outputlen = 10.
*APPEND wa_field TO gt_field.
*wa_field-col_pos = 10.
*wa_field-fieldname = 'BOL_STAT'.
*wa_field-seltext_l = 'BOL STAT'.
*wa_field-outputlen = 11.
*APPEND wa_field TO gt_field.
*wa_field-col_pos = 11.
*wa_field-fieldname = 'GM_STATUS'.
*wa_field-seltext_l = 'PFI STAT'.
*wa_field-outputlen = 9.
*APPEND wa_field TO gt_field.
gt_layout-zebra = 'X'.
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
  I_INTERFACE_CHECK                 = ' '
  I_BYPASSING_BUFFER                =
  I_BUFFER_ACTIVE                   = ' '
   I_CALLBACK_PROGRAM                = v_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                         = gt_field
  IT_FIELDCAT                       = gt_layout
  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
  IT_ALV_GRAPHICS                   =
  IT_ADD_FIELDCAT                   =
  IT_HYPERLINK                      =
  I_HTML_HEIGHT_TOP                 =
  I_HTML_HEIGHT_END                 =
  IT_EXCEPT_QINFO                   =
IMPORTING
  E_EXIT_CAUSED_BY_CALLER           =
  ES_EXIT_CAUSED_BY_USER            =
  TABLES
    T_OUTTAB                          = temp_zwmsched
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.

You problem is right here.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = v_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 =
<b>IS_LAYOUT = gt_field
IT_FIELDCAT = gt_layout</b>
IT_EXCLUDING =
Should be....
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = v_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 =
<b>IS_LAYOUT = gt_layout
    IT_FIELDCAT = gt_field</b>
IT_EXCLUDING =
Regarsd,
Rich Heilman

Similar Messages

  • Run-time error in alv

    Hi guys,
    I am executing an alv grid report.i m getting a run time error and i m gettig a dump.In the below i pasted the error.any suggestions where i m going wrong in the code.
    What happened?                                                      
        The current application program detected a situation which really
        should not occur. Therefore, a termination with a short dump was
        triggered on purpose by the key word MESSAGE (type X).          
    Information on where terminated?                                              
    Termination occurred in the ABAP program "SAPLSLVC" - in "FILL_DATA_TABLE"
        The main program was "ZRPP1353 ".                                                                               
    In the source code you have the termination point in line 2735           
        of the (Include) program "LSLVCF36".    
    Source code where the error occured?
    Column per Fieldcat Entry                                          
            ls_lvc_data-value = space.                                   
            clear ls_lvc_data-style.                                     
            loop at it_fcat_local assigning <ls_fcat>                    
                    where tech ne 'X' and no_out ne 'X'.                 
              if l_invisible eq 'X'.                                     
                clear l_invisible.                                       
                if <ls_fcat>-do_sum is initial.                          
                  continue.                                              
                else.                                                    
                  clear ls_lvc_data-col_pos.                             
                endif.                                                   
              endif.                                                                               
    add 1 to ls_lvc_data-col_pos.                                                                               
    assign component <ls_fcat>-fieldname                       
                               of structure <ls_data> to <l_field_value>.
              if sy-subrc ne 0.                                          
                message x000(0k).                                        
              endif.

    Hi Dinesh,
    This is because of some problem with the field catalog you have defined. Please give the field catalog so that we can identify the problem easily.

  • Run time error in ALV editable

    Hi Gurus
    I am getting a run time error when I edit a field in the ALV report and press enter. The run time error is : GETWA_NOT_ASSIGNED. It says I tried to access an unassigned field symbol. I have not used any field symbols in my field catalog or anywhere. It also says that the location of the termination was : cl_gui_alv_grid .
    I have to get this report working today at anycost. Any help will be very useful

    Yes , I have internal tables , a whole lot of them ...here is the code.
    REPORT ZSCREENREPORT NO STANDARD PAGE HEADING MESSAGE-ID YE.
    TABLES : VBUK ,
             VEPVG ,
             LIKP  ,
             VTTP  ,
             LIPS  ,
             LQUA  ,
             MAKT.
    DATA :  PWERKS TYPE LIPS-WERKS , PLGNUM TYPE LIPS-LGNUM.
    DATA  PTKNUM TYPE VTTP-TKNUM.
    DATA  PVBELN TYPE LIPS-VBELN.
    DATA : t_toolbar   type ui_functions with header line.
    DATA  OKCODE LIKE SY-UCOMM.
    DATA  S_OKCODE LIKE SY-UCOMM.
    DATA  B_VIEWREPORT.
    DATA  B_CLEARALL.
    DATA  B_PRINT.
    DATA  pr_data_changed TYPE REF TO cl_alv_changed_data_protocol.
    *DATA: g_event_receiver TYPE REF TO lcl_event_receiver.
    *TYPES: PR_DATA_CHANGED TYPE xxxxxx.
    *TYPES: LCL_EVENT_RECEIVER TYPE .
    class lcl_event_receiver definition deferred.
    selection-screen begin of block b2 with frame title text-001.
    selection-screen begin of block b1 with frame.
    BLOCK B1 FOR FIRST SET OF SELECT OPTIONS
    ALL ENTRIES ARE NECESSARY IN THIS BLOCK
    SELECT-OPTIONS : S_ORG      FOR  LIKP-VKORG MODIF ID B1,  "Sales Org
                     S_DISCHA   FOR  LIKP-VTWIV MODIF ID B1,  "Dis Cha
                     S_DIV      FOR  LIKP-SPAIV MODIF ID B1,  "Division
                     S_SPOINT   FOR  LIKP-VSTEL MODIF ID B1.  "Shipping
    "point
    selection-screen end of block b1.
    selection-screen begin of block b3 with frame.
    *BLOCK B3 FOR PICKING DATE . THIS FIELD IS OBLIGATORY
    PARAMETERS :     P_DEL    LIKE  VBUK-KOSTK DEFAULT 'A'.
    SELECT-OPTIONS : S_PICDAT     FOR  LIKP-KODAT OBLIGATORY ,
                     S_PGDAT FOR  LIKP-WADAT .
    selection-screen end of block b3.
    selection-screen begin of block b4 with frame.
    BLOCK B4 FOR SHIPMENT NUMBER / DELIVERY NUMBER. ONLY ONE CAN BE
    *ENTERED
    SELECT-OPTIONS:  S_SHNUM  FOR  VTTP-TKNUM MODIF ID B2 ,     " Shipment
                                                                "Number
                     S_DENUM  FOR  LIKP-VBELN MODIF ID B2 .     " Delivery
    " Number
    selection-screen end of block b4.
    PARAMETERS : C_BBINS  AS CHECKBOX .
    selection-screen end of block b2.
    RANGES :         R_ORG      FOR  VEPVG-VKORG ,  "Sales Org
                     R_DISCHA   FOR  VEPVG-VTWEG ,  "Dis Cha
                     R_DIV      FOR  VEPVG-SPART ,  "Division
                     R_SPOINT   FOR  VEPVG-VSTEL ,  "Shipping point
                     R_PICDAT   FOR  LIKP-KODAT  , " Planned Pick Date
                     R_PGDAT   FOR  LIKP-WADAT  ,      " Planned goods issue
                     R_SHNUM  FOR  VTTK-TKNUM  ,     " Shipment Number
                     R_DENUM  FOR  LIKP-VBELN  ,     " Delivery Number
                     R_VBELN FOR   VBUK-VBELN  ,
                     R_MATNR FOR LIPS-MATNR .
    DATA : BEGIN OF ITAB1 OCCURS 0.
    DATA:  MATL  LIKE LIPS-MATNR,
           QUANT LIKE LIPS-LFIMG,
           UOM   LIKE LIPS-VRKME,
           KUNR  LIKE LIKP-KUNNR ,
           WERKS LIKE LIKP-WERKS,
           LGNUM LIKE LIPS-LGNUM,
           LGTYP LIKE LIPS-LGTYP ,
           VBELN LIKE LIPS-VBELN ,
           TKNUM LIKE VTTP-TKNUM.
    DATA : END OF ITAB1.
    DATA : BEGIN OF ITAB2 OCCURS 0.
    DATA :
           MATL  LIKE LIPS-MATNR,
           QUANT TYPE I,
           UOM   LIKE LIPS-VRKME,
           KUNR  LIKE LIKP-KUNNR.
    DATA : END OF ITAB2.
    DATA : BEGIN OF ITAB3 OCCURS 0.
    DATA : MATL  LIKE LIPS-MATNR,
           QUANT LIKE LIPS-LFIMG,
           UOM   LIKE LIPS-VRKME,
           KUNR  LIKE LIKP-KUNNR.
    DATA : END OF ITAB3.
    DATA : BEGIN OF ITAB_VBELN OCCURS 0.
    DATA : IBLN LIKE VBUK-VBELN.
    DATA : END OF ITAB_VBELN.
    DATA : BEGIN OF DEMANDTAB OCCURS 0.
    DATA : D_MATL LIKE LIPS-MATNR,
           D_MQUANT LIKE LIPS-LFIMG,
           D_MUOM LIKE LIPS-VRKME,
           D_QUANT LIKE LIPS-LFIMG,
           D_UOM LIKE LIPS-VRKME,
           D_KUNR LIKE LIKP-KUNNR.
    DATA : END OF DEMANDTAB.
    DATA : VMATNR LIKE LIPS-MATNR,
           VKUNR  LIKE LIKP-KUNNR,
           VQUANT LIKE LIPS-VRKME.
    DATA : BEGIN OF INVTAB OCCURS 0.
    DATA : IMATL   LIKE LIPS-MATNR,
           IBINLOC LIKE LQUA-LGPLA,
           IBATCH  LIKE LQUA-CHARG,
           IWARSTK LIKE LQUA-VERME,
           IUOM LIKE LQUA-MEINS.
    DATA : END OF INVTAB.
    DATA : BEGIN OF ITABX OCCURS 0.
    DATA : XMATL LIKE LIPS-MATNR,
           XMATDESC LIKE MAKT-MAKTX,
           XQUANT TYPE I,
           XUOM LIKE LIPS-VRKME,
           XBALQ TYPE I.
          EXPAND.
    DATA : END OF ITABX.
    DATA : BEGIN OF ITABMASTER OCCURS 0 .
    DATA : MMATL LIKE LIPS-MATNR,
           MKUNR LIKE LIKP-KUNNR,
           M_KQUANT  TYPE I,
           M_KUOM LIKE LIPS-VRKME,
           MBINLOC LIKE LQUA-LGPLA,
           MBATCH LIKE LQUA-CHARG,
           MWATSTK LIKE LQUA-VERME,
           M_IUOM LIKE LQUA-MEINS.
    DATA : END OF ITABMASTER.
    DATA : BEGIN OF ITABDESC OCCURS 0.
    DATA : MATNR LIKE MAKT-MATNR,
           MATDESC LIKE MAKT-MAKTX.
    DATA : END OF ITABDESC.
    TYPES : BEGIN OF ITABT ,
           FMATL LIKE LIPS-MATNR,
           FINDEX LIKE SY-TABIX,
           FKEY LIKE LIPS-MATNR,
           FMATDESC LIKE MAKT-MAKTX,
           FQUANT LIKE LIPS-LFIMG,
           FUOM LIKE ITAB1-UOM,
           FKUNR LIKE LIKP-KUNNR,
           F_KQUANT LIKE LIPS-LFIMG,"TYPE I,
           F_KUOM LIKE LIPS-VRKME,
           F_BALQUANT LIKE LIPS-LFIMG,"TYPE I,
           FBINLOC LIKE LQUA-LGPLA,
           FBATCH LIKE LQUA-CHARG,
           FWATSTK LIKE LQUA-VERME,
           F_IUOM LIKE LQUA-MEINS ,
           SEL_QUANT type LIPS-LFIMG," corr_1,
           END OF ITABT.
    DATA : BEGIN OF FLAGTAB OCCURS 0 .
    DATA : SEL_QUANT TYPE I , FKEY LIKE LIPS-MATNR.
    DATA : END OF FLAGTAB.
    DATA : ITAB type  ITABT occurs 0 with header line  .
    data : itab_w like line of itab .
    DATA t_layout    type lvc_s_layo.
    DATA: ok_code LIKE sy-ucomm .
    DATA:
         go_grid             TYPE REF TO cl_gui_alv_grid,
         go_custom_container TYPE REF TO cl_gui_custom_container.
    DATA : I_SELECTED_ROWS TYPE LVC_T_ROW,
           W_SELECTED_ROWS TYPE LVC_T_ROW,
           I_MODIFIED TYPE STANDARD TABLE OF ITABT,
           W_MODIFIED TYPE ITABT,
           WA TYPE ITABT.
    *field catalogs -
    DATA : WA_FIELDCAT TYPE lvc_t_fcat with header line.
    data : fcat type  lvc_t_fcat WITH HEADER LINE .
    FIELD-SYMBOLS : <FS_FIELDCAT> TYPE LVC_S_FCAT .
    DATA : V_VALID TYPE C.
    clear fcat.
          CLASS LCL_EVENTS_D0100 DEFINITION
    CLASS LCL_EVENT_receiver DEFINITION.
    PUBLIC SECTION.
    METHODS :
        handle_data_changed         for event data_changed
                             of cl_gui_alv_grid
                            IMPORTING er_data_changed.
    ENDCLASS.
    data : my_application type ref to lcl_event_receiver.
          CLASS LCL_EVENTS_D0100 IMPLEMENTATION
    CLASS LCL_EVENT_receiver IMPLEMENTATION.
    METHOD handle_data_changed.
    DATA: ls_good TYPE lvc_s_modi.
    DATA : L_PLANETYPE TYPE LIPS-ANZSN.
    data : swapper type LIPS-ANZSN .
    LOOP AT er_data_changed->mt_good_cells INTO ls_good.
         CASE ls_good-fieldname.
           WHEN 'SEL_QUANT'.
             CALL METHOD pr_data_changed->get_cell_value
                EXPORTING
                  i_row_id = ls_good-row_id
                  i_fieldname = ls_good-fieldname
                IMPORTING
                  e_value = l_planetype.
    *read table itab into itab_w index  ls_good-row_id.
        swapper = itab_w-f_balquant - l_planetype.
         move swapper to itab_w-f_balquant.
         modify itab FROM itab_w .
       ENDCASE.
    ENDLOOP.
    ENDMETHOD.
    ENDCLASS.
    DATA: g_event_receiver TYPE REF TO lcl_event_receiver.
    INITIALIZATION.
      S_PICDAT-SIGN = 'I'.
      S_PICDAT-OPTION = 'BT'.
      S_PGDAT-SIGN = 'I'.
      S_PGDAT-OPTION = 'BT'.
      S_PICDAT-LOW = SY-DATUM.
      S_PICDAT-HIGH = SY-DATUM + 1.
      APPEND S_PICDAT.
      S_PGDAT-LOW  = SY-DATUM.
      S_PGDAT-HIGH = SY-DATUM + 1.
      APPEND S_PGDAT.
    **--VALIDATIONS--
    AT SELECTION-SCREEN .
      IF  S_ORG IS  initial AND  S_DISCHA IS INITIAL AND S_DIV  IS
    INITIAL AND S_SPOINT  IS initial AND S_SHNUM  IS INITIAL AND S_DENUM  IS
       INITIAL .
        MESSAGE E082(YE) WITH 'AT LEAST ONE FIELD MUST BE ENTERED'.
      ENDIF.
      DATA LV_COUNT TYPE I VALUE 0.
      IF NOT S_ORG IS  initial OR NOT S_DISCHA IS INITIAL OR NOT S_DIV  IS
      INITIAL OR  NOT  S_SPOINT  IS initial.
        lv_COUNT = 1.
      ENDIF.
      IF NOT S_SHNUM  IS INITIAL .
        LV_COUNT = LV_COUNT + 1.
      ENDIF.
      IF NOT S_DENUM  IS INITIAL .
        LV_COUNT = LV_COUNT + 1.
      ENDIF.
      IF LV_COUNT > 1.
        MESSAGE E081(YE) WITH 'Please Enter Only in Block1 Or Block3' .
      endif.
      read table s_PICDAT index 1.
      data: days type i.
      days = s_PICDAT-high  - s_PICDAT-low .
      if days > 2.
        message e080(YE) with 'Range can not be > 2 days'.
      endif.
      read table s_PGDAT index 1.
      data: days2 type i.
      days2 = s_PGDAT-high  - s_PGDAT-low .
      if days2 > 2.
        message e080(YE) with 'Range can not be > 2 days'.
      endif.
    VALIDATIONS FOR FIRST BLOCK---------------------------------------
    *IF S_SHNUM IS INITIAL AND S_DENUM IS INITIAL.
    IF S_ORG IS INITIAL OR S_SPOINT IS INITIAL OR S_DISCHA IS INITIAL OR
    *S_DIV IS INITIAL .
    *MESSAGE E083(YE) WITH 'ALL FIELDS IN BLOCK ONE REQUIRED'.
    ENDIF.
    *ENDIF.
    *--START OF SELECTION--
    START-OF-SELECTION .
      IF NOT S_ORG IS  initial OR NOT S_DISCHA IS INITIAL OR NOT S_DIV  IS
      INITIAL OR  NOT  S_SPOINT  IS initial.
        PERFORM INPUTBLOCK1.
        PERFORM TABPRINT1.
      ENDIF.
      IF NOT S_SHNUM  IS INITIAL .
        PERFORM INPUTBLOCK2 .
        PERFORM TABPRINT1.
      ENDIF .
      IF NOT S_DENUM  IS INITIAL .
        PERFORM INPUTBLOCK3 .
        PERFORM TABPRINT1.
      ENDIF .
      CLEAR ITAB2.
    *LOOP AT ITABX.
       R_MATNR-SIGN = 'I'.
       R_MATNR-OPTION = 'EQ'.
       R_MATNR-LOW = ITABX-XMATL.
       APPEND R_MATNR. CLEAR R_MATNR.
    *ENDLOOP.
      PERFORM WARINVENTORY.
      PERFORM WARMASTERUPLD.
      CALL SCREEN 100.
    *=====================================================
    *&      Module  user_command_0100  input
          text
    MODULE USER_COMMAND_0100 INPUT.
    SAVED_OKCODE = OKCODE.
      S_OKCODE = OKCODE.
      CLEAR OKCODE.
      CASE S_OKCODE.
      WHEN 'EXIT' OR 'BACK' OR 'CANC'.
       LEAVE PROGRAM.
      WHEN OTHERS.
      call method go_grid->check_changed_data
       importing
          e_valid = V_VALID .
      PERFORM SAVE_ITAB.
    endcase.
    case sy-ucomm.
      when 'b_clearall'.
      loop at itab.
      itab-sel_quant = 30.
      modify itab.
      endloop.
      CALL TRANSACTION 'YWMINI'.
       ENDCASE.
      call method go_grid->check_changed_data.
       importing
         e_valid = v_valid.
    *LOOP AT ITAB.
    *IF ITAB-SEL_QUANT NE 0.
    *MOVE ITAB-SEL_QUANT TO FLAGTAB-SEL_QUANT.
    *MOVE ITAB-FKEY TO FLAGTAB-FKEY.
    *COLLECT FLAGTAB.
    *ENDIF.
    *ENDLOOP.
    LOOP AT ITAB.
      LOOP AT FLAGTAB WHERE FKEY = ITAB-FKEY.
      ITAB-F_BALQUANT = ITAB-F_BALQUANT - FLAGTAB-SEL_QUANT.
      MODIFY ITAB.
      ENDLOOP.
    *ENDLOOP.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  STATUS_0100  OUTPUT
          text
    MODULE STATUS_0100 OUTPUT.
    *SET PF-STATUS 'ZSTAT'.
      set pf-status 'STAT'.
    SET TITLEBAR 'WAVEPICK'.
    *call screen 1010  .
      IF go_custom_container IS INITIAL.
        CREATE OBJECT go_custom_container
          EXPORTING container_name = 'ALV_CONTAINER'.
        CREATE OBJECT go_grid
          EXPORTING
            i_parent = go_custom_container.
    set handler  pr_data_changed=>on_data_changed
    *for all instances.
    call method go_grid->register_edit_event
                   exporting
                      i_event_id = cl_gui_alv_grid=>mc_evt_enter.
      CREATE OBJECT g_event_receiver.
      SET HANDLER g_event_receiver->handle_data_changed FOR go_grid.
      PERFORM xclude_toolbar.
      PERFORM CREATE_FIELDCAT.
      PERFORM load_data_into_grid.
    ENDIF.
    else .
    call method my_application->refresh_table_display.
      endif.
    *call method go_grid->register_edit_event
    *exporting
    *i_event_id = cl_gui_alv_grid=>mc_evt_enter.
    *CALL METHOD GO_GRID->REFRESH_TABLE_DISPLAY
    perform load_data_into_grid.
      CLEAR ITAB1.
      READ TABLE ITAB1 .
      PWERKS = ITAB1-WERKS.
      PLGNUM  = ITAB1-LGNUM.
      PVBELN = ITAB1-VBELN.
      PTKNUM = ITAB1-TKNUM.
    ENDMODULE.                 " STATUS_0100  OUTPUT
          FORM INPUTBLOCK1                                              *
    FORM INPUTBLOCK1.
      SELECT LIPSMATNR  LIPSLFIMG LIPSVRKME LIKPKUNNR LIPS~WERKS
       LIPS~LGNUM
       LIPSLGTYP LIPSVBELN  INTO TABLE ITAB1 FROM
       LIPS JOIN LIKP ON LIPSVBELN = LIKPVBELN JOIN VBUK ON LIKP~VBELN =
      VBUK~VBELN   WHERE
      LIKP~VKORG IN S_ORG AND
      LIKP~VTWIV IN S_DISCHA AND
      LIKP~SPAIV IN S_DIV    AND
      LIKP~VSTEL IN S_SPOINT AND
      LIKP~KODAT IN S_PICDAT AND
      LIKP~WADAT IN S_PGDAT  AND
      LIPS~LGTYP = '001' ."    AND
    *VBUK~KOSTK = 'A' .
    ENDFORM .
          FORM INPUTBLOCK2                                              *
    FORM INPUTBLOCK2.
      SELECT LIPSMATNR LIPSLFIMG LIPSVRKME LIKPKUNNR  INTO
      TABLE ITAB1
    FROM LIPS JOIN LIKP ON LIPSVBELN = LIKPVBELN JOIN VTTP ON LIKP~VBELN =
      VTTPVBELN JOIN VBUK ON LIKPVBELN = VBUK~VBELN  WHERE
      VTTP~TKNUM IN S_SHNUM
       AND
      LIKP~KODAT IN S_PICDAT AND
      LIKP~WADAT IN S_PGDAT AND
      VBUK~KOSTK = 'A'.
    ENDFORM.
          FORM INPUTBLOCK3                                              *
    FORM INPUTBLOCK3 .
      SELECT LIPSMATNR LIPSLFIMG LIPSVRKME LIKPKUNNR  INTO
      TABLE ITAB1
    FROM LIPS JOIN LIKP ON LIPSVBELN = LIKPVBELN JOIN VBUK ON LIKP~VBELN =
       VBUKVBELN WHERE LIKPVBELN IN
      S_DENUM
      AND
      LIKP~KODAT IN S_PICDAT AND
      LIKP~WADAT IN S_PGDAT AND
      VBUK~KOSTK = 'A'.
    ENDFORM.
          FORM TABPRINT1                                                *
    FORM TABPRINT1.
      LOOP AT ITAB1 .
        MOVE: ITAB1-MATL TO ITAB2-MATL,
              ITAB1-UOM  TO ITAB2-UOM,
              ITAB1-KUNR TO ITAB2-KUNR,
              ITAB1-QUANT TO ITAB2-QUANT.
        COLLECT ITAB2.
      ENDLOOP.
      LOOP AT ITAB2.
        MOVE ITAB2-MATL TO ITABX-XMATL.
        MOVE ITAB2-QUANT TO ITABX-XQUANT.
        MOVE ITAB2-UOM TO ITABX-XUOM.
        MOVE ITABX-XQUANT TO ITABX-XBALQ.
        COLLECT ITABX.
      ENDLOOP.
      clear ITABX .
      LOOP AT ITABX.
        R_MATNR-SIGN = 'I'.
        R_MATNR-OPTION = 'EQ'.
        R_MATNR-LOW = ITABX-XMATL.
        APPEND R_MATNR. CLEAR R_MATNR.
      ENDLOOP.
      SELECT  MAKTMATNR MAKTMAKTX INTO TABLE ITABDESC FROM MAKT
      WHERE MAKT~MATNR IN R_MATNR .
      DATA  C_DESC LIKE MAKT-MAKTX.
      C_DESC = '0'.
      LOOP AT ITABDESC   .
        IF ITABDESC-MATNR = C_DESC .
          DELETE ITABDESC.
        ELSE .
          C_DESC = ITABDESC-MATNR.
        ENDIF.
      ENDLOOP.
      LOOP AT ITABDESC.
        LOOP AT ITABX WHERE XMATL = ITABDESC-MATNR.
          ITABX-XMATDESC = ITABDESC-MATDESC.
          MODIFY ITABX.
        ENDLOOP.
      ENDLOOP.
      CLEAR ITABX.
    *ENDSELECT.
    ENDFORM.
          FORM WARINVENTORY                                             *
    FORM WARINVENTORY.
    *Select matnr from LQUA
              into LQUA where
                  matnr in r_matnr.
                  endselect.
    *if not r_matnr-low is initial .
    MESSAGE E080(YE) WITH 'NOT IN RANGE'.
    SELECT LQUAMATNR LQUALGPLA LQUACHARG LQUAVERME LQUA~MEINS INTO TABLE
      INVTAB FROM LQUA WHERE LQUA~MATNR
    IN R_MATNR AND LQUAWERKS = ITAB1-WERKS AND LQUALGNUM = ITAB1-LGNUM AND
       LQUA~LGTYP = '001' AND
       NOT LQUA~LGPLA = '000'.
    ENDFORM .
          FORM WARMASTERUPLD                                            *
    FORM WARMASTERUPLD .
      LOOP AT ITAB2.
        DELETE ITAB2.
        LOOP AT INVTAB WHERE IMATL = ITAB2-MATL.
          MOVE:  ITAB2-MATL TO ITABMASTER-MMATL ,
                 ITAB2-KUNR TO ITABMASTER-MKUNR,
                 ITAB2-QUANT TO ITABMASTER-M_KQUANT,
                 ITAB2-UOM TO ITABMASTER-M_KUOM ,
                 INVTAB-IBINLOC TO ITABMASTER-MBINLOC,
                 INVTAB-IBATCH TO ITABMASTER-MBATCH,
                 INVTAB-IWARSTK TO ITABMASTER-MWATSTK,
                 INVTAB-IUOM TO ITABMASTER-M_IUOM.
          APPEND ITABMASTER.
          DELETE INVTAB.
          CLEAR INVTAB.
          CLEAR ITAB2.
          EXIT.
        ENDLOOP.
      ENDLOOP.
      IF NOT INVTAB[] IS INITIAL.
        LOOP AT INVTAB.
          MOVE:  INVTAB-IMATL TO ITABMASTER-MMATL,
                 INVTAB-IBINLOC TO ITABMASTER-MBINLOC,
                 INVTAB-IBATCH TO ITABMASTER-MBATCH,
                 INVTAB-IWARSTK TO ITABMASTER-MWATSTK,
                 INVTAB-IUOM TO ITABMASTER-M_IUOM.
          ITABMASTER-MKUNR = SPACE.
          ITABMASTER-M_KQUANT = SPACE.
          ITABMASTER-M_KUOM = SPACE.
          APPEND ITABMASTER.
        ENDLOOP.
      ENDIF.
    *-- BEGIN ITAB UPLOAD--
      DATA : MATCHK LIKE ITABX-XMATL VALUE 0.
      LOOP AT ITABX.
    DELETE ITAB2.
        LOOP AT ITABMASTER   WHERE MMATL = ITABX-XMATL.
    IF ITABX-XMATL NE MATCHK .
         IF ITABMASTER-MMATL = ITABX-XMATL.
            MOVE:
                  ITABX-XMATL TO ITAB-FMATL,
                  ITABMASTER-MMATL TO ITAB-FKEY,
                  ITABX-XMATDESC TO ITAB-FMATDESC,
                  ITABX-XQUANT TO ITAB-FQUANT,
                  ITABX-XUOM TO ITAB-FUOM ,
                  ITABX-XBALQ TO ITAB-F_BALQUANT.
            MATCHK = ITABX-XMATL.
          ELSE .
            MOVE ITABMASTER-MMATL TO ITAB-FKEY.
            ITAB-FMATL = SPACE  .
            ITAB-FMATDESC = SPACE.
            ITAB-FQUANT = SPACE .
            ITAB-FUOM = SPACE .
            ITAB-F_BALQUANT = SPACE.
          ENDIF.
          MOVE:
                  ITABMASTER-MKUNR TO ITAB-FKUNR,
                  ITABMASTER-M_KQUANT TO ITAB-F_KQUANT,
                  ITABMASTER-M_KUOM TO ITAB-F_KUOM,
                  ITABMASTER-MBINLOC TO ITAB-FBINLOC,
                  ITABMASTER-MBATCH TO ITAB-FBATCH,
                  ITABMASTER-MWATSTK TO ITAB-FWATSTK,
                  ITABMASTER-M_IUOM TO ITAB-F_IUOM.
          ITAB-FINDEX = SY-TABIX.
          ITAB-SEL_QUANT = 0.
          APPEND ITAB.
          DELETE INVTAB.
          CLEAR INVTAB.
          CLEAR ITABX.
    *EXIT.
        ENDLOOP.
      ENDLOOP.
    *----- END ITAB UPLOAD--
    *TEST----
    *LOOP AT ITABMASTER.
    DELETE ITAB2.
    LOOP AT ITABX  WHERE XMATL = ITABMASTER-MMATL.
    **IF ITABX-XMATL NE MATCHK .
    *MOVE:
          ITABX-XMATL TO ITAB-FMATL,
          ITABX-XMATDESC TO ITAB-FMATDESC,
          ITABX-XQUANT TO ITAB-FQUANT,
          ITABX-XUOM TO ITAB-FUOM ,
          ITABX-XBALQ TO ITAB-F_BALQUANT,
           ITABMASTER-MKUNR TO ITAB-FKUNR,
           ITABMASTER-M_KQUANT TO ITAB-F_KQUANT,
           ITABMASTER-M_KUOM TO ITAB-F_KUOM,
           ITABMASTER-MBINLOC TO ITAB-FBINLOC,
           ITABMASTER-MBATCH TO ITAB-FBATCH,
           ITABMASTER-MWATSTK TO ITAB-FWATSTK,
           ITABMASTER-M_IUOM TO ITAB-F_IUOM.
           APPEND ITAB.
          DELETE INVTAB.
          CLEAR INVTAB.
          CLEAR ITABX.
    **EXIT.
    ENDLOOP.
    *ENDLOOP.
    *SORT ITAB BY FMATL.
    *END TEST----
    ENDFORM.
          FORM load_data_into_grid                                      *
    FORM load_data_into_grid.
      CALL METHOD go_grid->set_table_for_first_display
        EXPORTING
          IS_LAYOUT                     = t_layout
        i_structure_name = 'ITABT'
        IT_TOOLBAR_EXCLUDING    = t_toolbar[]
        CHANGING
        it_outtab        = ITAB[]
        IT_FIELDCATALOG  = fcat[]
    *call method go_grid->refresh_table_display
    *EXPORTING
    *i_event_id = cl_gui_alv_grid=>mc_evt_modified.
    i_structure_name = 'ITABT'
    CHANGING
    IT_OUTTAB = ITAB[]
    ENDFORM.
    form create_fieldcat.
    CLEAR wa_fieldcat.
    WA_FIELDCAT-REPTEXT = 'MATERIAL'.
    WA_FIELDCAT-COLTEXT = 'MATERIAL'.
    wa_fieldcat-fieldname = 'FMATL'.
    wa_fieldcat-col_pos =  1.
    wa_FIELDCAT-ref_table = 'ITAB'.
    wa_fieldcat-outputlen = 8.
    APPEND wa_fieldcat to fcat .
    CLEAR wa_fieldcat.
    WA_FIELDCAT-REPTEXT = 'MATERIAL'.
    WA_FIELDCAT-COLTEXT = 'MATERIAL DESCRIPTION'.
    wa_fieldcat-fieldname = 'FMATDESC'.
    wa_fieldcat-col_pos =  2.
    wa_FIELDCAT-ref_table = 'ITAB'.
    wa_fieldcat-outputlen = 20.
    APPEND wa_fieldcat to fcat .
    CLEAR wa_fieldcat.
    WA_FIELDCAT-COLTEXT = 'QUANTITY'.
    wa_fieldcat-fieldname = 'FQUANT'.
    wa_fieldcat-col_pos =  8.
    wa_FIELDCAT-ref_table = 'ITAB'.
    wa_fieldcat-outputlen = 8.
    WA_FIELDCAT-QUANTITY = 'VRKME'.
    WA_FIELDCAT-QFIELDNAME = 'VRKME'.
    APPEND wa_fieldcat to fcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'FUOM'.
    wa_fieldcat-col_pos =  4.
    wa_FIELDCAT-ref_table = 'ITAB'.
    WA_FIELDCAT-COLTEXT = 'UOM'.
    wa_fieldcat-outputlen = 4.
    APPEND wa_fieldcat to fcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'FKUNR'.
    wa_fieldcat-col_pos =  5.
    wa_FIELDCAT-ref_table = 'ITAB'.
    WA_FIELDCAT-COLTEXT = 'CUSTOMER'.
    wa_fieldcat-outputlen = 8.
    APPEND wa_fieldcat to fcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'F_KQUANT'.
    wa_fieldcat-col_pos =  6.
    wa_FIELDCAT-ref_table = 'ITAB'.
    WA_FIELDCAT-COLTEXT = 'QUANTITY'.
    wa_fieldcat-outputlen = 8.
    WA_FIELDCAT-QUANTITY = 'VRKME'.
    WA_FIELDCAT-QFIELDNAME = 'VRKME'.
    APPEND wa_fieldcat to fcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'F_KUOM'.
    wa_fieldcat-col_pos =  7.
    wa_FIELDCAT-ref_table = 'ITAB'.
    WA_FIELDCAT-COLTEXT = 'UOM'.
    wa_fieldcat-outputlen = 4.
    APPEND wa_fieldcat to fcat.
    CLEAR wa_fieldcat.
    WA_FIELDCAT-COLTEXT = 'BALANCE QTY TO PICK'.
    wa_fieldcat-fieldname = 'F_BALQUANT'.
    wa_fieldcat-col_pos =  8.
    wa_FIELDCAT-ref_table = 'ITAB'.
    wa_fieldcat-outputlen = 8.
    WA_FIELDCAT-QUANTITY = 'VRKME'.
    WA_FIELDCAT-QFIELDNAME = 'VRKME'.
    APPEND wa_fieldcat to fcat .
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'FBINLOC'.
    wa_fieldcat-col_pos =  9.
    wa_FIELDCAT-ref_table = 'ITAB'.
    WA_FIELDCAT-COLTEXT = 'BIN LOCATION'.
    wa_fieldcat-outputlen = 8.
    APPEND wa_fieldcat to fcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'FBATCH'.
    wa_fieldcat-col_pos =  10.
    wa_FIELDCAT-ref_table = 'ITAB'.
    WA_FIELDCAT-COLTEXT = 'BATCH'.
    wa_fieldcat-outputlen = 8.
    APPEND wa_fieldcat to fcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'FWATSTK'.
    wa_fieldcat-col_pos =  11.
    wa_FIELDCAT-ref_table = 'ITAB'.
    WA_FIELDCAT-COLTEXT = 'WAREHOUSE STK'.
    wa_fieldcat-outputlen = 8.
    APPEND wa_fieldcat to fcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'F_IUOM'.
    wa_fieldcat-col_pos =  12.
    wa_FIELDCAT-ref_table = 'ITAB'.
    WA_FIELDCAT-COLTEXT = 'UOM'.
    wa_fieldcat-outputlen = 4.
    APPEND wa_fieldcat to fcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'SEL_QUANT'.
    wa_fieldcat-col_pos =  13.
    wa_FIELDCAT-ref_table = 'ITAB'.
    WA_FIELDCAT-COLTEXT = 'SELECTED QTY'.
    wa_fieldcat-edit    =  'X'.
    wa_fieldcat-outputlen = 8.
    WA_FIELDCAT-QUANTITY = 'VRKME'.
    WA_FIELDCAT-QFIELDNAME = 'VRKME'.
    APPEND wa_fieldcat to fcat.
    *LOOP AT FCAT ASSIGNING <FS_FIELDCAT>.
    *CASE <FS_FIELDCAT>-FIELDNAME.
    *WHEN 'SEL_QUANT'.
    *<FS_FIELDCAT>-EDIT = 'X'.
    *ENDCASE.
    *ENDLOOP.
    *CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    *EXPORTING
    *I_STRUCTURE_NAME = 'ITABT'
    *CHANGING
    *CT_FIELDCATALOG = FCAT.
    *LOOP AT FCAT ASSIGNING <FS_FIELDCAT>.
    *CASE <FS_FIELDCAT>-FIELDNAME.
    *WHEN 'SEL_QUANT'.
    *<FS_FIELDCAT>-EDIT = 'X'.
    *ENDCASE.
    *ENDLOOP.
    endform.
    form xclude_toolbar .
    t_toolbar = '&DETAIL'.
    append t_toolbar.
    t_toolbar = '&&SEP00'.
    append t_toolbar.
    t_toolbar = '&&SEP01'.
    append t_toolbar.
    t_toolbar = '&&SEP02'.
    append t_toolbar.
    t_toolbar = '&SORT_ASC'.
    append t_toolbar.
    t_toolbar = '&SORT_DSC'.
    append t_toolbar.
    t_toolbar = '&FIND'.
    append t_toolbar.
    t_toolbar = '&MB_FILTER'.
    append t_toolbar.
    t_toolbar = '&&SEP04'.
    append t_toolbar.
    t_toolbar = '&MB_SUM'.
    append t_toolbar.
    t_toolbar = '&MB_SUB_TOTAL'.
    append t_toolbar.
    t_toolbar = '&PRINT_BACK'.
    append t_toolbar.
    t_toolbar = '&MB_VIEW'.
    append t_toolbar.
    t_toolbar = '&MB_EXPORT'.
    append t_toolbar.
    t_toolbar = '&GRAPH'.
    append t_toolbar.
    t_toolbar = '&COLO'.
    append t_toolbar.
    t_toolbar = '&&SEP06'.
    append t_toolbar.
    t_toolbar = '&&SEP07'.
    append t_toolbar.
    t_toolbar = '&INFO'.
    append t_toolbar.
    t_toolbar = '&&SEP03'.
    append t_toolbar.
    endform.
    FORM SAVE_ITAB.
    *CALL METHOD GO_GRID->GET_SELECTED_ROWS
    *IMPORTING
    *ET_INDEX_ROWS = I_SELECTED_ROWS.
    *LOOP AT I_SELECTED_ROWS INTO W_SELECTED_ROWS.
    *READ TABLE ITAB INTO WA INDEX W_SELECTED_ROWS-INDEX.
    *IF SY-SUBRC EQ 0.
    *MOVE-CORRESPONDING WA TO W_MODIFIED.
    *APPEND W_MODIFIED TO I_MODIFIED.
    *ENDIF.
    *ENDLOOP.
    *MODIFY ITAB FROM TABLE I_MODIFIED.
    *ENDFORM.
    ENDFORM.

  • Run time error with ALV List

    Hi,
    I am Using ALV list to display data,In that when itry to display currency field it is giving run time error.
    Following is the code i am using
      lf_fcat-fieldname   = 'SALARYE'.
      lf_fcat-tabname     = 'IT_EMPLOYEE'.
      lf_fcat-col_pos     = l_cnt.
      lf_fcat-emphasize   = 'X'.
      lf_fcat-outputlen   = 15.
      lf_fcat-ref_tabname = 'PA0008'. "<--- Ref table
      lf_fcat-ref_fieldname = 'ANCUR'. "<-----ref field
      lf_fcat-decimals_out = 2.
      lf_fcat-seltext_l   = text-061.
      append lf_fcat to it_fcat.
      clear  lf_fcat.

    Hi,
    Please check in the internal table 'IT_EMPLOYEE' , the relevant currency field as it should type compatible with your reference table field.
    Thanks,
    Dhruv Kumar Malhotra

  • "no data found" run-time error masking SQL/report mismatch

    Hi all,
    At last, figured out a vexing problem and wondering if anyone else either:
    a) has also hit the problem, and hopefully
    b) has figured out a clever way around it.
    Namely, in our AppEx apps, we rely on SQL query generation from PL/SQL packaged functions. This "best practice" promotes reuse, automated testing, etc. Great idea - works great.
    However, we've repeatedly come across a situation where we go to run a page with a report on it only to get a "report error: ORA-01403: no data found" message where the report should be. Not much to go on. After trial and error, it turns out that simply going to the Region Definition page (where the PL/SQL function call is defined) and clicking the "Apply Changes" button cleared the problem up.
    Mystifying because the actual SQL query generated by the PL/SQL is valid (we've got a nightly testing job that pulls the PL/SQL function calls out of the AppEx metadata tables, executes them to get back the SQL and then validates the SQL).
    Turns out this problem looks to be a result of columns changing in the actual SQL itself, and hence not matching up to the Region Attributes (column names, one assumes) that AppEx knows about. Simply clicking Apply Changes causes AppEx to validate the returned query and then it adjusts the column attributes (one assumes) so that things match up.
    So - the $64,000 question(s):
    1) Are there any cool AppEx APIs to be able to try and detect this situation? Given an app of middling complexity (50-100 pages, each with various queries/reports), this is not an attractive issue to deal with manually.
    2) Any cool AppEx APIs to fix, or auto-sync these situations? (Essentially programmatically calling the "Apply Changes" button if you will).
    At a minimum, it would be great if AppEx could be updated to put out some kind of more informative error message when this occurs - maybe something along the lines of "Region Attributes Do Not Match Data Returned from Query", or something like that at least.
    Thanks for any input/ideas,
    Jim C.

    Thanks to all for your prompt responses.
    Vikas actually did me the favor of pretty much clarifying my info for me (tks Vikas). Yes, to all the above. It's PL/SQL code generating a SQL query, so 1 is (a); we want to use query-specific columns so it is (2a). And yes, the whole problem is that the something does change to cause the SELECT statement column list to change...nature of the beast, so "don't do that" doesn't really help here.
    Scott - sorry, should have been more explicit. Basically, we have a PL/SQL function behind a report that returns a SQL statement for the report. If that PL/SQL code changes to add a new column to the report (without going to the corresponding Report Attributes page and clicking the "Apply Changes" button to get AppEx to revalidate the query), then you wind up with this "no data found" error msg, which doesn't exactly point you to the root of the problem.
    It seems as though the "parse at compile-time" is really what's going on here. There must be some kind of "run-time" check going on as well, that is resulting in the "no data found" message. Seems as though it ought to be fairly straightforward to add some kind of check at run-time to handle that exception a little cleaner. Is there an official process to register a "Request for Process Enhancement" for AppEx to do this?
    In the meantime, thank you Vikas for the pointer to the APEX_APPLICATION_PAGE_RPT_COLS view - that looks like it will do the trick nicely. Given that, we can now add logic to our nightly "app tester" job that can compare what columns AppEx expects to find in a given report (for a given page) with the actual SQL (coming back from the PL/SQL function call) to essentially "validate" the AppEx meta data and at least let us know when these things get out of sync.
    BTW - if anyone would be interested in the actual contents of that "app tester" logic, I'd be happy to post it (someplace...here? Studio site?). It's basically just a PL/SQL block of code that currently runs in cron that just validates any SQL embedded in our app. (I suppose it is a little "hard-coded" since it does use our naming conventions for packages/functions to parse the PL/SQL calls from the Meta Data but it might still serve as a usefull starting point...) Since our AppEx app(s) sit on top of a database schema that is in fairly constant flux, we need the ability to know when somebody has changed something in the schema that needs to be accounted for in AppEx. The job primarily just parses the AppEx meta data to find PL/SQL function calls that return SQL, executes that PL/SQL to get the generated SQL, then just validates that SQL and reports back any invalid SQL calls. Perhaps we're in some unusual development environment (15-20 people working on a database schema with 700-800 tables/views) but it seems as though it would be fairly easy, for anybody using PL/SQL to generate SQL (which is a GREAT and powerful thing, by the way - thanks to whoever thought that up in AppEx land) to run into this issue.
    Jim C.

  • Run Time Errors in BEx Report Designer?....asking for Portal Setup??

    In BEx Report Designer, I keep getting short dumps and timeouts when trying to design flashy reports.
    I keep getting 2 errors when I time out:
    1. 'Query (view) definition cannot be retrieved from Portal.
    Please try again or check query and Portal Setup!
    Time limit exceeded.
    2. xxx Error when reading Query (via BICS)
    Please check query and Portal setup!
    Time limit exceeded.
    We are running ECC 6.0, BI2004s, and SEM 6.0.  All in Sandbox/Dev environment.
    We are NOT running EP. 
    I am aware that we have some memory issues, and we're adding 4Gb more on Thursday....can the solution be that simple, or are these errors telling me we need Portals installed?  I was under the impression that Portals were NOT required for 2004s, so long as you did not use WAD etc.
    Any thoughts??

    You would need to install portals(EP) for the report designer to work. When you design your flashy report in designer and try it launch it... it would try to connect to EP to publish it. It bombs when it doesnt find the portal.
    On a personal note: Report designer have a long way to go when you think the output would be something like crystal .. NO not yet ... But SAP just got started ... I think they would be there pretty soon. And they promise many enhancements as of SP 13.. so lets all wait.

  • Run time error in ALV editable on Class implementation

    I am getting a runtime error GETWA_NOT_ASSIGNED again ( This error was resolved yesterday thanks to an expert ) after I implemented a class to handle screen events in an editable ALV . Without the class the program was working and was able to insert the changed values into the internal table. I want to use these values to make changes another field on the same row . Is there a solution .
    I have copied the code from BCALV_EDIT_03. I can post my code.
    I am almost reaching my deadline date so , I will appreciate any help.

    Yes , I have altered a lot in handle_data_change . Its only when I try to use the pr_data_changed->modify_cell
    method call , I get into the runtime error.
    This is the syntax that I have used. :
    CALL METHOD pr_data_changed->modify_cell
                    EXPORTING i_row_id    = ps_good_planetype-row_id
                              i_fieldname = 'BAL_QUANT'
                              i_value     = ls_saplane-sel_quant.

  • Run-time error while executing alv grid report

    Hi everyone
    I m trying to run a alv grid report it is giving a run time error while executing the statement CALL METHOD V_ALV->SET_TOOLBAR_INTERACTIVE.
    Actually i added 2 buttons in the toolbar.after that when i execute the report i m getting errors.
    <b>Error Analysis</b>
    An exception occurred that is explained in detail below.                     
    The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not    
    caught in                                                                   
    procedure "TOOLBAR_MENUS_INIT" "(METHOD)", nor was it propagated by a RAISING
    clause.                                                                     
    Since the caller of the procedure could not have anticipated that the        
    exception would occur, the current program is terminated.                    
    The reason for the exception is:                                             
    You attempted to use a 'NULL' object reference (points to 'nothing')         
    access a component (variable: "ME->M_CL_MENU_BUTTON_VARIANT").               
    An object reference must point to an object (an instance of a class)         
    before it can be used to access components.                                  
    Either the reference was never set or it was set to 'NULL' using the         
    CLEAR statement.

    Hi Dinesh,
    Seems you have not initialised ( Instantiated in OO ) the object and / or the parent container.
    Check if you have create object for both the parent as well as the alv object.
    So when you instatntiate the object of ALV you pass the object ( instantiated before hand ) in the parent container position.
    Also you would have to register the events to the object using method. Then only the buttons will finction.
    eg :
    IF G_CUSTOM_CONTAINER IS INITIAL.
        CREATE OBJECT CUSTOM_CONTAINER_1
               EXPORTING CONTAINER_NAME = CONTAINER_1.
        CREATE OBJECT GRID1
               EXPORTING I_PARENT = CUSTOM_CONTAINER_1.
        CALL METHOD ALV_GRID1->SET_TABLE_FOR_FIRST_DISPLAY
             EXPORTING I_STRUCTURE_NAME = 'VBAK
             CHANGING  IT_OUTTAB        = IT_VBAK.
    Reward points if useful.

  • Run-time error '13' in ALV report

    Hello,
    In a standard ALV report we are using Excel report layout. The Excel contains a table and a graph. The excel table refreshes with no errors.
    In order to refresh the graph data we recorded a VB Macro but when we run the report (which runs the macro) we are getting the error:
    run-time error '13'
    When we open the excel report from our workstation (not trough the SAP system) we are not getting this error.
    Please Advice,
    Amir

    hi
    this is a bug(error )in microsoft excel:
    Run-time error:'13' Type Mismatch" error message when you click a macro or a function on a menu in Excel 2002
    Please chec kthis link for the details:
    http://support.microsoft.com/kb/821292
    Regards
    Neha

  • ALV issue: when save list using Local File command will get run time error!

    help!!!!
    report list using ALV method when to save this list using Local File.
    i will get GETWA_NOT_ASSIGNED run time error information.
    how resolve it?
    source code :
    REPORT   ZIFT0103.
    TABLES :  MARA,MARC,CDHDR,CDPOS,MAKT.
    ******DEVK909212****************
    ****&#21033;&#29992;&#24037;&#21378;&#26469;&#21306;&#20998;&#19981;&#21516;&#30340;SERVER&#30340;FTP ADDRESS ,user ,PASSWORD
    DATA: FTP_WERKS LIKE MARC-WERKS.
    ********&#23450;&#20041;&#19968;&#20010;RANGE&#29992;&#26469;&#25235;&#21462;MARC&#30340;&#20449;&#24687;
    RANGES:R_MATNR FOR MARA-MATNR OCCURS 0.
    ********&#23450;&#20041;&#19968;&#20010;INTERNAL TABLE &#26469;&#25235;&#21462;MARC &#30340;&#20449;&#24687;
    DATA:BEGIN OF IT_MARC OCCURS 0,
          MATNR LIKE MARC-MATNR,
          WERKS LIKE MARC-WERKS,
          USERNAME TYPE CDHDR-USERNAME,
         UDATE    TYPE CDHDR-UDATE,
         FLAG_UI TYPE C,
         END OF IT_MARC.
    *******&#23450;&#20041;&#23384;&#25918;&#21271;&#20140;&#30340;&#25968;&#25454;&#30340;&#21464;&#37327;
    DATA : BEGIN OF FTP_BEIJING OCCURS 0 ,
                  MATNR(25) ,
                  MATNR1(25) ,
                  MAKTX(30) ,
           END OF FTP_BEIJING .
    ******&#23450;&#20041;&#31119;&#28165;&#30340;&#25968;&#25454;&#21464;&#37327;
    DATA : BEGIN OF FTP_FUQING OCCURS 0 ,
                  MATNR(25) ,
                  MATNR1(25) ,
                  MAKTX(30) ,
           END OF FTP_FUQING .
    *******DEVK909212*****************
    DATA : BEGIN OF FTP_ITEMDOC1 OCCURS 0 ,
                  MATNR(25) ,
                  MAKTX(30) ,
           END OF FTP_ITEMDOC1 .
    DATA : BEGIN OF FTP_ITEMDOC OCCURS 0 ,
                  MATNR(25) ,
                  MATNR1(25) ,
                  MAKTX(30) ,
           END OF FTP_ITEMDOC .
    DATA: WA_ZMSGTA TYPE ZMSGTA ,
          l_ersda  like MARA-ERSDA .
    ***********DEVK909553********************
    ****&#29992;&#26469;&#20915;&#23450;&#25191;&#34892;FTP&#36824;&#26159;&#26174;&#31034;LIST**********
    DATA:g_tcode_flag.
    ***********DEVK909553********************
    Error message process ******************************
    DEFINE EXPLAIN_MSG.
       break soe_richard.
      CALL FUNCTION 'BAPI_MESSAGE_GETDETAIL'
        EXPORTING
          ID                = &1   "SY-MSGID
          NUMBER            = &2   "SY-MSGNO
          LANGUAGE          = SY-LANGU
          TEXTFORMAT        = &3
          LINKPATTERN       =
          MESSAGE_V1        = &4                                "SY-MSGV1
          MESSAGE_V2        = &5                                "SY-MSGV2
          MESSAGE_V3        = &6                                "SY-MSGV3
          MESSAGE_V4        = &7                                "SY-MSGV4
        IMPORTING
          MESSAGE           = &8   "WA_ZMSGTA-MSE1
          RETURN            =
        TABLES
          TEXT              =
    END-OF-DEFINITION.
    DEFINE ERROR_MSG_UPDATA.
      CALL FUNCTION 'ZINSERT_MSG'  "IN UPDATE TASK
        EXPORTING
          XZMSGTA      = &1    "WA_ZMSGTA
        EXCEPTIONS
          UPDATE_ERROR = 1
          OTHERS       = 2.
    END-OF-DEFINITION.
    IF SY-TCODE = 'ZIFT103' .
      g_tcode_flag = 'L'.
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
        EXPORTING
          PERCENTAGE = 0
          TEXT       = '&#35831;&#32784;&#24515;&#31561;&#20505;,&#31995;&#32479;&#27491;&#22312;&#25235;&#25968;&#25454;'.
    ENDIF.
    l_ersda = sy-datum - 1 .  "&#21462;&#21069;&#19968;&#22825;&#20135;&#29983;&#30340;&#29289;&#26009;&#21495;&#30721;&#12290;
    DATA:BEGIN OF it_change OCCURS 0,
         OBJECTID TYPE CDHDR-OBJECTID,
         USERNAME TYPE CDHDR-USERNAME,
         UDATE    TYPE CDHDR-UDATE,
         TABKEY   TYPE CDPOS-TABKEY,
         END OF it_change.
    DATA:BEGIN OF it_cDhdr OCCURS 0,
         OBJECTID type CDHDR-OBJECTID,
         CHANGENR TYPE CDHDR-CHANGENR,
         USERNAME TYPE CDHDR-USERNAME,
         UDATE    TYPE CDHDR-UDATE,
         END OF it_cdhdr.
    DATA:search_len TYPE I.
    DATA:BEGIN of it_insert OCCURS 0,
         MATNR TYPE MARA-MATNR,
         WERKS TYPE MARC-WERKS,
         END OF it_insert.
    DATA:BEGIN OF it_MAKT OCCURS 0,
         MATNR TYPE MAKT-MATNR,
         MAKTX TYPE MAKT-MAKTX,
         END OF it_makt.
    DATA IT_MARA TYPE TABLE OF MARA WITH HEADER LINE.
    DATA:BEGIN OF IT_OUT OCCURS 0,
         MATNR TYPE MARA-MATNR,
         WERKS TYPE MARC-WERKS,
         MTART TYPE MARA-MTART,
         MEINS TYPE MARA-MEINS,
         MATKL TYPE MARA-MATKL,
         MAKTX TYPE MAKT-MAKTX,
         PSTAT TYPE MARA-PSTAT,
         BRGEW TYPE MARA-BRGEW,
         NTGEW TYPE MARA-NTGEW,
         GEWEI TYPE MARA-GEWEI,
         FERTH TYPE MARA-FERTH,
         KZUMW TYPE MARA-KZUMW,
         ERNAM TYPE MARA-ERNAM,
         ERSDA TYPE MARA-ERSDA,
         END OF IT_OUT.
    *-- DECLARE DATA FOR ALV
    TYPE-POOLS: slis.
    DATA  : g_variant LIKE disvariant,
            g_save(1) TYPE c,
            g_exit(1) TYPE c,
            gx_variant LIKE disvariant.
    DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE, "
          gt_events   TYPE slis_t_event,
          gt_list_top_of_page TYPE slis_t_listheader,
          gs_print TYPE slis_print_alv,
          gs_layout         TYPE slis_layout_alv .
    ******&#21482;&#33021;&#25235;&#20986;&#31995;&#32479;&#26377;&#20570;&#26356;&#25913;&#30340;&#25968;&#25454;***************
    ******&#32780;&#31532;&#19968;&#27425;INSERT MARA&#30340;&#25968;&#25454;&#25235;&#19981;&#20986;&#26469;********
    START-OF-SELECTION.
    SELECT AOBJECTID AUSERNAME AUDATE BTABKEY
    INTO TABLE it_change
    FROM ( CDPOS AS B INNER JOIN CDHDR AS A ON
         AOBJECTCLAS = BOBJECTCLAS AND
         AOBJECTID   = BOBJECTID   AND
         ACHANGENR   = BCHANGENR )
    WHERE A~OBJECTCLAS = 'MATERIAL'
    AND   A~UDATE = l_ersda
    AND   B~TABNAME = 'MARC'
    AND   B~CHNGIND = 'I'.
    LOOP AT it_change.
       search_len = STRLEN( it_change-TABKEY ).
       search_len = search_len - 4.
       IF search_len > 0.
         IT_MARC-WERKS = it_change-TABKEY+search_len(4).
       ENDIF.
       IT_MARC-MATNR = it_change-objectid+0(18).
       IT_MARC-USERNAME = it_change-username.
       IT_MARC-UDATE    = It_change-udate.
       IT_MARC-FLAG_UI  = 'U'.
       APPEND IT_MARC.
       CLEAR IT_MARC.
       CLEAR R_MATNR.
       R_MATNR-SIGN = 'I'.
       R_MATNR-OPTION = 'EQ'.
       R_MATNR-LOW = IT_MARC-MATNR.
       APPEND R_MATNR.
    ENDLOOP.
    ****CDPOS is Cluster TABLE &#25152;&#20197;&#27809;&#26377;&#21150;&#27861;&#29992;INNER JOIN******
      SELECT OBJECTID CHANGENR USERNAME UDATE
      INTO TABLE it_cdhdr
      FROM CDHDR
      WHERE OBJECTCLAS = 'MATERIAL'
      AND   UDATE = l_ersda.
    AND   TCODE = 'MM02'.
      LOOP AT IT_cdhdr.
        SELECT * FROM CDPOS
        WHERE OBJECTCLAS = 'MATERIAL'
        AND   OBJECTID  = IT_CDHDR-OBJECTID
        AND   CHANGENR  = IT_CDHDR-CHANGENR
        AND   TABNAME   = 'MARC'
        AND   CHNGIND = 'I'.
          search_len = STRLEN( CDPOS-TABKEY ).
          search_len = search_len - 4.
          IF search_len > 0.
            IT_MARC-WERKS = CDPOS-TABKEY+search_len(4).
          ENDIF.
          IT_MARC-MATNR = IT_cdhdr-objectid+0(18).
          IT_MARC-USERNAME = IT_cdhdr-username.
          IT_MARC-UDATE    = IT_cdhdr-udate.
          IT_MARC-FLAG_UI  = 'U'.
          APPEND IT_MARC.
         CLEAR IT_MARC.
          CLEAR R_MATNR.
          R_MATNR-SIGN = 'I'.
          R_MATNR-OPTION = 'EQ'.
          R_MATNR-LOW = IT_MARC-MATNR.
          APPEND R_MATNR.
          CLEAR IT_MARC.
        ENDSELECT.
      ENDLOOP.
      IF g_tcode_flag = 'L'.
        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
          EXPORTING
            PERCENTAGE = 20
            TEXT       = '&#22788;&#29702;&#22909;&#24403;&#22825;CHANGE&#30340;&#25968;&#25454;'.
      ENDIF.
    *******&#25235;&#24403;&#22825;&#20570;&#20102;INSERT&#30340;&#25968;&#25454;*************
    *******&#19981;&#38656;&#35201;***********************
    SELECT BMATNR BWERKS INTO TABLE IT_INSERT
    FROM MARC AS B JOIN MARA AS A
    ON   AMATNR = BMATNR
    WHERE A~ERSDA = l_ersda.
    LOOP AT IT_INSERT.
       IT_MARC-MATNR = IT_INSERT-MATNR.
       IT_MARC-WERKS = IT_INSERT-WERKS.
       IT_MARC-FLAG_UI = 'I'.
       APPEND IT_MARC.
       CLEAR IT_MARC.
       CLEAR R_MATNR.
       R_MATNR-SIGN = 'I'.
       R_MATNR-OPTION = 'EQ'.
       R_MATNR-LOW = IT_MARC-MATNR.
       APPEND R_MATNR.
    ENDLOOP.
    IF g_tcode_flag = 'L'.
       CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
           PERCENTAGE = 40
           TEXT       = '&#22788;&#29702;&#22909;&#24403;&#22825;INSERT&#30340;&#25968;&#25454;'.
    ENDIF.
      IF g_tcode_flag = 'L'.
        PERFORM get_MAKTX.
        PERFORM get_mara.
        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
          EXPORTING
            PERCENTAGE = 100
            TEXT       = '&#22788;&#29702;&#22909;&#25968;&#25454;,&#24182;&#24320;&#22987;&#26174;&#31034;&#25968;&#25454;'.
        PERFORM do_data.
        PERFORM display_alv.
      ELSE.
        PERFORM get_MAKTX.
        PERFORM do_ftp.
      ENDIF.
    *&      Form  get_marktx
          text
    FORM get_maktx.
      SELECT MATNR MAKTX INTO TABLE IT_MAKT FROM MAKT
      WHERE MATNR IN R_MATNR AND SPRAS = '1'.
    ENDFORM.                    "get_marktx
    *&      Form  get_mara
          text
    FORM get_mara.
      SELECT * INTO TABLE it_mara FROM MARA
      WHERE MATNR IN R_MATNR.
    ENDFORM.                    "get_mara
    *&      Form  do_data
          text
    FORM do_data.
      SORT IT_MARC BY MATNR WERKS.
      DELETE ADJACENT DUPLICATES FROM IT_MARC COMPARING MATNR WERKS.
      LOOP AT IT_MARC.
        CLEAR IT_MAKT.
        CLEAR IT_MARA.
        READ TABLE IT_MAKT WITH KEY MATNR = IT_MARC-MATNR.
        READ TABLE IT_MARA WITH KEY MATNR = IT_MARC-MATNR.
        MOVE-CORRESPONDING IT_MARA TO IT_OUT.
        IT_OUT-MAKTX = IT_MAKT-MAKTX.
        IT_OUT-WERKS = IT_MARC-WERKS.
        IF IT_MARC-FLAG_UI = 'U'.
          IT_OUT-ERNAM = IT_MARC-USERNAME.
        ENDIF.
        APPEND IT_OUT.
        CLEAR IT_OUT.
      ENDLOOP.
    ENDFORM.                    "do_data
    *SELECT AMATNR BMAKTX INTO CORRESPONDING
    *FIELDS OF FTP_ITEMDOC1 FROM MARA AS A JOIN MAKT AS B
    *ON AMATNR = BMATNR WHERE A~ERSDA = l_ersda
    *AND B~SPRAS = '1' . "&#20195;&#34920;&#20026;&#20013;&#25991;&#35828;&#26126;&#12290;
    APPEND FTP_ITEMDOC1.
    *******DEVK909212****************
    *******&#28155;&#21152;RANGE*****************
    CLEAR R_MATNR.
    R_MATNR-SIGN = 'I'.
    R_MATNR-OPTION = 'EQ'.
    R_MATNR-LOW = FTP_ITEMDOC1-MATNR.
    APPEND R_MATNR.
    CLEAR  FTP_ITEMDOC1.
    *******DEVK909212****************
    *ENDSELECT.
    *******DEVK909212****************
    ****get WERKS information from MARC*******
    *SELECT MATNR WERKS INTO TABLE IT_MARC
    *FROM MARC
    *WHERE MATNR IN R_MATNR.
    *******DEVK909212****************
    ******DEVK909212****************
    **MARK**************************
    *LOOP AT FTP_ITEMDOC1 .
    MOVE : FTP_ITEMDOC1-MATNR TO FTP_ITEMDOC-MATNR,
            FTP_ITEMDOC1-MATNR TO FTP_ITEMDOC-MATNR1,
            FTP_ITEMDOC1-MAKTX TO FTP_ITEMDOC-MAKTX.
    APPEND FTP_ITEMDOC.
    CLEAR FTP_ITEMDOC.
    *ENDLOOP.
    ******DEVK909212****************
    ******DEVK909212***********************************
    **&#26681;&#25454;IT_MARC&#20013;&#20449;&#24687;&#65292;&#24448;&#21271;&#20140;&#21644;&#31119;&#28165;&#30340;TABLE&#20889;&#25968;&#25454;*****
    FORM do_ftp.
      LOOP AT IT_MARC.
    ***&#31119;&#28165;&#30340;
        IF IT_MARC-WERKS = '1010' OR IT_MARC-WERKS = '1020'
           OR IT_MARC-WERKS = '1023' .
         READ TABLE FTP_ITEMDOC1 WITH KEY MATNR = IT_MARC-MATNR.
         MOVE : FTP_ITEMDOC1-MATNR TO FTP_FUQING-MATNR,
            FTP_ITEMDOC1-MATNR TO FTP_FUQING-MATNR1,
            FTP_ITEMDOC1-MAKTX TO FTP_FUQING-MAKTX.
          CLEAR IT_MAKT.
          READ TABLE IT_MAKT WITH KEY = IT_MARC-MATNR.
          MOVE : IT_MARC-MATNR TO FTP_FUQING-MATNR,
             IT_MARC-MATNR TO FTP_FUQING-MATNR1,
             IT_MAKT-MAKTX TO FTP_FUQING-MAKTX.
          APPEND FTP_FUQING.
          CLEAR FTP_FUQING.
        ENDIF.
    ***&#21271;&#20140;&#30340;
        IF IT_MARC-WERKS = '1041' OR IT_MARC-WERKS = '1042'.
         READ TABLE FTP_ITEMDOC1 WITH KEY MATNR = IT_MARC-MATNR.
         MOVE : FTP_ITEMDOC1-MATNR TO FTP_BEIJING-MATNR,
            FTP_ITEMDOC1-MATNR TO FTP_BEIJING-MATNR1,
            FTP_ITEMDOC1-MAKTX TO FTP_BEIJING-MAKTX.
          CLEAR IT_MAKT.
          READ TABLE IT_MAKT WITH KEY = IT_MARC-MATNR.
          MOVE : IT_MARC-MATNR TO FTP_BEIJING-MATNR,
                 IT_MARC-MATNR TO FTP_BEIJING-MATNR1,
                 IT_MAKT-MAKTX TO FTP_BEIJING-MAKTX.
          APPEND FTP_BEIJING.
          CLEAR FTP_BEIJING.
        ENDIF.
      ENDLOOP.
    ****&#28165;&#26970;&#37325;&#22797;&#30340;&#25968;&#25454;**********
      SORT FTP_FUQING.
      DELETE ADJACENT DUPLICATES FROM FTP_FUQING.
      SORT FTP_BEIJING.
      DELETE ADJACENT DUPLICATES FROM FTP_BEIJING.
    ***&#20256;&#36865;&#25968;&#25454;********
      REFRESH FTP_ITEMDOC.
      FTP_ITEMDOC[] = FTP_FUQING[].
      FTP_WERKS = '1010'.
      PERFORM ftp_work.
      REFRESH FTP_ITEMDOC.
      FTP_ITEMDOC[] = FTP_BEIJING[].
      FTP_WERKS = '1041'.
      PERFORM ftp_work.
    ******DEVK909212***********************************
    ENDFORM.                    "do_ftp
    *&      Form  ftp_work
         &#25226;&#20197;&#21069;FTP&#30340;&#24037;&#20316;&#20570;&#19968;&#20010;FORM
    *******DEVK909212**************************
    FORM ftp_work.
    *******DEVK909212**************************
      CHECK FTP_ITEMDOC[] IS NOT INITIAL.
    FTP function *****************************************************
      DATA : HDL TYPE I,
             L_SLEN TYPE I ,
             ERROR,
             KEY TYPE I VALUE 26101957,
             DEST TYPE RFCDES-RFCDEST VALUE 'SAPFTPA'.
      DATA: FTP_RESULT TYPE TABLE OF TEXT.
      DATA: P_FILE TYPE RLGRAP-FILENAME.
      DATA: L_USER(16) TYPE C VALUE 'SFIS',
            L_PWD(16) TYPE C VALUE 'SFIS',
            L_HOST(16) TYPE C VALUE '172.16.31.17'.
    *******DEVK909212**************************
    *****&#26681;&#25454;&#19981;&#21516;&#30340;&#24037;&#21378;&#26469;&#25235;FTP&#30340;&#20449;&#24687;
      CALL FUNCTION 'Z_FTP_SFIS'
        EXPORTING
          BLART = 'S'
          WERKS = FTP_WERKS
        IMPORTING
          HOST  = L_HOST
          USER1 = L_USER
          PASS1 = L_PWD.
    *******DEVK909212**************************
      CONCATENATE l_ersda '.KP' INTO P_FILE.
      SET EXTENDED CHECK OFF.
      ERROR = 0.
      CHECK HDL IS INITIAL.
    Connect to server
      L_SLEN = STRLEN( L_PWD ).
      CALL FUNCTION 'HTTP_SCRAMBLE'
        EXPORTING
          SOURCE      = L_PWD
          SOURCELEN   = L_SLEN
          KEY         = KEY
        IMPORTING
          DESTINATION = L_PWD.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
       EXPORTING
         TEXT = 'Connect to FTP Server'.
      CALL FUNCTION 'FTP_CONNECT'
        EXPORTING
          USER            = L_USER
          PASSWORD        = L_PWD
          HOST            = L_HOST
          RFC_DESTINATION = DEST
        IMPORTING
          HANDLE          = HDL
        EXCEPTIONS
          NOT_CONNECTED   = 1
          OTHERS          = 2.
      IF SY-SUBRC <> 0.
        MOVE: 'B' TO WA_ZMSGTA-BLART,
              l_ersda  TO WA_ZMSGTA-REFNUMBER,
              SY-MSGTY TO WA_ZMSGTA-MSGTY,
              'MARA' TO WA_ZMSGTA-TBMA_VAL.
        EXPLAIN_MSG SY-MSGID SY-MSGNO ' ' SY-MSGV1 SY-MSGV2 SY-MSGV3
                    SY-MSGV4 WA_ZMSGTA-MSE1.
        ERROR_MSG_UPDATA WA_ZMSGTA.
        EXIT.
      ENDIF.
      CALL FUNCTION 'FTP_COMMAND'
        EXPORTING
          HANDLE        = HDL
          COMMAND       = 'ascii'
        TABLES
          DATA          = FTP_RESULT
        EXCEPTIONS
          TCPIP_ERROR   = 1
          COMMAND_ERROR = 2
          DATA_ERROR    = 3.
      IF SY-SUBRC <> 0.
        EXPLAIN_MSG SY-MSGID SY-MSGNO ' ' SY-MSGV1 SY-MSGV2 SY-MSGV3
                    SY-MSGV4 WA_ZMSGTA-MSE1.
        MOVE: 'B' TO WA_ZMSGTA-BLART,
              l_ersda  TO WA_ZMSGTA-REFNUMBER,
              SY-MSGTY TO WA_ZMSGTA-MSGTY,
              'MARA' TO WA_ZMSGTA-TBMA_VAL.
        ERROR_MSG_UPDATA WA_ZMSGTA.
        EXIT.
      ENDIF.
      CALL FUNCTION 'FTP_R3_TO_SERVER'
        EXPORTING
          HANDLE         = HDL
          FNAME          = P_FILE
          CHARACTER_MODE = 'X'
        TABLES
          TEXT           = FTP_ITEMDOC
        EXCEPTIONS
          TCPIP_ERROR    = 1
          COMMAND_ERROR  = 2
          DATA_ERROR     = 3
          OTHERS         = 4.
      IF SY-SUBRC <> 0.
        EXPLAIN_MSG SY-MSGID SY-MSGNO ' ' SY-MSGV1 SY-MSGV2 SY-MSGV3
                    SY-MSGV4 WA_ZMSGTA-MSE1.
        MOVE: 'B' TO WA_ZMSGTA-BLART,
              l_ersda  TO WA_ZMSGTA-REFNUMBER,
              SY-MSGTY TO WA_ZMSGTA-MSGTY,
              'MARA' TO WA_ZMSGTA-TBMA_VAL.
        ERROR_MSG_UPDATA WA_ZMSGTA.
        EXIT.
      ENDIF.
    *******DEVK909212**************************
    *******CLOSE FTP******************
      CHECK NOT HDL IS INITIAL.
      CALL FUNCTION 'FTP_DISCONNECT'
        EXPORTING
          HANDLE = HDL.
      CALL FUNCTION 'RFC_CONNECTION_CLOSE'
        EXPORTING
          DESTINATION = DEST
        EXCEPTIONS
          OTHERS      = 1.
      CLEAR HDL.
    ENDFORM.                    "ftp_work
    *******DEVK909212**************************
    FORM DISPLAY_ALV .
    *-- PREPARE ALV DATA
      PERFORM EVENTTAB_BUILD USING GT_EVENTS[].
      PERFORM COMMENT_BUILD  USING GT_LIST_TOP_OF_PAGE[].
    *-- LAYOUT SETTING
      PERFORM PREPARE_ALV_FIELD USING GT_FIELDCAT[].
    *-- ALV DISPLAY
      PERFORM CALL_REUSE_ALV_GRID_DISPLAY.
    ENDFORM.                    " display_alv
    *&      Form  eventtab_build
          text
         -->P_GT_EVENTS[]  text
    FORM EVENTTAB_BUILD USING PT_EVENTS TYPE SLIS_T_EVENT.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE = 0
        IMPORTING
          ET_EVENTS   = PT_EVENTS.
      READ TABLE PT_EVENTS WITH KEY NAME =  SLIS_EV_TOP_OF_PAGE
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        LS_EVENT-FORM = 'TOP_OF_PAGE'.
        MODIFY PT_EVENTS FROM LS_EVENT INDEX SY-TABIX.
      ENDIF.
    ENDFORM.                    " eventtab_build
    *&      Form  comment_build
          text
         -->P_GT_LIST_TOP_OF_PAGE[]  text
    FORM COMMENT_BUILD  USING PT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
      DATA: LS_LINE TYPE SLIS_LISTHEADER,
            L_DATE(30),
            l_v_BWKEY like T001W-BWKEY,  "Valuation area
            l_v_BUKRS like T001K-BUKRS.  "Firm/Company
    Listen&#57692;erschrift: Typ H
    CLEAR LS_LINE.
    LS_LINE-TYP  = 'H'.
    LS_LINE-KEY:  not used for this type
    select single BWKEY
       into l_v_BWKEY
       from t001w
       where WERKS IN s_WERKS.
    select single BUKRS
       into l_v_BUKRS
       from t001k
       where BWKEY = l_v_BWKEY.
    SELECT SINGLE butxt INTO LS_LINE-INFO
        FROM t001
       WHERE bukrs = l_v_BUKRS.
    APPEND LS_LINE TO PT_TOP_OF_PAGE.
    Kopfinfo: Typ S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = '&#25253;&#34920;&#21517;&#31216;&#65306;'.
      LS_LINE-INFO = SY-TITLE.
      APPEND LS_LINE TO PT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = '&#25171;&#21360;&#26085;&#26399;&#65306;'.
      WRITE SY-DATUM TO LS_LINE-INFO.
    ls_line-info = sy-datum.
      APPEND LS_LINE TO PT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = '&#25171;&#21360;&#26178;&#38291;&#65306;'.
      WRITE SY-UZEIT TO LS_LINE-INFO.
    ls_line-info = sy-uzeit.
      APPEND LS_LINE TO PT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = '&#20351;&#29992;&#32773;&#65306;'.
      LS_LINE-INFO = SY-UNAME.
      APPEND LS_LINE TO PT_TOP_OF_PAGE.
    ENDFORM.                    " comment_build
    *&      Form  prepare_alv_field
          text
         -->P_GT_FIELDCAT[]  text
    FORM PREPARE_ALV_FIELD USING P_FIELDCAT TYPE  SLIS_T_FIELDCAT_ALV.
      DATA: LS_LINE TYPE  SLIS_FIELDCAT_ALV.
    *-- DEFINE MARCO
      DEFINE APPEND_ALV_FIELD.
        CLEAR LS_LINE.
        LS_LINE-FIELDNAME = &1.
        LS_LINE-TABNAME = &2.
        LS_LINE-REPTEXT_DDIC = &3.
        LS_LINE-SELTEXT_L = &3.
        LS_LINE-SELTEXT_M = &3.
        LS_LINE-SELTEXT_S = &3.
        LS_LINE-QFIELDNAME = &4.
        LS_LINE-QTABNAME = &5.
        LS_LINE-NO_OUT    = &6.
        LS_LINE-NO_ZERO   = &7.
        LS_LINE-OUTPUTLEN = &8.
        APPEND LS_LINE TO P_FIELDCAT.
      END-OF-DEFINITION.
      APPEND_ALV_FIELD: 'MATNR' 'IT_OUT' '&#26009;&#21495;'
                      'O' 'X' ''.
      APPEND_ALV_FIELD: 'WERKS' 'IT_OUT' '&#24037;&#21378;'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'MTART' 'IT_OUT' 'MTyp'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'MEINS' 'IT_OUT' 'BUn'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'MATKL' 'IT_OUT' '&#29289;&#26009;&#32452;\&#20998;&#32676;&#30721;'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'MATKX' 'IT_OUT' '&#29289;&#26009;&#25551;&#36848;'
                        'O' 'X' ''.
      APPEND_ALV_FIELD: 'PSTAT' 'IT_OUT' '&#32500;&#25252;&#29366;&#24577;'
                        'O' 'X' ''.
      APPEND_ALV_FIELD: 'BRGEW' 'IT_OUT' '&#27611;&#37325;'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'NTGEW' 'IT_OUT' '&#20928;&#37325;'
                       'O' 'X' ''.
      APPEND_ALV_FIELD: 'GEWEI' 'IT_OUT' 'WUn'
                      'O' 'X' ''.
      APPEND_ALV_FIELD: 'FERTH' 'IT_OUT' '&#23545;&#22806;&#26426;&#31181;&#21517;'
                     'O' 'X' ''.
      APPEND_ALV_FIELD: 'KZUMW' 'IT_OUT' '&#39640;&#20851;&#31246;&#26631;&#35782;'
                   'O' 'X' ''.
      APPEND_ALV_FIELD: 'ERNAM' 'IT_OUT' '&#21019;&#24314;&#32773;'
                 'O' 'X' ''.
      APPEND_ALV_FIELD: 'ERSDA' 'IT_OUT' '&#21019;&#24314;&#26085;&#26399;'
              'O' 'X' ''.
    ENDFORM.                    " prepare_alv_field
    *&      Form  call_reuse_alv_grid_display
          text
    -->  p1        text
    <--  p2        text
    FORM CALL_REUSE_ALV_GRID_DISPLAY .
      gs_layout-f2code              = 'DISPLAY'.
      gs_print-no_print_listinfos   = 'X'.
      gs_layout-colwidth_optimize   = 'X'.       "&#21015;&#23485;&#24230;&#33258;&#21160;&#26681;&#25454;&#20869;&#23481;&#20248;&#21270;
    gs_layout-f2code              = '&ETA'.    "double check&#24377;&#20986;&#35814;&#32454;&#20449;&#24687;
      gs_layout-zebra               = 'X'.       "&#28165;&#21333;&#26465;&#32441;&#26174;&#31034;
      gs_layout-no_vline            = ''.        "&#26159;&#21542;&#26174;&#31034;&#21015;&#38388;&#38548;&#32447;
      gs_layout-box_fieldname       = ''.        "&#26159;&#21542;&#26174;&#31034;checkbox
      gs_layout-confirmation_prompt = ''.        "&#25512;&#20986;&#28165;&#21333;&#26159;&#21542;&#25552;&#31034;
      gs_layout-detail_titlebar     = '&#35814;&#32454;&#20449;&#24687;'."&#35814;&#32454;&#28165;&#21333;&#30340;&#26631;&#39064;
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM                = SY-CPROG
          I_BACKGROUND_ID                   = 'ALV_BACKGROUND'
         I_CALLBACK_PF_STATUS_SET          = 'ALV_PF_STATUS'
         I_CALLBACK_USER_COMMAND           = 'ALV_USER_COMMAND'
         I_CALLBACK_TOP_OF_PAGE            = GT_LIST_TOP_OF_PAGE[]
          IT_FIELDCAT                       = GT_FIELDCAT[]
          IT_EVENTS                         = GT_EVENTS[]
          I_STRUCTURE_NAME                  = 'IT_OUT'
          I_SAVE                            = 'A'
          IS_LAYOUT                         = GS_LAYOUT
          IS_PRINT                          = GS_PRINT
        TABLES
          T_OUTTAB                          = IT_OUT
        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.                    " call_reuse_alv_grid_display
    *&      Form  PREPARE_ALV_FIELD
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
    ENDFORM.                    "TOP_OF_PAGE

    Hi,
    Please check your field catalog and refer field names once again.
    Check spelling, or Check strucutre properly.
    There are something wrong in your catalog definition
    aRs.

  • ALV GRID Display function module giving Run time error

    Hello Experts,
    I have ALV report, In which I am using ALV grid dispaly FM to display the report.
    But when my out table which I am passing to FM is empty that time ALV grid display shows blank ALV report. but when out table is not empty that time  I am getting the Run time error, which shows message "Field symbol has not yet been assigned".
    Can any one please help me out in this.
    Thanks

    TYPES: BEGIN OF type_out,
            col00    TYPE   ytlet-rzzyyproduct,
            col01    TYPE   ytlet-kslvt,
            col02    TYPE   ytlet-kslvt,
            col03    TYPE   ytlet-kslvt,
            col04    TYPE   ytlet-kslvt,
            col05    TYPE   ytlet-kslvt,
            col06    TYPE   ytlet-kslvt,
            col07    TYPE   ytlet-kslvt,
            col08    TYPE   ytlet-kslvt,
            col09    TYPE   ytlet-kslvt,
            col10    TYPE   ytlet-kslvt,
            col11    TYPE   ytlet-kslvt,
            col12    TYPE   ytlet-kslvt,
            col13    TYPE   ytlet-kslvt,
            col14    TYPE   ytlet-kslvt,
            col15    TYPE   ytlet-kslvt,
            col16    TYPE   ytlet-kslvt,
            col17    TYPE   ytlet-kslvt,
            col18    TYPE   ytlet-kslvt,
            col19    TYPE   ytlet-kslvt,
            col20    TYPE   ytlet-kslvt,
            col21    TYPE   ytlet-kslvt,
            col22    TYPE   ytlet-kslvt,
            col23    TYPE   ytlet-kslvt,
            col24    TYPE   ytlet-kslvt,
            col25    TYPE   ytlet-kslvt,
            col26    TYPE   ytlet-kslvt,
            col27    TYPE   ytlet-kslvt,
            col28    TYPE   ytlet-kslvt,
            col29    TYPE   ytlet-kslvt,
            col30    TYPE   ytlet-kslvt,
            col31    TYPE   ytlet-kslvt,
            col32    TYPE   ytlet-kslvt,
            col33    TYPE   ytlet-kslvt,
            col34    TYPE   ytlet-kslvt,
            col35    TYPE   ytlet-kslvt,
            col36    TYPE   ytlet-kslvt,
            col37    TYPE   ytlet-kslvt,
            col38    TYPE   ytlet-kslvt,
            col39    TYPE   ytlet-kslvt,
            col40    TYPE   ytlet-kslvt,
            col41    TYPE   ytlet-kslvt,
            col42    TYPE   ytlet-kslvt,
            col43    TYPE   ytlet-kslvt,
            col44    TYPE   ytlet-kslvt,
          END OF type_out.
    DATA: t_fieldcat   TYPE slis_t_fieldcat_alv,   "Field catelog table
          w_fieldcat   TYPE slis_fieldcat_alv,     "Field catelog Work area
          w_layout     TYPE slis_layout_alv,       "Layout structure
          w_event      TYPE slis_alv_event,        "Event structure
          t_event      TYPE slis_t_event,          "Event structure
          t_sort       TYPE STANDARD TABLE OF slis_sortinfo_alv,
          t_callback_main_user_command  TYPE  slis_formname,
          v_selfield TYPE slis_selfield.
    FIELD-SYMBOLS: <ksl>.
    FORM DISPLAY_REPORT .
    *Prepare Field Catlog
      PERFORM  creat_field_catlog.
    *Set layout
      PERFORM  set_layout.
    *Get Event
      PERFORM get_event.
    *Display Report
      PERFORM display_alv_report.
    ENDFORM.                    " DISPLAY_REPORT
    FORM creat_field_catlog .
      PERFORM add_fields_catlog USING:
           '01'    'RZZYYPRODUCT'     'IT_OUT'    'MPMs' ' ',
           '02'    'KSLVT'     'IT_OUT'    'License Fee' ' ',
           '03'    'KSLVT'     'IT_OUT'    'Ad Sales' ' ',
           '04'    'KSLVT'     'IT_OUT'    'Promo Fees' ' ',
           '05'    'KSLVT'     'IT_OUT'    'Total Ad Sales/Promo' ' ',
           '06'    'KSLVT'     'IT_OUT'    'Other' ' ',
           '07'    'KSLVT'     'IT_OUT'    'Total' ' ',
           '08'    'KSLVT'     'IT_OUT'    'Dom Station' ' ',
           '09'    'KSLVT'     'IT_OUT'    'Basic Cable/Free VOD' ' ',
           '10'    'KSLVT'     'IT_OUT'    'License Fee' ' ',
           '11'    'KSLVT'     'IT_OUT'    'Ad Sales (incl Internet)' ' ',
           '12'    'KSLVT'     'IT_OUT'    'Promo Fees' ' ',
           '13'    'KSLVT'     'IT_OUT'    'Ad Sales & Promo Fees' ' ',
           '14'    'KSLVT'     'IT_OUT'    'Foreign' ' ',
           '15'    'KSLVT'     'IT_OUT'    'Pay TV' ' ',
           '16'    'KSLVT'     'IT_OUT'    'Other' ' ',
           '17'    'KSLVT'     'IT_OUT'    'Total' ' ',
           '18'    'KSLVT'     'IT_OUT'    'Home Entertainment' ' ',
           '19'    'KSLVT'     'IT_OUT'    'SPTI' ' ',
           '20'    'KSLVT'     'IT_OUT'    'All Other Divisions' ' ',
           '21'    'KSLVT'     'IT_OUT'    'Total' ' ',
           '22'    'KSLVT'     'IT_OUT'    'Total Revenue' ' ',
           '23'    'KSLVT'     'IT_OUT'  'PV Net Down & Producers Share' '',
           '24'    'KSLVT'     'IT_OUT'    'Total Net Revenue' ' ',
           '25'    'KSLVT'     'IT_OUT'    'Development Expense' ' ',
           '26'    'KSLVT'     'IT_OUT'    'SOP Deficits' ' ',
           '27'    'KSLVT'     'IT_OUT'    'Amortization' ' ',
           '28'    'KSLVT'     'IT_OUT'    'Other COS ' ' ',
           '29'    'KSLVT'     'IT_OUT'    'Total COS' ' ',
           '30'    'KSLVT'     'IT_OUT'    'Profit Before Releasing' ' ',
           '31'    'KSLVT'     'IT_OUT'    'Gross Profit %' ' ',
           '32'    'KSLVT'     'IT_OUT'    'SPT' ' ',
           '33'    'KSLVT'     'IT_OUT'    'Home Entertainment' ' ',
           '34'    'KSLVT'     'IT_OUT'    'SPTI' ' ',
           '35'    'KSLVT'     'IT_OUT'    'All Other Divisions' ' ',
           '36'    'KSLVT'     'IT_OUT'    'Other' ' ',
           '37'    'KSLVT'     'IT_OUT'    'Total' ' ',
           '38'    'KSLVT'     'IT_OUT'    'Gross Profit' ' ',
           '39'    'KSLVT'     'IT_OUT'    'SPT' ' ',
           '40'    'KSLVT'     'IT_OUT'    'Home Entertainment' ' ',
           '41'    'KSLVT'     'IT_OUT'    'SPTI' ' ',
           '42'    'KSLVT'     'IT_OUT'    'All Other Divisions' ' ',
           '43'    'KSLVT'     'IT_OUT'    'Other' ' ',
           '44'    'KSLVT'     'IT_OUT'    'Total' ' ',
           '45'    'KSLVT'     'IT_OUT'    'Net Margin' ' '.
    ENDFORM.                    " CREAT_FIELD_CATLOG
    *&      Form  ADD_FIELDS_CATLOG
          Filling of field Catlog
    FORM add_fields_catlog  USING    p_colpos
                                     p_fildname
                                     p_tabname
                                     p_fildtext
                                     p_ndisplay.
      w_fieldcat-row_pos       = '1'.
      w_fieldcat-col_pos       = p_colpos.
      w_fieldcat-fieldname     = p_fildname.
      w_fieldcat-tabname       = p_tabname.
      w_fieldcat-reptext_ddic  = p_fildtext.
      w_fieldcat-no_out        = p_ndisplay.
      APPEND w_fieldcat TO t_fieldcat.
      CLEAR: w_fieldcat.
    ENDFORM.                    " ADD_FIELDS_CATLOG
    *&      Form  SET_LAYOUT
          Set Layout
    FORM set_layout .
      w_layout-colwidth_optimize = 'X'.
    ENDFORM.                    " SET_LAYOUT
    *&      Form  GET_EVENT
          text
    FORM get_event .
      w_event-name = 'TOP-OF-PAGE'.
      w_event-form = 'F_TOP-OF_PAGE'.
      APPEND w_event TO t_event.
    ENDFORM.                    " GET_EVENT
    *&      Form  TOP-OF-PAGE
          Top of Page
    FORM top-of-page.
      DATA : t_list_commentry   TYPE slis_t_listheader,
               w_header           TYPE slis_listheader,
               lv_text(90)        TYPE c,
               l_text(90)         TYPE c,
               lv_rundate(10)     TYPE c,
               lv_runtime(10)     TYPE c.
      CONSTANTS: c_space(2) TYPE c VALUE '  ',
                 c_space2(6) TYPE c VALUE '      '.
      w_header-typ  = 'S'.
      w_header-key  = 'Program:'.
      w_header-info = sy-repid.
      APPEND w_header TO t_list_commentry.
      WRITE: sy-datum TO lv_rundate MM/DD/YYYY.
      WRITE: sy-uzeit TO lv_runtime USING EDIT MASK '__:__:__'.
    CLEAR w_header.
    w_header-typ  = 'S'.
    w_header-key  = text-021.
    w_header-info = lv_rundate.
    APPEND w_header TO t_list_commentry.
      CLEAR: w_header.
      w_header-typ  = 'S'.
      w_header-key  = 'User Id'.
      w_header-info = sy-uname.
      APPEND w_header TO t_list_commentry.
      CLEAR: w_header.
      w_header-typ  = 'S'.
      w_header-key  = 'Run Date'.
      w_header-info = lv_rundate.
      APPEND w_header TO t_list_commentry.
      CLEAR: w_header.
      w_header-typ  = 'S'.
      w_header-key  = 'Run Time'.
      w_header-info = lv_runtime.
      APPEND w_header TO t_list_commentry.
      CLEAR: w_header.
      w_header-typ  = 'H'.
      w_header-key  = 'order'.
      w_header-info = 'MCR Report'.
      APPEND w_header TO t_list_commentry.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = t_list_commentry.
    ENDFORM.                    "TOP-OF-PAGE
    FORM display_alv_report .
      CONSTANTS : gc_save TYPE c VALUE 'A'. "Save Layout
    t_callback_main_user_command  = c_user_command.
      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           = t_callback_main_user_command
         i_callback_top_of_page            = '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                         = w_layout
         it_fieldcat                       = t_fieldcat
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
         i_save                            = gc_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_out
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
       ENDIF.

  • Herarchial alv gives run time error

    Hello experts
    this is chitta ranjan mahato new to sap abap  try to write a herarchial alv but it gives run time error my code is as follows.
    thnaks in advance
    REPORT  ZCR_TEST_004.
    TYPE-POOLS: SLIS.
    TABLES: VBAK,VBAP.
    TYPES : BEGIN OF TY_VBAK,
          VBELN TYPE VBAK-VBELN,
          ERDAT TYPE VBAK-ERDAT,
          ERZET TYPE VBAK-ERZET,
          ERNAM TYPE VBAK-ERNAM,
          ANGDT TYPE VBAK-ANGDT,
          EXPAND TYPE XFELD,
          END OF TY_VBAK.
    TYPES : BEGIN OF TY_VBAP,
           VBELN TYPE VBAP-VBELN,
           POSNR TYPE VBAP-POSNR,
           MATNR TYPE VBAP-MATNR,
           MATWA TYPE VBAP-MATWA,
           END OF TY_VBAP.
    DATA : IT_VBAK TYPE TABLE OF TY_VBAK,
           WA_VBAK TYPE TY_VBAK.
    DATA : IT_VBAP TYPE TABLE OF TY_VBAP,
           WA_VBAP TYPE TY_VBAP.
    DATA : IT_LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
           WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA : WA_KEYINFO TYPE SLIS_KEYINFO_ALV.
    DATA : I_PROGRAM TYPE SY-REPID.
    SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
    PARAMETERS: P_VBELN TYPE VBAK-VBELN.
    SELECTION-SCREEN: SKIP.
    PARAMETERS:P_EXPAND AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK B1.
    start-of-selection.
    PERFORM SELECT_DATA.
    PERFORM BUILD_LAYOUT.
    PERFORM BULID_FIELDCATLOG.
    PERFORM SHOW_DATA.
    FORM SELECT_DATA .
             SELECT VBELN
                    ERDAT
                    ERZET
                    ERNAM
                    ANGDT
                    INTO TABLE IT_VBAK FROM VBAK WHERE VBELN =  P_VBELN .
                  IF NOT IT_VBAK IS INITIAL.
                  SELECT VBELN
                         POSNR
                         MATNR
                         MATWA
                         FROM VBAP
                         INTO CORRESPONDING FIELDS OF TABLE IT_VBAP
                         FOR ALL ENTRIES IN IT_VBAK
                         WHERE VBELN = IT_VBAK-VBELN.
                  ENDIF.
    ENDFORM.                    " SELECT_DATA
    Edited by: chitto123 on Oct 11, 2010 7:11 PM

    FORM BUILD_LAYOUT .
    IF P_EXPAND = 'X'.
    IT_LAYOUT-expand_fieldname = 'X'.
    ENDIF.
    WA_KEYINFO-HEADER01 = 'VBAK'.
    WA_KEYINFO-ITEM01 = 'VBAP'.
    ENDFORM.                    " BUILD_LAYOUT
    FORM BULID_FIELDCATLOG .
    WA_FIELDCAT-col_pos  = '1'.
    WA_FIELDCAT-fieldname = 'VBELN'.
    WA_FIELDCAT-tabname   = 'VBAK'.
    WA_FIELDCAT-seltext_m = 'SALES DOCUMENT'.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-col_pos  = '2'.
    WA_FIELDCAT-fieldname = 'ERDAT'.
    WA_FIELDCAT-tabname   = 'VBAK'.
    WA_FIELDCAT-seltext_m = 'RECORD CREATION DATE'.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-col_pos  = '3'.
    WA_FIELDCAT-fieldname = 'ERZET'.
    WA_FIELDCAT-tabname   = 'VBAK'.
    WA_FIELDCAT-seltext_m = 'ENTRY TIME'.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-col_pos  = '4'.
    WA_FIELDCAT-fieldname = 'ERNAM'.
    WA_FIELDCAT-tabname   = 'VBAK'.
    WA_FIELDCAT-seltext_m = 'PERSON CREATED'.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-col_pos  = '5'.
    WA_FIELDCAT-fieldname = 'ANGDT'.
    WA_FIELDCAT-tabname   = 'VBAK'.
    WA_FIELDCAT-seltext_m = 'QUOTATION FORM'.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-col_pos  = '6'.
    WA_FIELDCAT-fieldname = 'VBELN'.
    WA_FIELDCAT-tabname   = 'VBAP'.
    WA_FIELDCAT-seltext_m = 'SALES DOCUMENT'.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-col_pos  = '7'.
    WA_FIELDCAT-fieldname = 'POSNR'.
    WA_FIELDCAT-tabname   = 'VBAP'.
    WA_FIELDCAT-seltext_m = 'SALES DOCUMENT ITEM'.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-col_pos  = '8'.
    WA_FIELDCAT-fieldname = 'MATNR'.
    WA_FIELDCAT-tabname   = 'VBAP'.
    WA_FIELDCAT-seltext_m = 'MATERIAL NO'.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-col_pos  = '9'.
    WA_FIELDCAT-fieldname = 'MATWA'.
    WA_FIELDCAT-tabname   = 'VBAP'.
    WA_FIELDCAT-seltext_m = 'MATERIAL ENTERED'.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    ENDFORM.                    " BULID_FIELDCATLOG
    FORM SHOW_DATA .
    CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
      EXPORTING
    *   I_INTERFACE_CHECK              = ' '
       I_CALLBACK_PROGRAM             = I_PROGRAM
    *   I_CALLBACK_PF_STATUS_SET       = ' '
    *   I_CALLBACK_USER_COMMAND        = ' '
       IS_LAYOUT                      = IT_LAYOUT
       IT_FIELDCAT                    = IT_FIELDCAT
    *   IT_EXCLUDING                   =
    *   IT_SPECIAL_GROUPS              =
    *   IT_SORT                        =
    *   IT_FILTER                      =
    *   IS_SEL_HIDE                    =
    *   I_SCREEN_START_COLUMN          = 0
    *   I_SCREEN_START_LINE            = 0
    *   I_SCREEN_END_COLUMN            = 0
    *   I_SCREEN_END_LINE              = 0
    *   I_DEFAULT                      = 'X'
    *   I_SAVE                         = ' '
    *   IS_VARIANT                     =
    *   IT_EVENTS                      =
    *   IT_EVENT_EXIT                  =
        I_TABNAME_HEADER               = 'VBAK'
        I_TABNAME_ITEM                 = 'VBAP'
    *   I_STRUCTURE_NAME_HEADER        =
    *   I_STRUCTURE_NAME_ITEM          =
        IS_KEYINFO                     = WA_KEYINFO
    *   IS_PRINT                       =
    *   IS_REPREP_ID                   =
    *   I_BYPASSING_BUFFER             =
    *   I_BUFFER_ACTIVE                =
    * IMPORTING
    *   E_EXIT_CAUSED_BY_CALLER        =
    *   ES_EXIT_CAUSED_BY_USER         =
      TABLES
        T_OUTTAB_HEADER                =  IT_VBAK
        T_OUTTAB_ITEM                  =  IT_VBAP
    * 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.                    " SHOW_DATA

  • Run-Time error '-2147417848 (80010108) in Crystal Report on SAP BW Query

    I have installed Crystal Report 2008 SP1 and the Business Objects Integration kit for 3.1 but when I try to create a report on top of an SAP BW query using the toolbar, after entering the logon parameters for SAP BW, I get a error message :
    Run-Time error '-2147417848 (80010108)
    Automation error
    The object invoked has disconnected from its clients.
    CR exits after this error message.
    I have tried uninstalling the Kit and CR, cleaning up the registry, and installing it again and still got this error message - It is the same for all my SAP BWs.
    Anyone ever had this?
    Thank you,
    R.

    Is this still an issue?

  • Run time error while executing Project Info system Reports

    Hi,
    I would like to inform while running project infosystems reports (CN41/41N / cns41 etc), it is taking long time & most of the time run time errors are coming. I observed due to more objects in projects, run time error is coming. Request you to suggest to fix the issue.
    Thank you for your cooperation.
    Regards,
    Rakesh Pradhan

    Hi,
    I would like to inform while running project infosystems reports (CN41/41N / cns41 etc), it is taking long time & most of the time run time errors are coming. I observed due to more objects in projects, run time error is coming. Request you to suggest to fix the issue.
    Thank you for your cooperation.
    Regards,
    Rakesh Pradhan

  • Run time Error while executing Project Info system Reports (CN41/CN41N)

    Hi,
    I would like to inform while running project infosystems reports (CN41/41N / cns41 etc), it is taking long time & most of the time run time errors are coming. I observed due to more objects in projects, run time error is coming. Request you to suggest to fix the issue.
    Thank you for your cooperation.
    Regards,
    Rakesh Pradhan

    Hi,
    I would like to inform while running project infosystems reports (CN41/41N / cns41 etc), it is taking long time & most of the time run time errors are coming. I observed due to more objects in projects, run time error is coming. Request you to suggest to fix the issue.
    Thank you for your cooperation.
    Regards,
    Rakesh Pradhan

Maybe you are looking for

  • Error in CLOB datatype for transfering data from Excel to Oracle database

    Am using excel sheet as source and Oracle as target Database. For all tables the operations works smoothly except for tables containing CLOB datatype. Initially i have used SQL Developer to transfer some data into excell sheets, now i want to transfe

  • Customer Item Open Interface

    Does anyone know what the Lock_flag is for the customer item open interface and what it should be set to when creating customer items? It is a required field but it is not explained in the 11.5.9 documentation.

  • How to Print 25page standard text in Adobe form

    Hi Form Gurus. My requirement is to print a 25 pages form of standard text. Can any one please help me. Thanks in advance. Regards ASAHA1 Moderator message: please work yourself first on your requirement, post specific problems later if necessary, al

  • Can You Home Sharing Between Two iTunes Accounts

    Hi, My Dad has a vast amount of music on his itunes account and my old iPod used to be linked up to his account. But recently I got a iPhone 4 and I created my own iTunes account. I would like to be able to listen to the music on my Dad's account as

  • How to avoid repeatition of axis labels in Graphs in WebI 4.0??

    Hello All, I am working with graphs in WebI 4.0. In category axis, the labels are being repeated thrice ,twice and so on based on the filter which I have placed according to my requirement.. I need them to be displayed only once. I have used axis lab