URGENT: REGARDING PRINTOUT OF REPORT

hi,
i had made report who's width is 310 and i had taken printout but is not displaying all fields when i take printout . can any body tell me d solution of dis problem as i dont wanna reduce d width of it.
CAN ANYBODY TELL ME D FORMAT FOR 310 LINE WIDTH FOR ALL FIELDS TO BE DISPLYED WHEN PRINTOUT IS TAKEN.
plz reply as fast as possible n he or she will be rewarded

Hi Yaki,
    If your printer is not displaying the entire 310 characters, then solution can be to break down your report into 2 line format instead of using 1 line.
   Many SAP standard reports come out that way you can check program SDV03V02 its output is in 2 lines.
   Or other option can be to download the report in Excel Format using List-Save
and then take a printout of it..
   Reward if helpful.
Best Regards,
Imran

Similar Messages

  • Urgent: Regarding Stock Ageing report

    hi,
    i want to have stock ageing report in which i want to have the deatils :-
    This is the material which is present in the palnt from dis <b>date</b> and further details of it consumption. plzz tell the <b>tcode</b> for it.
    plzz help me out as it is most urgent to me..
    regards,
    ric.s
    Message was edited by:
            ric .s

    Hi
    The report MC.9 shows Last movement date/Last receipt date / Last issue date.
    In period to analyze give appropriate date range
    Or
    check  MSEG & MARD table to get details about material documents with date
    Vishal...

  • Urgent: regarding sales invoice report

    hi,
    i am making a report in which i have to dislplay for sales invoice ,d format of dis report is:-
    sales order,date,customer,material,invoice no,invioce date,invoice qty,amount.
    i wat to know which tables to be used and if possible which fields should be taken,plzz help me out as it s erally urgent to me.
    s help will be definately rewarded.

    Tables to be considered: VBAK, VBAP, VBFA, VBRK, VBRP.
    And dont keep the message "help will be definately rewarded " in your threads as we know how good you are at judging the replies and how you do appreciate the replies from your earlier threads.
    This might be a bit harsh, but expect tips and advices here rather than the whole solutions to problems in SDN.
    Kind Regards
    Eswar

  • Urgent : Regarding Purchase Requsition Report

    Hi,
    I am making  a report on Purchase Requisition in which i have to display that these are the persons who have released this requisition (i.e. If General Manager has  released that should be displayed,if Director had  released it should be displayed and if Managing Director had released it should display it and also the dates on which they released..)
    In my report i am not allowed to displayed that these are released by MMCONS OR SDCONS BUT it should display General Manager,Director  or Managing Director.. at these particular dates...
    If anybody help me out in this report he or she will be definately rewarded with points as it is most urgent to me ,,so plz reply as fast as possible.
    Regards,
    Ric.s
    Message was edited by:
            ric .s

    Hai ric,
              i have done a pr tracking report. it will show the persons name, plant, and department, etc .i have added that program here. if u dnt mine u can take
    with regards,
    safiq
    TYPE-POOLS slis.
    TABLES: t024, ekko, lfa1, ekpo, ekkn, cdhdr, cdpos, t16fs,
    eban, eket, ekbe, t024d.
    DATA: repid LIKE sy-repid.
    DATA: releasedat LIKE cdhdr-udate.
    CONSTANTS: c_to(4) TYPE c VALUE ' to ',
               c_vgabe_1 TYPE c VALUE '1',
               c_vgabe_2 TYPE c VALUE '2',
               c_object_banf LIKE cdpos-objectclas VALUE 'BANF',
               c_fname_frgzu LIKE cdpos-fname VALUE 'FRGZU',
               c_tcode like cdhdr-tcode value 'ME54',
    c_tcode1 like cdhdr-tcode value 'ME55',
             A1=add one more constant and value for ME55.
               c_tcode2 like cdhdr-tcode value 'ME28',
    CN 2 >> Addition
    CN 2 Start
               c_tcode3 like cdhdr-tcode value 'ME54N',
               c_tcode4 like cdhdr-tcode value 'ME29N',
    CN 2 End
               c_object_eink LIKE cdpos-objectclas VALUE 'EINKBELEG',
               c_fname_frgke LIKE cdpos-fname VALUE 'FRGKE'.
    DATA: list_layout TYPE slis_layout_alv,            "Layout
          ist_fieldcat TYPE STANDARD TABLE OF          "Field Catalog
              slis_fieldcat_alv,
          tmp_fieldcat TYPE slis_fieldcat_alv,         "Temp. Field Cat.
          gt_xevents TYPE slis_t_event,                "Events Table
          xs_event  TYPE slis_alv_event.               "Event Line
    RANGES: tcode for cdhdr-tcode.
    A1=Add range to store ME54 & ME55
    *&      To store Summary report information - added 30/5
    data: begin of i_summary occurs 100,
            PlantName1 LIKE T001W-Name1,              "Plant Name
            plant1 LIKE ekpo-werks,              "Plant
          Dept LIKE t024d-dsnam,               "MRP Contrl Code
          PRafIR type i,
          PRbfIR type i,
          Grandtotal type i,
          PerPRafIR type p decimals 2,
          PerPRbfIR type p decimals 2,
    end of i_summary.
    STRUCTURES
    DATA: BEGIN OF t_ekko OCCURS 0.
            INCLUDE STRUCTURE ekko.
    DATA: END OF t_ekko.
    DATA: BEGIN OF st_itab,
             pur_grp(22) TYPE c,
           vendor_name LIKE lfa1-name1,
           po_num LIKE ekko-ebeln,
           item_num LIKE ekpo-ebelp,
           mat_num LIKE ekpo-matnr,
           description LIKE ekpo-txz01,
           qty_order LIKE ekpo-menge,
           unit_price LIKE ekpo-netpr,
           total_price LIKE ekpo-netwr,
           plant LIKE ekpo-werks,
           cost_center LIKE ekkn-kostl,
           internal_order LIKE ekkn-aufnr,
           gl_code LIKE ekkn-sakto,
           dept LIKE t024d-dsnam,
           po_release_dat LIKE cdhdr-udate,
           delivery_dat LIKE eket-eindt,
    *       gr_dat like ekbe-budat,        "MICH01- 24/04/03
           gr_dat LIKE ekbe-bldat,        "MICH01+ 24/04/03
           on_time_delivery TYPE c,
           gr_qty LIKE ekbe-menge,
           gr_doc_num LIKE ekbe-belnr,
           ir_posting_date LIKE ekbe-budat,    "??? change to budat
           ir_doc_num LIKE ekbe-belnr,
    END OF st_itab.
    DATA: BEGIN OF st_itab1,
            aedat LIKE ekko-aedat,   "PO creation date
            lifnr LIKE ekko-lifnr,
            ebeln LIKE ekko-ebeln,  "PO number
            ekgrp LIKE ekko-ekgrp,
            matnr LIKE ekpo-matnr,
            banfn LIKE ekpo-banfn,  "PR number
            werks LIKE ekpo-werks,  "PO item number
            ebelp LIKE ekpo-ebelp,
            bnfpo like eban-bnfpo,  "PR item number
            txz01 LIKE ekpo-txz01,
            menge LIKE ekpo-menge,
            netpr LIKE ekpo-netpr,
            netwr LIKE ekpo-netwr,
            kostl LIKE ekkn-kostl,
            aufnr LIKE ekkn-aufnr,
            sakto LIKE ekkn-sakto,
            prctr LIKE ekkn-prctr,
            anln1 LIKE ekkn-anln1,
            pstyp LIKE eban-pstyp,
            badat LIKE eban-badat,
            afnam LIKE eban-afnam,
            dispo LIKE eban-dispo,
           vgabe LIKE ekbe-vgabe,
           belnr LIKE ekbe-belnr,
           bldat LIKE ekbe-bldat,  "GR Creation date
           budat LIKE ekbe-budat,  "IR Creation date
           gr_qty LIKE ekbe-menge,
            eindt LIKE eket-eindt,
           udate LIKE cdhdr-udate,
           beln1 LIKE ekbe-belnr,     "IR Doc. No.
            dsnam LIKE t024d-dsnam,    "MRP Controller Desc
            pur_grp LIKE t024-eknam,   "Desc. of Purchasing Gp
            name1 LIKE lfa1-name1,     "Vendor Code
            on_time_delivery TYPE c,   "On-time-delivery
            flag type c,               "Flag
    Added by @, 21.05.2007 >>
            PRAFIR TYPE i,
            PRBFIR TYPE i,
            TOTPR  TYPE i,
    Added by @, 21.05.2007 <<
          END OF st_itab1.
    GR History Movements
    DATA: BEGIN OF st_history,
            bldat LIKE ekbe-bldat,
            menge LIKE ekbe-menge,
            belnr LIKE ekbe-belnr,
          END OF st_history.
    PO Release Data
    DATA: BEGIN OF st_change,
            changenr LIKE cdpos-changenr,
            value_new LIKE cdpos-value_new,
          END OF st_change.
    data: begin of st_change1,
            udate like cdhdr-udate,
          end of st_change1.
    INTERNAL TABLES
    DATA: itab LIKE TABLE OF st_itab,
          ist_history LIKE TABLE OF st_history,
          wa_history LIKE st_history,
          ist_change LIKE TABLE OF st_change,
          wa_change LIKE st_change,
          ist_change1 like table of st_change1,
          wa_change1 like st_change1.
    data: begin of ist_itab occurs 0.
            include structure st_itab1.
    DATA : vgabe LIKE ekbe-vgabe,
          belnr LIKE ekbe-belnr,
          bldat LIKE ekbe-bldat,  "GR Creation date
          budat LIKE ekbe-budat,  "IR Creation date
          beln1 LIKE ekbe-belnr,     "IR Doc. No.
          gr_qty like ekbe-menge,    "GR Qty
          gr_unres LIKE ekbe-menge,  "GR to unrestricted
          gr_inspec_stk like ekbe-menge,  "GR to inspection stock
          gr_blk_stk like ekbe-menge,  "GR to blocked stock
          gr_rejected_stk like ekbe-menge,  "GR to rejected stock
          relcode1 like t16fs-FRGC1,  "Release code 1
          reldate1 like cdhdr-udate,  "Release date 1
          relcode2 like t16fs-FRGC1,  "Release code 2
          reldate2 like cdhdr-udate,  "Release date 2
          relcode3 like t16fs-FRGC1,  "Release code 3
          reldate3 like cdhdr-udate,  "Release date 3
          relcode4 like t16fs-FRGC1,  "Release code 4
          reldate4 like cdhdr-udate,  "Release date 4
          relcode5 like t16fs-FRGC1,  "Release code 5
          reldate5 like cdhdr-udate,  "Release date 5
          po_rel_date like cdhdr-udate.  "PO release date
    data: end of ist_itab.
    data: wa_itab LIKE ist_itab.
    Added on 21.05.2007 >>
    data: s_po Type C.
    data: s_pr Type C.
    SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK screen1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS:
      so_aedat FOR ekko-aedat no-display,      "Purchase Order Creation Date
      so_udate FOR cdhdr-udate no-display,     "PO Release Date
      so_eindt FOR eket-eindt no-display,      "Delivery Date
      so_ekgrp FOR t024-ekgrp no-display,      "Purchasing Group
      so_lifnr FOR ekko-lifnr no-display,      "Vendor Code
      so_ebeln FOR ekko-ebeln no-display,      "PO Number
      so_matnr FOR ekpo-matnr no-display,      "Material No.
      so_banfn FOR ekpo-banfn no-display,      "PR No.
      so_dispo for eban-dispo no-display,      "MRP controller
      so_pstyp FOR ekpo-pstyp no-display,      "Item Category
      so_badat FOR eban-badat OBLIGATORY,                "PR Creation Date
      so_afnam FOR eban-afnam no-display,      "PR Requester Name
      so_werks FOR ekpo-werks OBLIGATORY,      "Plant
      so_kostl FOR ekkn-kostl no-display,      "Cost Center
      so_aufnr FOR ekkn-aufnr no-display,      "Internal Order
      so_sakto FOR ekkn-sakto no-display,      "G/L Account
      so_prctr FOR ekkn-prctr no-display,      "Profit Center
      so_anln1 FOR ekkn-anln1 no-display,      "Asset Number
      so_belnr FOR ekbe-belnr no-display,      "GR Doc. No.
      so_bldat FOR ekbe-bldat no-display,      "GR Creation Date
      so_budat FOR ekbe-budat no-display,      "IR Posting Date
      so_beln1 FOR ekbe-belnr no-display,      "IR Doc. No
      so_frgkz for eban-frgkz no-display.  "Release status of PR
    SELECTION-SCREEN SKIP 1.
    PARAMETERS:
      p_pr_rel(1) TYPE C no-display,          "PR Release Indicator
      p_on_del(1) TYPE C no-display.          "On-time-delivery
    SELECTION-SCREEN END OF BLOCK screen1.
    Selection Screen - add 30/5
    selection-screen begin of block screen2 with frame title text-002.
    selection-screen begin of line.
    parameters: r_sum radiobutton group grp1.
    selection-screen comment 2(20) text-003 for field r_sum.
    selection-screen end of line.
    selection-screen begin of line.
    parameters: r_det radiobutton group grp1 default 'X'.
    selection-screen comment  2(20) text-004 for field r_det.
    selection-screen end of line.
    selection-screen end of block screen2.
          MAIN                                                          *
    *s_pr = 'X'.
    Added on 21.05.2007 <<
    *repid = sy-repid.
    Assign release indicator
    *if p_pr_rel = 'Y'.
    so_frgkz-low = '2'.
    so_frgkz-option = 'EQ'.
    so_frgkz-sign = 'I'.
    append so_frgkz.
    clear so_frgkz.
    *elseif p_pr_rel = 'N'.
    so_frgkz-low = 'X'.
    so_frgkz-option = 'EQ'.
    so_frgkz-sign = 'I'.
    append so_frgkz.
    clear so_frgkz.
    *endif.
    *tcode-low    = 'ME54'.
    *tcode-option = 'EQ'.
    *tcode-sign   = 'I'.
    *append tcode.
    CN 2 >> Addition
    CN 2 Start
    *tcode-low    = 'ME54N'.
    *tcode-option = 'EQ'.
    *tcode-sign   = 'I'.
    *append tcode.
    CN 2 End
    *tcode-low    = 'ME55'.
    *tcode-option = 'EQ'.
    *tcode-sign   = 'I'.
    *append tcode.
    *PERFORM:
    get_details,
    get_data,
    get_gr_ir_data,
    get_other_data,
    Setup events --> Top-of-page
    setup_events,
    Build up ALV field catalogue
    setfieldcat,
    Output the data
    output_alv_report TABLES ist_fieldcat.
    Perform print_data.
    top-of-page.
    perform print_heading.
    END-OF-PAGE.
    WRITE :/ SY-ULINE(126).
          FORM Assign_Values                                            *
    FORM assign_values.
    ENDFORM.
          FORM setFieldCat                                              *
    FORM setfieldcat.
      PERFORM:
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T024D'
                                           'DSNAM'
                                           'IST_ITAB'
                                           'DSNAM'
                                           'Dept'
                                           'X'
        add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'WERKS'
                                           'IST_ITAB'
                                           'WERKS'
                                           'Plant'
                                           'X'
        add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EBAN'
                                           'AFNAM'
                                           'IST_ITAB'
                                           'AFNAM'
                                           'PR Requestor Name'
                                           'X'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  ''
                                           'IST_ITAB'
                                           'PRBFIR'
                                           'PRbfIR'
                                           '6'
        add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  ''
                                           'IST_ITAB'
                                           'PRAFIR'
                                           'PRafIR'
                                           '6'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  ''
                                           'IST_ITAB'
                                           'TOTPR'
                                           'TotalPR'
                                           '7'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EBAN'
                                           'BADAT'
                                           'IST_ITAB'
                                           'BADAT'
                                           'PR Creation Date'
                                           'X'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EBAN'
                                           'BANFN'
                                           'IST_ITAB'
                                           'BANFN'
                                           'PR No'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKO'
                                           'EBELN'
                                           'IST_ITAB'
                                           'EBELN'
                                           'PO Number'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKO'
                                           'EBELP'
                                           'IST_ITAB'
                                           'EBELP'
                                           'PO Item'
                                           'X'
          add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKO'
                                           'AEDAT'
                                           'IST_ITAB'
                                           'AEDAT'
                                           'PO Creation Date'
                                           'X'
          add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'BLDAT'
                                           'IST_ITAB'
                                           'BLDAT'
                                           'GR Date'
                                           'X'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'BUDAT'
                                           'IST_ITAB'
                                           'BUDAT'
                                           'IR Document Date'
                                           'X'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'TXZ01'
                                           'IST_ITAB'
                                           'TXZ01'
                                           'Description'
                                           'X'
           add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'MENGE'
                                           'IST_ITAB'
                                           'MENGE'
                                           'Qty Ordered'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'NETPR'
                                           'IST_ITAB'
                                           'NETPR'
                                           'Unit Price'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'NETWR'
                                           'IST_ITAB'
                                           'NETWR'
                                           'Total Price'
                                           'X'
        add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T024'
                                           'EKNAM'
                                           'IST_ITAB'
                                           'PUR_GRP'
                                           'PO PurGrp'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'LFA1'
                                           'NAME1'
                                           'IST_ITAB'
                                           'NAME1'
                                           'Vendor Name'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'MATNR'
                                           'IST_ITAB'
                                           'MATNR'
                                           'Material Number'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKN'
                                           'KOSTL'
                                           'IST_ITAB'
                                           'KOSTL'
                                           'Cost Center'
                                           'X'
        add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKN'
                                           'AUFNR'
                                           'IST_ITAB'
                                           'AUFNR'
                                           'Internal Order'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKN'
                                           'SAKTO'
                                           'IST_ITAB'
                                           'SAKTO'
                                           'GL Code'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKN'
                                           'ANLN1'
                                           'IST_ITAB'
                                           'ANLN1'
                                           'Asset'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKN'
                                           'PRCTR'
                                           'IST_ITAB'
                                           'PRCTR'
                                           'Profit Centre'
                                           'X'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T16FS'
                                           'FRGC1'
                                           'IST_ITAB'
                                           'RELCODE1'
                                           'PR RelCode1'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'RELDATE1'
                                           'PR RelDate1'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T16FS'
                                           'FRGC2'
                                           'IST_ITAB'
                                           'RELCODE2'
                                           'PR RelCode2'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'RELDATE2'
                                           'PR RelDate2'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T16FS'
                                           'FRGC3'
                                           'IST_ITAB'
                                           'RELCODE3'
                                           'PR RelCode3'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'RELDATE3'
                                           'PR RelDate3'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T16FS'
                                           'FRGC4'
                                           'IST_ITAB'
                                           'RELCODE4'
                                           'PR RelCode4'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'RELDATE4'
                                           'PR RelDate4'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T16FS'
                                           'FRGC5'
                                           'IST_ITAB'
                                           'RELCODE5'
                                           'PR RelCode5'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'RELDATE5'
                                           'PR RelDate5'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'PO_REL_DATE'
                                           'PO Release Date'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKET'
                                           'EINDT'
                                           'IST_ITAB'
                                           'EINDT'
                                           'PO Dlv Date'
                                           'X'
    add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  ''
                                           'IST_ITAB'
                                           'ON_TIME_DELIVERY'
                                           'On Time Delivery'
                                           '16'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'MENGE'
                                           'IST_ITAB'
                                           'GR_QTY'
                                           'GR Qty'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'BELNR'
                                           'IST_ITAB'
                                           'BELNR'
                                           'GR Doc Num'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'MENGE'
                                           'IST_ITAB'
                                           'GR_UNRES'
                                           'GR to Unrestricted'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'MENGE'
                                           'IST_ITAB'
                                           'GR_INSPEC_STK'
                                           'GR to Inspection Stock'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'MENGE'
                                           'IST_ITAB'
                                           'GR_BLK_STK'
                                           'GR to Blocked Stock'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'MENGE'
                                           'IST_ITAB'
                                           'GR_REJECTED_STK'
                                           'GR to Rejected Stock'
                                           'X'
    Added by @, 21.05.2007 >>
    add_field_to_fieldcat TABLES ist_fieldcat
                                   USING  'EKBE'
                                          'BELNR'
                                          'IST_ITAB'
                                          'BELN1'
                                          'IR Doc Num'
                                          'X'
    add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'BELNR'
                                           'IST_ITAB'
                                           'BELN1'
                                           'IR Doc Num'
                                           'X'
    Added by @, 21.05.2007 <<
    ENDFORM.
          FORM XEVENTS                                                  *
    FORM setup_events.
      CLEAR xs_event.
      xs_event-name = slis_ev_end_of_page.
      xs_event-form = 'XEND_OF_PAGE'.
      APPEND xs_event TO gt_xevents.
      CLEAR xs_event.
      xs_event-name = slis_ev_top_of_page.
      xs_event-form = 'XTOP_OF_PAGE'.
      APPEND xs_event TO gt_xevents.
      CLEAR xs_event.
      xs_event-name = slis_ev_top_of_list.
      xs_event-form = 'XTOP_OF_LIST'.
      APPEND xs_event TO gt_xevents.
      CLEAR xs_event.
      xs_event-name = slis_ev_end_of_list.
      xs_event-form = 'XEND_OF_LIST'.
      APPEND xs_event TO gt_xevents.
    ENDFORM.
          FORM XTOP_OF_PAGE                                             *
    FORM xtop_of_page.
      Write at 117 sy-pagno right-justified.
      WRITE: / 'PR Tracking Report (against Invoice Date)'.
      WRITE:/(42) sy-uline.
    PO Creation Date
      IF NOT so_aedat-low IS INITIAL AND
             so_aedat-high IS INITIAL.
        WRITE:/ 'PO Creation Date:', so_aedat-low.
      ELSEIF NOT so_aedat-low IS INITIAL AND
             NOT so_aedat-high IS INITIAL.
        WRITE:/ 'PO Creation Date:', so_aedat-low,  c_to, so_aedat-high.
      ENDIF.
    PR Creation Date
      IF NOT so_badat-low IS INITIAL AND
             so_badat-high IS INITIAL.
        WRITE:/ 'PR Creation Date: ', so_badat-low.
      ELSEIF NOT so_badat-low IS INITIAL AND
             NOT so_badat-high IS INITIAL.
        WRITE:/ 'PR Creation Date: ', so_badat-low , c_to, so_badat-high.
      ENDIF.
    Plant
      IF NOT so_werks-low IS INITIAL AND
             so_werks-high IS INITIAL.
        WRITE:/ 'Plant: ', so_werks-low.
      ELSEIF NOT so_werks-low IS INITIAL AND
             NOT so_werks-high IS INITIAL.
        WRITE:/ 'Plant: ', so_werks-low , c_to, so_werks-high.
      ENDIF.
    Delivery Date
      IF NOT so_eindt-low IS INITIAL AND
             so_eindt-high IS INITIAL.
        WRITE:/ 'Delivery Date: ', so_eindt-low.
      ELSEIF NOT so_eindt-low IS INITIAL AND
             NOT so_eindt-high IS INITIAL.
        WRITE:/ 'Delivery Date: ', so_eindt-low , c_to, so_eindt-high.
      ENDIF.
    Purchasing Group
      IF NOT so_ekgrp-low IS INITIAL AND
             so_ekgrp-high IS INITIAL.
        WRITE:/ 'Purchasing Group: ', so_ekgrp-low.
      ELSEIF NOT so_ekgrp-low IS INITIAL AND
             NOT so_ekgrp-high IS INITIAL.
        WRITE:/ 'Purchasing Group: ', so_ekgrp-low , c_to, so_ekgrp-high.
      ENDIF.
    Vendor Code
      IF NOT so_lifnr-low IS INITIAL AND
             so_lifnr-high IS INITIAL.
        WRITE:/ 'Vendor Code: ', so_lifnr-low.
      ELSEIF NOT so_lifnr-low IS INITIAL AND
             NOT so_lifnr-high IS INITIAL.
        WRITE:/ 'Vendor Code: ', so_lifnr-low , c_to, so_lifnr-high.
      ENDIF.
    PO Number
      IF NOT so_ebeln-low IS INITIAL AND
             so_ebeln-high IS INITIAL.
        WRITE:/ 'PO Number: ', so_ebeln-low.
      ELSEIF NOT so_ebeln-low IS INITIAL AND
             NOT so_ebeln-high IS INITIAL.
        WRITE:/ 'PO Number: ', so_ebeln-low , c_to, so_ebeln-high.
      ENDIF.
    Material No
      IF NOT so_matnr-low IS INITIAL AND
             so_matnr-high IS INITIAL.
        WRITE:/ 'PO Number: ', so_matnr-low.
      ELSEIF NOT so_matnr-low IS INITIAL AND
             NOT so_matnr-high IS INI

  • URGENT: REGARDING SALES ORDER REPORT

    HI,
    I making a report on sales order in which i have to display the      sales order no,date,customer no,date,material issued to customer,date of issue,invoice no,date,quantity,amount of invoice.
    can anbody tell what are the tables used for making dis report .
    currnetly i am using VBAK,VBAK,VBRP.
    PLZZ help me out as it is really urgent to me & help will be deifnately rewarded.
    Edited by: ric .s on Feb 19, 2008 11:01 AM

    Hello,
    Go through the Diagram on the page hope it will help you.
    http://www.erpgenie.com/abap/tables_sd.htm
    Thanks,
    Gunjan

  • Urgent: Regarding Vendor payment report

    Hi,
    I making a report in which i have to display the vendor payment is done or not?
    Curently i am using the 4 tables of Financial :-
    BSAK,BSIS,BSIK AND BSAS which gives the status of vendor whether it is paid or not .  1 thing i observed that data compared wit htew MKPF table among these tables(BSAS,BSIK N BSAK) is not coming right as i am taking common field XBLNR among them all .
    One more thing i observed that BLART is getting changed in each table.
    for instance,
    if the BLART is WE for material document and i am taking XBLNR filed from this table MKPF and den looking XBLNR in BKPF where the entry consist of BLART -  RE n WE and finally when i look up in the BSAK table the field consist of RE .
    How can i see that it is being paid or not the BLART is keep on changing.
    Plzz proivde me guidelines as how to rectify the problem?
    Edited by: abaper2008 on May 21, 2008 8:54 AM

    Hi
    May be the report also included the PO / Invoice details.
    BSIK - Vendor open items
    BSAK-Vendor cleare items
    When the invoice is created one entry creates in BSIK - once it is cleared (either through the payment/credit memo/reverse) that entry along with the cleared entry goes to BSAK.
    Above two entries 'll have unique data in the field BSAK-AUGBL - with that link you will get the BLART field link.
    As you are telling about the RE document type.....there are different types of document types like - FI Document types & MM Document types. RE is the FI document type
    As a linking part to get the PO details using the FI data only available field is BKPF-AWKEY data in that field is used in RSEG-BELNR along with Fiscal year.
    This is the brief about the link...let me know if you need further details
    VVR

  • Urgent: regarding stock aging report

    hi,
    i want to have t-code for 'STOCK AGING REPORT' which shows that this material is present in the plant from this <b>date</b>. <b>plzzz provide me the tcode for it.</b>
    if anybody provide me solution to it will be definately rewarded.
    Message was edited by:
            ric .s
    Message was edited by:
            ric .s
    Message was edited by:
            ric .s

    Hi,
    Please try transaction code MC50
    also u can use mc.9 in that use fields like last consumed last good issued and last goods receipt
    after runing report u will get material and values t add above fields
    press f6 and add last consumed last good issued and last goods receipt
    and with this data u can analys this data
    Reward if found  helpful ...
    Cheers,
    Chandra Sekhar.

  • URGENT: REGARDING BOM EXPLORE REPORT

    HI,
    I making dis report and i want to display the BOM Explosion in which i have to display the output whihc conatins the details of it. I am sending my code in whihc it displays correct for 1 BOM but when comes to miultiple BOM it has following problem:-
    1.) The materaial no does not change on the top of report .
    2.) The DIVSION No. of the some of the materails are displayed and some of dem are not displaying.
    plzz help me out with dis problem as help will be definately rewarded.
    REPORT ZTET1.
    TABLES: MBEW,           "Material Valuation
            MSLB,           "Special stocks with vendor
            MARA,           "Material Master
            MAKT,           "Material Descriptions
            MARD,           "Material Master: Storage Location/Batch Segment
            MAST,           "BOM Header
            STKO,           "BOM Detail
            STPO,           "Bom Components
            STAS.           "BOM Alternative
    Text Elements
    Plant
    SELECT-OPTIONS: S_WERKS FOR MAST-WERKS DEFAULT 'CA',
    Material
                    S_MATNR FOR MAST-MATNR,
    Material Type
                    S_MTART FOR MARA-MTART.
    Base Quantity
    PARAMETERS: S_BASE TYPE I DEFAULT '1'.
    Display up to Level
    PARAMETERS: S_LVL  TYPE I DEFAULT '99'.
    PARAMETERS: stlal  type mast-stlal default '01'.
    SELECTION-SCREEN SKIP.
    Include Vendor Stock
    PARAMETERS: X_MSLB  AS CHECKBOX.
    DATA: W_MATNR LIKE MAPL-MATNR.
    DATA: PARENT_MATNR LIKE MAST-MATNR,
          CHILD_MATNR LIKE STPO-IDNRK,
          CHILD_WERKS LIKE MAST-WERKS,
          CHILD_STLAL LIKE MAST-STLAL,
          W_MAKTX LIKE MAKT-MAKTX,
          W_STD TYPE P DECIMALS 5,
          W_MAV TYPE P DECIMALS 5,
          W_MENGE TYPE P DECIMALS 3,
          W_LEVEL TYPE I,
          W_DOT(1),
          W_LVL(12),
          W_LVL1(12),
          W_LVL2(2),
          W_COL TYPE I,
          W_LFLAG,
          W_TTL LIKE MARD-LABST.
      DATA: SPART LIKE MARA-SPART.
    DATA: BEGIN OF INT1 OCCURS 50,
            LGORT(6),
            LABST LIKE MARD-LABST,
          END OF INT1.
    IF S_BASE EQ 0.
      S_BASE = 1.
    ENDIF.
    append multi level routing
    SELECT * FROM MAST WHERE WERKS IN S_WERKS AND
         MATNR IN S_MATNR and stlal = stlal.
      SELECT SINGLE SPART FROM MARA INTO SPART WHERE MATNR = MAST-MATNR.
        write: 'aaaaa', sy-dbcnt.
    SELECT SINGLE * FROM MARA WHERE MATNR = MAST-MATNR AND
          MTART IN S_MTART.
      IF SY-SUBRC NE 0.
        CONTINUE.
      ENDIF.
      IF MARA-LVORM <> 'X'.
        PARENT_MATNR = MAST-MATNR.
        CHILD_MATNR  = MAST-MATNR.
        CHILD_WERKS  = MAST-WERKS.
        CHILD_STLAL  = MAST-STLAL.
        SELECT SINGLE * FROM MAKT WHERE MATNR = MAST-MATNR AND
             SPRAS = 'E'.
        W_MAKTX = MAKT-MAKTX.
       REFRESH INT1.
       SELECT * FROM MARD WHERE MATNR = MAST-MATNR AND
            WERKS = MAST-WERKS AND
            LABST NE 0.
         MOVE MARD-LGORT TO INT1-LGORT.
         MOVE MARD-LABST TO INT1-LABST.
         APPEND INT1.
       ENDSELECT.
       IF X_MSLB EQ 'X'.
         SELECT * FROM MSLB WHERE MATNR EQ MAST-MATNR AND
              WERKS EQ MAST-WERKS AND
              LBLAB NE 0.
           MOVE MSLB-LIFNR TO INT1-LGORT.
           MOVE MSLB-LBLAB TO INT1-LABST.
           APPEND INT1.
         ENDSELECT.
       ENDIF.
        W_LEVEL = 1.
       NEW-PAGE.
        PERFORM GETCHILD.
      ENDIF.
    ENDSELECT.
    get child parts
    FORM GETCHILD.
      SELECT * FROM STPO WHERE STLNR = MAST-STLNR
            ORDER BY POSNR.
        SELECT SINGLE * FROM STKO WHERE STLNR = STPO-STLNR
              AND STLAL = MAST-STLAL.
        SELECT SINGLE * FROM STAS WHERE STLNR = STPO-STLNR AND
              STLKN = STPO-STLKN AND
              STLAL = MAST-STLAL.
        IF SY-SUBRC EQ 0.
          CLEAR: W_DOT, W_LVL, W_LVL1.
          PERFORM WRT_DTL.
          CHILD_MATNR = STPO-IDNRK.
          W_LEVEL = W_LEVEL + 1.
          IF W_LEVEL <= S_LVL.
            PERFORM SUBCHILD.
          ENDIF.
          W_LEVEL = W_LEVEL - 1.
        ENDIF.
      ENDSELECT.
    ENDFORM.
    get grand children parts
    FORM SUBCHILD.
      SELECT SINGLE * FROM MAST WHERE MATNR = CHILD_MATNR
         AND WERKS = CHILD_WERKS.
      IF SY-SUBRC NE 0.
        EXIT.
      ENDIF.
      SELECT * FROM STPO WHERE STLNR = MAST-STLNR.
        SELECT SINGLE * FROM STKO WHERE STLNR = STPO-STLNR AND
          STLAL = MAST-STLAL.
        SELECT SINGLE * FROM STAS WHERE STLNR = STPO-STLNR AND
            STLKN = STPO-STLKN AND
            STLAL = STKO-STLAL.
          IF SY-SUBRC EQ 0.
            W_DOT = '.'.
            PERFORM WRT_DTL.
            CHILD_MATNR = STPO-IDNRK.
            W_LEVEL = W_LEVEL + 1.
            IF W_LEVEL <= S_LVL.
              PERFORM SUBCHILD.
            ENDIF.
            W_LEVEL = W_LEVEL - 1.
            SHIFT W_LVL.
          ENDIF.
        ENDSELECT.
    ENDFORM.
    TOP-OF-PAGE.
    WRITE:/ SY-DATUM,SY-UZEIT,
           85 'ABC PTE LTD',
          182 'Page', SY-PAGNO.
    WRITE: / SY-REPID,
             75 'BOM STRUCTURE  (WITH LOCATION BALANCES)',
             182 SY-UNAME.
    SKIP.
    CLEAR W_LFLAG.
    WRITE:/ 'Material No.:', PARENT_MATNR,
            60 'Plant    :', MAST-WERKS.
    W_COL = 90.
    CLEAR W_TTL.
    **LOOP AT INT1.
    IF W_COL > 195.
       IF W_LFLAG IS INITIAL.
         WRITE:/ 'Description :', W_MAKTX,
              60 'Base Qty :', S_BASE LEFT-JUSTIFIED.
         W_LFLAG = 'X'.
         W_COL = 90.
       ELSE.
         W_COL = 90.
         SKIP.
       ENDIF.
    ENDIF.
    WRITE AT W_COL 'Loc :'.
    W_COL = W_COL + 6.
    WRITE AT W_COL INT1-LGORT.
    W_COL = W_COL + 7.
    WRITE AT W_COL(12) INT1-LABST LEFT-JUSTIFIED.
    W_COL = W_COL + 16.
    W_TTL = W_TTL + INT1-LABST.
    **ENDLOOP.
    **IF W_LFLAG IS INITIAL.
    WRITE:/ 'Description :', W_MAKTX,
          60 'Base Qty :', S_BASE LEFT-JUSTIFIED,
          90 'Total :', W_TTL LEFT-JUSTIFIED.
    **ELSE.
    WRITE AT W_COL 'Total :'.
    W_COL = W_COL + 8.
    WRITE AT W_COL W_TTL LEFT-JUSTIFIED.
    **ENDIF.
    SKIP.
    ULINE.
    WRITE: /001 'Level',
            011 'Item',
            017 'Component',
            037 'Description',
            079 '    Per',
            089 'UOM',
            094 ' Std Price',
            106 'Moving Avg',
            119 'Location',
            128 ' Balance',
            139 'Location',
            148 ' Balance',
            159 'Location',
            168 ' Balance',
            179 'Total Quantity'.
    ULINE.
    FORM WRT_DTL.
      CLEAR: MAKT-MAKTX, W_MAV, W_STD.
      SELECT SINGLE * FROM MAKT WHERE MATNR = STPO-IDNRK AND
           SPRAS = 'E'.
    SELECT SINGLE * FROM MBEW WHERE MATNR = STPO-IDNRK AND
          BWKEY = MAST-WERKS.
    IF SY-SUBRC = 0.
       W_MAV = MBEW-VERPR / MBEW-PEINH.
       W_STD = MBEW-STPRS / MBEW-PEINH.
    ENDIF.
    W_MENGE = ( STPO-MENGE / STKO-BMENG ) * S_BASE.
    W_LVL2 = W_LEVEL.
      CONCATENATE W_DOT W_LVL INTO W_LVL.
      CONCATENATE W_LVL W_LVL2 INTO W_LVL1.
    SELECT SINGLE SPART FROM MARA INTO SPART WHERE MATNR = MAST-MATNR.
    SELECT SINGLE SPART FROM MARA INTO SPART WHERE MATNR = STPO-IDNRK.
      WRITE: /001 ' ',
              011 STPO-POSNR,
              017 STPO-IDNRK,
              037 MAKT-MAKTX,
              079 SPART.
             079(8) W_MENGE,
             089 STPO-MEINS,
             094(10) W_STD,
             106(10) W_MAV.
    W_COL = 119.
    CLEAR W_TTL.
    SELECT * FROM MARD WHERE MATNR = STPO-IDNRK AND
          WERKS = MAST-WERKS AND
          LABST NE 0.
       IF W_COL > 166.
         W_COL = 119.
         WRITE AT /W_COL ' '.
       ENDIF.
       WRITE AT W_COL MARD-LGORT.
       W_COL = W_COL + 5.
       WRITE AT W_COL(13) MARD-LABST.
       W_COL = W_COL + 15.
       W_TTL = W_TTL + MARD-LABST.
    ENDSELECT.
    IF X_MSLB EQ 'X'.
       SELECT * FROM MSLB WHERE MATNR = STPO-IDNRK AND
            WERKS = MAST-WERKS AND
            LBLAB NE 0.
         IF W_COL > 166.
           W_COL = 119.
           WRITE AT /W_COL ' '.
         ENDIF.
         WRITE AT W_COL(6) MSLB-LIFNR.
         W_COL = W_COL + 6.
         WRITE AT W_COL(12) MSLB-LBLAB.
         W_COL = W_COL + 14.
         W_TTL = W_TTL + MSLB-LBLAB.
       ENDSELECT.
    ENDIF.
    WRITE AT 179(15) W_TTL.
    ENDFORM.

    Hi Ric
    hope this will help you.
    pls reward if help.
    REPORT ZMULTIBOM NO STANDARD PAGE HEADING LINE-SIZE 195
                    LINE-COUNT 60(2) MESSAGE-ID Z1.
    TABLES: MBEW,           "Material Valuation
            MSLB,           "Special stocks with vendor
            MARA,           "Material Master
            MAKT,           "Material Descriptions
            MARD,           "Material Master: Storage Location/Batch Segment
            MAST,           "BOM Header
            STKO,           "BOM Detail
            STPO,           "Bom Components
            STAS.           "BOM Alternative
    Text Elements
    Plant
    SELECT-OPTIONS: S_WERKS FOR MAST-WERKS DEFAULT 'CA',
    Material
                    S_MATNR FOR MAST-MATNR,
    Material Type
                    S_MTART FOR MARA-MTART.
    Base Quantity
    PARAMETERS: S_BASE TYPE I DEFAULT '1'.
    Display up to Level
    PARAMETERS: S_LVL  TYPE I DEFAULT '99'.
    SELECTION-SCREEN SKIP.
    Include Vendor Stock
    PARAMETERS: X_MSLB  AS CHECKBOX.
    DATA: W_MATNR LIKE MAPL-MATNR.
    DATA: PARENT-MATNR LIKE MAST-MATNR,
          CHILD-MATNR LIKE STPO-IDNRK,
          CHILD-WERKS LIKE MAST-WERKS,
          CHILD-STLAL LIKE MAST-STLAL,
          W_MAKTX LIKE MAKT-MAKTX,
          W_STD TYPE P DECIMALS 5,
          W_MAV TYPE P DECIMALS 5,
          W_MENGE TYPE P DECIMALS 3,
          W_LEVEL TYPE I,
          W_DOT(1),
          W_LVL(12),
          W_LVL1(12),
          W_LVL2(2),
          W_COL TYPE I,
          W_LFLAG,
          W_TTL LIKE MARD-LABST.
    DATA: BEGIN OF INT1 OCCURS 50,
            LGORT(6),
            LABST LIKE MARD-LABST,
          END OF INT1.
    IF S_BASE EQ 0.
      S_BASE = 1.
    ENDIF.
    append multi level routing
    SELECT * FROM MAST WHERE WERKS IN S_WERKS AND
         MATNR IN S_MATNR.
      SELECT SINGLE * FROM MARA WHERE MATNR = MAST-MATNR AND
           MTART IN S_MTART.
      IF SY-SUBRC NE 0.
        CONTINUE.
      ENDIF.
      IF MARA-LVORM <> 'X'.
        PARENT-MATNR = MAST-MATNR.
        CHILD-MATNR  = MAST-MATNR.
        CHILD-WERKS  = MAST-WERKS.
        CHILD-STLAL  = MAST-STLAL.
        SELECT SINGLE * FROM MAKT WHERE MATNR = MAST-MATNR AND
             SPRAS = 'E'.
        W_MAKTX = MAKT-MAKTX.
        REFRESH INT1.
        SELECT * FROM MARD WHERE MATNR = MAST-MATNR AND
             WERKS = MAST-WERKS AND
             LABST NE 0.
          MOVE MARD-LGORT TO INT1-LGORT.
          MOVE MARD-LABST TO INT1-LABST.
          APPEND INT1.
        ENDSELECT.
        IF X_MSLB EQ 'X'.
          SELECT * FROM MSLB WHERE MATNR EQ MAST-MATNR AND
               WERKS EQ MAST-WERKS AND
               LBLAB NE 0.
            MOVE MSLB-LIFNR TO INT1-LGORT.
            MOVE MSLB-LBLAB TO INT1-LABST.
            APPEND INT1.
          ENDSELECT.
        ENDIF.
        W_LEVEL = 1.
        NEW-PAGE.
        PERFORM GETCHILD.
      ENDIF.
    ENDSELECT.
    get child parts
    FORM GETCHILD.
      SELECT * FROM STPO WHERE STLNR = MAST-STLNR
            ORDER BY POSNR.
        SELECT SINGLE * FROM STKO WHERE STLNR = STPO-STLNR
              AND STLAL = MAST-STLAL.
        SELECT SINGLE * FROM STAS WHERE STLNR = STPO-STLNR AND
              STLKN = STPO-STLKN AND
              STLAL = MAST-STLAL.
        IF SY-SUBRC EQ 0.
          CLEAR: W_DOT, W_LVL, W_LVL1.
          PERFORM WRT_DTL.
          CHILD-MATNR = STPO-IDNRK.
          W_LEVEL = W_LEVEL + 1.
          IF W_LEVEL <= S_LVL.
            PERFORM SUBCHILD.
          ENDIF.
          W_LEVEL = W_LEVEL - 1.
        ENDIF.
      ENDSELECT.
    ENDFORM.
    get grand children parts
    FORM SUBCHILD.
      SELECT SINGLE * FROM MAST WHERE MATNR = CHILD-MATNR
         AND WERKS = CHILD-WERKS.
      IF SY-SUBRC NE 0.
        EXIT.
      ENDIF.
      SELECT * FROM STPO WHERE STLNR = MAST-STLNR
            ORDER BY POSNR.
        SELECT SINGLE * FROM STKO WHERE STLNR = STPO-STLNR AND
          STLAL = MAST-STLAL.
        SELECT SINGLE * FROM STAS WHERE STLNR = STPO-STLNR AND
            STLKN = STPO-STLKN AND
            STLAL = STKO-STLAL.
          IF SY-SUBRC EQ 0.
            W_DOT = '.'.
            PERFORM WRT_DTL.
            CHILD-MATNR = STPO-IDNRK.
            W_LEVEL = W_LEVEL + 1.
            IF W_LEVEL <= S_LVL.
              PERFORM SUBCHILD.
            ENDIF.
            W_LEVEL = W_LEVEL - 1.
            SHIFT W_LVL.
          ENDIF.
        ENDSELECT.
    ENDFORM.
    TOP-OF-PAGE.
    WRITE:/ SY-DATUM,SY-UZEIT,
           85 'ABC PTE LTD',
          182 'Page', SY-PAGNO.
    WRITE: / SY-REPID,
             75 'BOM STRUCTURE  (WITH LOCATION BALANCES)',
             182 SY-UNAME.
    SKIP.
    CLEAR W_LFLAG.
    WRITE:/ 'Material No.:', PARENT-MATNR,
            60 'Plant    :', MAST-WERKS.
    W_COL = 90.
    CLEAR W_TTL.
    LOOP AT INT1.
      IF W_COL > 195.
        IF W_LFLAG IS INITIAL.
          WRITE:/ 'Description :', W_MAKTX,
               60 'Base Qty :', S_BASE LEFT-JUSTIFIED.
          W_LFLAG = 'X'.
          W_COL = 90.
        ELSE.
          W_COL = 90.
          SKIP.
        ENDIF.
      ENDIF.
      WRITE AT W_COL 'Loc :'.
      W_COL = W_COL + 6.
      WRITE AT W_COL INT1-LGORT.
      W_COL = W_COL + 7.
      WRITE AT W_COL(12) INT1-LABST LEFT-JUSTIFIED.
      W_COL = W_COL + 16.
      W_TTL = W_TTL + INT1-LABST.
    ENDLOOP.
    IF W_LFLAG IS INITIAL.
      WRITE:/ 'Description :', W_MAKTX,
           60 'Base Qty :', S_BASE LEFT-JUSTIFIED,
           90 'Total :', W_TTL LEFT-JUSTIFIED.
    ELSE.
      WRITE AT W_COL 'Total :'.
      W_COL = W_COL + 8.
      WRITE AT W_COL W_TTL LEFT-JUSTIFIED.
    ENDIF.
    SKIP.
    ULINE.
    WRITE: /001 'Level',
            011 'Item',
            017 'Component',
            037 'Description',
            079 '    Per',
            089 'UOM',
            094 ' Std Price',
            106 'Moving Avg',
            119 'Location',
            128 ' Balance',
            139 'Location',
            148 ' Balance',
            159 'Location',
            168 ' Balance',
            179 'Total Quantity'.
    ULINE.
    FORM WRT_DTL.
      CLEAR: MAKT-MAKTX, W_MAV, W_STD.
      SELECT SINGLE * FROM MAKT WHERE MATNR = STPO-IDNRK AND
           SPRAS = 'E'.
      SELECT SINGLE * FROM MBEW WHERE MATNR = STPO-IDNRK AND
           BWKEY = MAST-WERKS.
      IF SY-SUBRC = 0.
        W_MAV = MBEW-VERPR / MBEW-PEINH.
        W_STD = MBEW-STPRS / MBEW-PEINH.
      ENDIF.
      W_MENGE = ( STPO-MENGE / STKO-BMENG ) * S_BASE.
      W_LVL2 = W_LEVEL.
      CONCATENATE W_DOT W_LVL INTO W_LVL.
      CONCATENATE W_LVL W_LVL2 INTO W_LVL1.
      WRITE: /001 W_LVL1,
              011 STPO-POSNR,
              017 STPO-IDNRK,
              037 MAKT-MAKTX,
              079(8) W_MENGE,
              089 STPO-MEINS,
              094(10) W_STD,
              106(10) W_MAV.
      W_COL = 119.
      CLEAR W_TTL.
      SELECT * FROM MARD WHERE MATNR = STPO-IDNRK AND
           WERKS = MAST-WERKS AND
           LABST NE 0.
        IF W_COL > 166.
          W_COL = 119.
          WRITE AT /W_COL ' '.
        ENDIF.
        WRITE AT W_COL MARD-LGORT.
        W_COL = W_COL + 5.
        WRITE AT W_COL(13) MARD-LABST.
        W_COL = W_COL + 15.
        W_TTL = W_TTL + MARD-LABST.
      ENDSELECT.
      IF X_MSLB EQ 'X'.
        SELECT * FROM MSLB WHERE MATNR = STPO-IDNRK AND
             WERKS = MAST-WERKS AND
             LBLAB NE 0.
          IF W_COL > 166.
            W_COL = 119.
            WRITE AT /W_COL ' '.
          ENDIF.
          WRITE AT W_COL(6) MSLB-LIFNR.
          W_COL = W_COL + 6.
          WRITE AT W_COL(12) MSLB-LBLAB.
          W_COL = W_COL + 14.
          W_TTL = W_TTL + MSLB-LBLAB.
        ENDSELECT.
      ENDIF.
      WRITE AT 179(15) W_TTL.
    ENDFORM.

  • Urgent: regarding physical inventory report display

    hi,
    i had made a report in which i have to display the physical inventory report details in which details about the material is to be given.
    I want to check the details which are present in the tcode MI07 . Can anybody tell me any tcode in which i can see the details of mi07 tcode(including the reason of it).

    Greetings,
    It might shed some light to read about the display in your portable computer: http://en.wikipedia.org/wiki/LCD
    LCDs are primarily plastic panels with various layers inside.  Pressure applied to those panels can cause them to crack, leaking the liquid crystal components about.  Pressure could be heavy books in a bag pushing against the screen, heavy cat sitting on a closed lid, dog, other animal, someone slamming the lid, child running through the room, etc.  This applies to any LCD whether it be in a computer or in a Television (don't press too hard on your TV screen!!).
    Displays don't exhibit the type of damage you indicate by themselves.  A single pixel might go dead in an LCD but zig zag lines indicates cracking of the layers inside the panels themselves.  Something from the outside world made an impact on the display resulting in the damage you see.  You may not have been the one pressing hard on it and you may not have seen it happen, but something happened.
    The 1 year limited warranty and AppleCare protection plan offer coverage for component failures, not damage.
    Coverage for damage would be provided by something along the lines of insurances (home owners, renters, etc.)  If you purchased this computer with a Credit Card you may wish to contact your Credit Card company.  Many cards have included insurance for purchases you make so even if an item is damage during your use of it, they will cover it.
    Best of luck.

  • **URGENT** - Vendor Line Item Reporting

    Dear Gurus,
    Need some “URGENT” help with regards to Vendor Reporting?
    Our business has requested for a Vendor Line Item / header Report, which will display ALL Vendor Items “NET” (before tax).
    At the moment our business it manually taking out Tax in FBL1n (Vendor Line Item Report).
    Please could you kindly let me know if there is ANY report in SAP which displays the Vendor Items NET & GROSS??
    Thanks Very Much
    RICK
    Edited by: Rick Desilva on Apr 22, 2008 4:00 PM

    Hi  Shridhar,
    All I want is a "net column" - Which will display the vendor invocie amount - BEFORE VAT (Tax).
    So on FBL1N or Another SAP-Vendor Report what I need is a
    Net Amount column and a Gross Amount Column.
    I hope this makes sense and someone can assist....
    Thanks & Regards
    RICK
    Edited by: Rick Desilva on Apr 23, 2008 9:36 AM

  • Please Help Urgently to refresh the report on the change in data

    We want to refresh report at runtime for the Drill Down report if any user changes the Data. We changes the data from the form which is called from the report and we want to this effect on the report on the prompt.
    Is there any method to close the report while it is in the queue of Background Engine? Can we refresh the report ? Please help urgently.
    Thanks in Advance.

    Pritesh,
    Reports goes out to the database and fetches the data (not a snapshot) and returns the information, formats it and displays it. The only way to refresh, is to rerun the report.
    If your are running from the server, you need to make sure you are not fetching from cache (you determine this from destype and set the life of the cache in the servername.ora file).
    I am unaware of any way to programatically close the report once displayed. The user must take action to close the report (unless you call the operating system to kill the display). When you rerun the report from Oracle Forms, you will get fresh data.
    Regards,
    The Oracle Reports Team jls

  • Urgent: Regarding Join Syntax in Oracle 9i and 10g

    Dear Members
    Please help me by providing me the synatx of following Join statements for Oracle 9i and 10g:
    1.Inner Join
    2.Left Outer Join
    3.Right Outer Join
    4.Self Join
    5.Cross Join
    6.Full Outer Join
    N.B. I NEED THIS HELP URGENTLY
    Regards
    Praveen Kumar Pandey

    Inner join
    SELECT *
      FROM a,
           b
    WHERE a.<<column>> = b.<<column>>Left Outer Join
    SELECT *
      FROM a LEFT OUTER JOIN b
             ON a.<<column>> = b.<<column>>Right Outer Join
    SELECT *
      FROM a RIGHT OUTER JOIN b
             ON a.<<column>> = b.<<column>>Full Outer Join
    SELECT *
      FROM a FULL OUTER JOIN b
             ON a.<<column>> = b.<<column>>Self Join
    SELECT *
      FROM a a1,
           a a2
    WHERE a1.<<column>> = a2.<<column>>Cartesian Join
    SELECT *
      FROM a,
           bJustin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Printout of report output

    Hi Friends,
    How to get the printout of report output in foreground mode?
    Thanks in advance
    Murthy.

    Refer:
    [Re: how to get a printout  for report;

  • Urgent regarding credit limit

    Hi Gurus
    I have a issue regarding credit limit:
    for a customer "ABC" i have maintained a credit limit for 1000/- in FD32 now when we create a sales order of more than 1000/- for the same customer a popup MSg is comming saying amount has exeeded ...so far so good
    my issue is that the requirements should not pass to MD04 (Stock/Requirement List)
    some of the SAP gurus giving the answer  check out OVB8 and see the requirement 101, i want to know the functionality of requirement "101" and how to go about the issue ..... issue is very urgent
    Regards
    Rajesh

    HI RAJESH
              This can be  done through  go to IMG--> S&D->Basic functions>Availabililty check&transfer of requirements>Transfer of requirements-->block quantity confirmation for delivery blocks. Here u give blocking reason as credit limit,,,,,, Here u find  confirmation block,here u make tick  and save . Here the reason is that even the order is saved,requirements will not be passed to MRP     i.e requirements will not be passed to stock requirement list.
                        Award points if it is helpful for u
                       Regards
                       Prasad.G

  • URGENT: REGARDING POSTING DATE AND DELETION OF ZEROS IN ALV REPORT

    Hi,
      I had made a report in which i have to display 'POSTING DATE' (iseg-budat) when we execute the report i.e. it should be displayed as  PERIOD :- _______  to _______ .
    2nd problem is i had displayed the material no. ,but there are zeros which are displaying in dere ,i want to remove dem ... example, if the mat.no. is  2321 ,it is displaying 000002321. i want to remove these zeros.
    Its request to all of u dat plz help me as fast as possible as it is most urgent to me and if any body provide me help he or sh e will be definately rewarded..
    Regards,
    ric.s

    Here i am giving you one of the ALV reports i have generated. Check this program. I hope it will be helpful to you.
    REPORT  ZFI_ASSIGNED_FUNDS_FINAL.
    TABLES: FMIT,FMCIT,FPOS,IFMEISA1,FMFCTRT,BSEG,ZREV_BUDGET.
    TYPE-POOLS: SLIS.
    *ALV data declarations
    DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
          GD_SORT      TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,
          GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV,
          GD_LAYOUT    TYPE SLIS_LAYOUT_ALV,
          GD_REPID     LIKE SY-REPID.
    *For ALV top of page
    DATA : IT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    *For ALV Events
    DATA : IT_EVENT1 TYPE SLIS_T_EVENT.
    *For ALV Events
    DATA : IT_EVENT TYPE SLIS_ALV_EVENT.
    *For top of page heading
    DATA: IT_LINE TYPE SLIS_LISTHEADER.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETER : RADIO RADIOBUTTON GROUP R1.
    IF RADIO EQ 'X'.
      SELECT-OPTIONS: FIPEX  FOR FPOS-FIPEX,                  " SELECTION FOR FUNDS CENTER & COMMITMENT ITEM
                      RFISTL FOR FMIT-RFISTL.
    ENDIF.
    PARAMETER: RADIO1 RADIOBUTTON GROUP R1.
    IF RADIO1 EQ 'X'.
      SELECT-OPTIONS : HKONT FOR BSEG-HKONT,                 " SELECTION FOR COST CENTER & G/L ACCOUNT
                       KOSTL FOR ZREV_BUDGET-KOSTL.
    ENDIF.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS: PERDE  FOR IFMEISA1-PERDE DEFAULT '01' TO '12' OBLIGATORY.
    PARAMETER :     RYEAR  LIKE FMIT-RYEAR OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B2.
    DATA: BEGIN OF IT_TAB OCCURS 0,
             FIKRS LIKE FMFCTR-FIKRS,
             FICTR LIKE CSKS-KOSTL,
             CTR_OBJNR LIKE FMFCTR-CTR_OBJNR,
             RFISTL LIKE FMIT-RFISTL,
             OBJNR LIKE BPPE-OBJNR,
          END OF IT_TAB.
    DATA: BEGIN OF IT_TAB1 OCCURS 0,
             CO_OBJNR LIKE BPIJ-CO_OBJNR,
             POSIT LIKE BPPE-POSIT,
             FIPEX LIKE FMPOSIT-FIPEX,
             FICTR LIKE FMFCTR-FICTR,
             KSTAR LIKE COSP-KSTAR,
             RFISTL LIKE FMIT-RFISTL,
             OBJNR1 LIKE BPPE-OBJNR,
          END OF IT_TAB1.
    DATA: BEGIN OF IT_FMIT OCCURS 0,
            RYEAR LIKE FMIT-RYEAR,
            FIKRS LIKE FMIT-FIKRS,
            RFISTL LIKE ZREV_BUDGET-KOSTL,
            RFIPEX LIKE ZREV_BUDGET-KSTAR,
            HSL01 LIKE FMIT-HSL01,
            HSL02 LIKE FMIT-HSL02,
            HSL03 LIKE FMIT-HSL03,
            HSL04 LIKE FMIT-HSL04,
            HSL05 LIKE FMIT-HSL05,
            HSL06 LIKE FMIT-HSL06,
            HSL07 LIKE FMIT-HSL07,
            HSL08 LIKE FMIT-HSL08,
            HSL09 LIKE FMIT-HSL09,
            HSL10 LIKE FMIT-HSL10,
            HSL11 LIKE FMIT-HSL11,
            HSL12 LIKE FMIT-HSL12,
            HSL13 LIKE FMIT-HSL13,
            HSL14 LIKE FMIT-HSL14,
            HSL15 LIKE FMIT-HSL15,
            HSL16 LIKE FMIT-HSL16,
         END OF IT_FMIT.
    DATA: BEGIN OF IT_FMIT1 OCCURS 0,
            RYEAR LIKE FMIT-RYEAR,
            FIKRS LIKE FMIT-FIKRS,
            RFISTL LIKE ZREV_BUDGET-KOSTL,
            RFIPEX LIKE FMPG-FIPEX,
            TOTAL LIKE FMIT-TSL01,
            TOTAL1 LIKE FMIT-TSL01,
            OBJNR LIKE BPPE-OBJNR,
            POSIT LIKE BPPE-POSIT,
         END OF IT_FMIT1.
    DATA: BEGIN OF IT_BPPE OCCURS 0,
            OBJNR LIKE BPPE-OBJNR,
            POSIT LIKE BPPE-POSIT,
            GJAHR LIKE BPPE-GJAHR,
            WLP01 LIKE BPPE-WLP01,
            WLP02 LIKE BPPE-WLP02,
            WLP03 LIKE BPPE-WLP03,
            WLP04 LIKE BPPE-WLP04,
            WLP05 LIKE BPPE-WLP05,
            WLP06 LIKE BPPE-WLP06,
            WLP07 LIKE BPPE-WLP07,
            WLP08 LIKE BPPE-WLP08,
            WLP09 LIKE BPPE-WLP09,
            WLP10 LIKE BPPE-WLP10,
            WLP11 LIKE BPPE-WLP11,
            WLP12 LIKE BPPE-WLP12,
          END OF IT_BPPE.
    DATA: BEGIN OF IT_BPPE1 OCCURS 0,
            OBJNR LIKE BPPE-OBJNR,
            POSIT LIKE BPPE-POSIT,
            GJAHR LIKE BPPE-GJAHR,
            RFISTL LIKE FMIT-RFISTL,
            FIPEX LIKE FPOS-FIPEX,
            TOTAL2 LIKE BPPE-WLP01,
          END OF IT_BPPE1.
    DATA: BEGIN OF IT_CSKS OCCURS 0,
           KOKRS LIKE CSKS-KOKRS,
           KOSTL LIKE CSKS-KOSTL,
           BUKRS LIKE CSKS-BUKRS,
           OBJNR LIKE CSKS-OBJNR,
         END OF IT_CSKS.
    DATA: BEGIN OF IT_COSP OCCURS 0,
           OBJNR LIKE COSP-OBJNR,
           GJAHR LIKE COSP-GJAHR,
           KSTAR LIKE COSP-KSTAR,
           BEKNZ LIKE COSP-BEKNZ,
           WKG001 LIKE COSP-WKG001,
           WKG002 LIKE COSP-WKG002,
           WKG003 LIKE COSP-WKG003,
           WKG004 LIKE COSP-WKG004,
           WKG005 LIKE COSP-WKG005,
           WKG006 LIKE COSP-WKG006,
           WKG007 LIKE COSP-WKG007,
           WKG008 LIKE COSP-WKG008,
           WKG009 LIKE COSP-WKG009,
           WKG010 LIKE COSP-WKG010,
           WKG011 LIKE COSP-WKG011,
           WKG012 LIKE COSP-WKG012,
         END OF IT_COSP.
    DATA: BEGIN OF IT_COSP2 OCCURS 0,
           OBJNR LIKE COSP-OBJNR,
           GJAHR LIKE COSP-GJAHR,
           KSTAR LIKE COSP-KSTAR,
           FIPEX LIKE FMPG-FIPEX,
           TOTAL LIKE COSP-WKG001,
           TOTAL1 LIKE COSP-WKG001,
           OBJNR1 LIKE BPPE-OBJNR,
           POSIT LIKE BPPE-POSIT,
         END OF IT_COSP2.
    IF RADIO EQ 'X'.
      DATA: BEGIN OF IT_FINAL OCCURS 0,
             FIKRS LIKE FMIT-FIKRS,
             RFISTL LIKE FMIT-RFISTL,
             RFIPEX LIKE FMIT-RFIPEX,
             TEXT LIKE FMCIT-TEXT1,
             ALLOC LIKE FMIT-TSL16,
             USED LIKE FMIT-TSL16,
             REMAIN LIKE FMIT-TSL16,
             BEZEICH LIKE FMFCTRT-BEZEICH,
           END OF IT_FINAL.
    ENDIF.
    IF RADIO1 EQ 'X'.
      DATA: BEGIN OF IT_FINAL1 OCCURS 0,
              GJAHR LIKE ZREV_BUDGET-GJAHR,
              KOSTL LIKE ZREV_BUDGET-KOSTL,
              KSTAR LIKE ZREV_BUDGET-KSTAR,
              TOTAL1 LIKE COSP-WKG001,
              TOTAL3 LIKE COSP-WKG001,
              TEXT LIKE CSKU-KTEXT,
              VARIANCE LIKE COSP-WKG001,
              BEZEICH LIKE FMFCTRT-BEZEICH,
            END OF IT_FINAL1.
    ENDIF.
    DATA: BEGIN OF IT_FISTL OCCURS 0,
           RFISTL LIKE FMIT-RFISTL,
           BEZEICH LIKE FMFCTRT-BEZEICH,
          END OF IT_FISTL.
    DATA: BEGIN OF IT_HKONT OCCURS 0,
           KSTAR LIKE CSKU-KSTAR,
           KTEXT LIKE CSKU-KTEXT,
          END OF IT_HKONT.
    DATA: PERIOD1 TYPE I,
          PERIOD2 TYPE I,
          PERIOD3 TYPE I,
          PERIO TYPE I.
    DATA: BEZEICH LIKE FMFCTRT-BEZEICH.
    CONSTANTS: C_00 TYPE MONAT VALUE '00',
               C_13 TYPE MONAT VALUE '13'.
    DATA : IT_RETURN LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
    DATA: FIPEX1 LIKE COSP-KSTAR.
    A T - S E L E C T I O N  S C R E E N
    AT SELECTION-SCREEN.
      LOOP AT PERDE.
        IF  PERDE-LOW >= C_13 OR PERDE-HIGH >= C_13 .
          MESSAGE E022(ZA)  WITH 'Enter Period values from 1 to 12'.
          EXIT.
        ENDIF.
      ENDLOOP.
      IF NOT PERDE-LOW IS INITIAL.
        PERIOD1 = PERDE-LOW.
      ENDIF.
      IF NOT PERDE-HIGH IS INITIAL.
        PERIOD2 = PERDE-HIGH.
        PERIOD3 = PERIOD2 - PERIOD1.
        PERIOD3 = PERIOD3 + 1.
      ELSE.
        PERIOD3 = 1.
      ENDIF.
      PERIO = PERIOD1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR RFISTL-LOW.
      SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                               WHERE SPRAS EQ 'EN'
                                               AND   FIKRS EQ 'NFFM'.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'RFISTL'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_FISTL
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO RFISTL-LOW.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR RFISTL-HIGH.
      SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                               WHERE SPRAS EQ 'EN'
                                               AND   FIKRS EQ 'NFFM'.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'RFISTL'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_FISTL
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO RFISTL-HIGH.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR HKONT-LOW.
      SELECT KSTAR KTEXT INTO TABLE IT_HKONT FROM CSKU WHERE SPRAS EQ 'EN'.
      SORT IT_HKONT BY KSTAR.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'HKONT'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_HKONT
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO HKONT-LOW.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR HKONT-HIGH.
      SELECT  KSTAR KTEXT INTO TABLE IT_HKONT FROM CSKU WHERE SPRAS EQ 'EN'.
      SORT IT_HKONT BY KSTAR.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'HKONT'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_HKONT
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO HKONT-HIGH.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR KOSTL-LOW.
      SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                               WHERE SPRAS EQ 'EN'
                                               AND   FIKRS IN KOSTL.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'KOSTL'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_FISTL
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO KOSTL-LOW.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR KOSTL-HIGH.
      SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                               WHERE SPRAS EQ 'EN'
                                               AND   FIKRS IN KOSTL.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'KOSTL'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_FISTL
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO KOSTL-HIGH.
      ENDIF.
    *START-OF-SELECTION
    START-OF-SELECTION.
      IF RADIO EQ 'X'.                     " FOR FUNDS CENTER AND COMMITMENT ITEM
        PERFORM GET_DATA.
        PERFORM PROCESS_DATA.
      ENDIF.
      IF RADIO1 EQ 'X'.                    " FOR COST CENTER AND G/L ACCOUNT
        PERFORM GET_DATA1.
        PERFORM PROCESS_DATA1.
      ENDIF.
    *END OF SELECTION
      PERFORM BUILD_LAYOUT.
      PERFORM BUILD_EVENTS.
      IF RADIO EQ 'X'.
        PERFORM BUILD_FIELDCATALOG.
        PERFORM BUILD_SORT.
        PERFORM DISPLAY_ALV_REPORT.
      ENDIF.
      IF RADIO1 EQ 'X'.
        PERFORM BUILD_FIELDCATALOG1.
        PERFORM BUILD_SORT1.
        PERFORM DISPLAY_ALV_REPORT1.
      ENDIF.
    *&      Form  GET_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DATA .
      SELECT FIKRS FICTR CTR_OBJNR INTO TABLE IT_TAB FROM FMFCTR
                                                     WHERE FIKRS EQ 'NFFM'
                                                     AND   FICTR IN RFISTL.
      SELECT CO_OBJNR POSIT INTO TABLE IT_TAB1 FROM BPIJ
                                               FOR ALL ENTRIES IN IT_TAB
                                               WHERE CO_OBJNR EQ IT_TAB-CTR_OBJNR.
      LOOP AT IT_TAB1.
        SELECT SINGLE FIPEX INTO IT_TAB1-FIPEX FROM FMPOSIT WHERE FIKRS EQ 'NFFM'
                                               AND   POSIT EQ IT_TAB1-POSIT
                                               AND   FIPEX IN FIPEX.
        IF SY-SUBRC EQ '0'.
          MODIFY IT_TAB1.
        ELSE.
          DELETE IT_TAB1.
        ENDIF.
      ENDLOOP.
      SELECT OBJNR
             POSIT
             GJAHR
             WLP01
             WLP02
             WLP03
             WLP04
             WLP05
             WLP06
             WLP07
             WLP08
             WLP09
             WLP10
             WLP11
             WLP12
             INTO TABLE IT_BPPE
             FROM BPPE
             FOR ALL ENTRIES IN IT_TAB1
             WHERE OBJNR EQ IT_TAB1-CO_OBJNR
             AND   POSIT EQ IT_TAB1-POSIT
             AND   GJAHR EQ RYEAR
             AND   VORGA IN ('KBFR','KBUE','KBUS').
      LOOP AT IT_BPPE.
        MOVE-CORRESPONDING IT_BPPE TO IT_BPPE1.
        IT_BPPE1-RFISTL = IT_BPPE1-OBJNR+6(4).
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_BPPE1-RFISTL
          IMPORTING
            OUTPUT = IT_BPPE1-RFISTL.
        CALL FUNCTION 'FM_FIPEX_GET_FROM_POSIT'
          EXPORTING
            I_FIKRS = 'NFFM'
            I_POSIT = IT_BPPE1-POSIT
          IMPORTING
            E_FIPEX = IT_BPPE1-FIPEX.
        PERIOD1 = PERIO.
        DO PERIOD3 TIMES.
          CASE PERIOD1.
            WHEN 1.
              IT_BPPE1-TOTAL2 =  IT_BPPE1-TOTAL2 + IT_BPPE-WLP01.
            WHEN 2.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP02.
            WHEN 3.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP03.
            WHEN 4.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP04.
            WHEN 5.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP05.
            WHEN 6.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP06.
            WHEN 7.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP07.
            WHEN 8.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP08.
            WHEN 9.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP09.
            WHEN 10.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP10.
            WHEN 11.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP11.
            WHEN 12.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP12.
          ENDCASE.
          IF PERIOD2 >= PERIOD1.
            PERIOD1 = PERIOD1 + 1.
          ENDIF.
        ENDDO.
        COLLECT IT_BPPE1.
        CLEAR PERIOD1.
        CLEAR IT_BPPE1.
      ENDLOOP.
      SELECT RYEAR
             FIKRS
             RFISTL
             RFIPEX
             HSL01
             HSL02
             HSL03
             HSL04
             HSL05
             HSL06
             HSL07
             HSL08
             HSL09
             HSL10
             HSL11
             HSL12
             HSL13
             HSL14
             HSL15
             HSL16
             INTO TABLE IT_FMIT FROM FMIT
             FOR ALL ENTRIES IN IT_BPPE1
             WHERE RYEAR EQ RYEAR
             AND   FIKRS EQ 'NFFM'
            AND   RFIPEX EQ IT_BPPE1-FIPEX
             AND  RFIPEX IN FIPEX
             AND   RFISTL EQ IT_BPPE1-RFISTL.
      LOOP AT IT_FMIT.
        MOVE-CORRESPONDING IT_FMIT TO IT_FMIT1.
        PERIOD1 = PERIO.
        DO PERIOD3 TIMES.
          CASE PERIOD1.
            WHEN 1.
              IT_FMIT1-TOTAL =  IT_FMIT1-TOTAL + IT_FMIT-HSL01.
            WHEN 2.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL02.
            WHEN 3.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL03.
            WHEN 4.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL04.
            WHEN 5.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL05.
            WHEN 6.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL06.
            WHEN 7.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL07.
            WHEN 8.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL08.
            WHEN 9.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL09.
            WHEN 10.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL10.
            WHEN 11.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL11.
            WHEN 12.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL12.
          ENDCASE.
          IF PERIOD2 >= PERIOD1.
            PERIOD1 = PERIOD1 + 1.
          ENDIF.
        ENDDO.
        IT_FMIT1-TOTAL1 = IT_FMIT1-TOTAL * -1 .
        COLLECT IT_FMIT1.
        CLEAR PERIOD1.
        CLEAR IT_FMIT1.
      ENDLOOP.
    ENDFORM.                    " GET_DATA
    *&      Form  PROCESS_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM PROCESS_DATA .
      SORT IT_FMIT1 BY FIKRS RFISTL RFIPEX.
      SORT IT_BPPE1 BY RFISTL FIPEX.
      LOOP AT IT_BPPE1.
        IT_FINAL-RFISTL = IT_BPPE1-RFISTL.
        IT_FINAL-RFIPEX = IT_BPPE1-FIPEX.
        IT_FINAL-ALLOC   = IT_BPPE1-TOTAL2.
        READ TABLE IT_FMIT1 WITH KEY RFISTL = IT_BPPE1-RFISTL  RFIPEX = IT_BPPE1-FIPEX.
        IF SY-SUBRC EQ 0.
          IT_FINAL-USED   = IT_FMIT1-TOTAL1.
        ENDIF.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_FMIT1-RFIPEX
          IMPORTING
            OUTPUT = IT_FMIT1-RFIPEX.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_FMIT1-RFISTL
          IMPORTING
            OUTPUT = IT_FMIT1-RFISTL.
    Changes made on 13/11/2007  *******************************
       SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
                                                         AND   FIPEX EQ  IT_FMIT1-RFIPEX.
        SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
                                                          AND   FIPEX EQ  IT_BPPE1-FIPEX.
    Changes made on 13/11/2007  *******************************
        SELECT SINGLE BEZEICH INTO IT_FINAL-BEZEICH FROM FMFCTRT
                                                    WHERE SPRAS EQ 'EN'
                                                    AND   FICTR EQ IT_FMIT1-RFISTL.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_FINAL-RFIPEX
          IMPORTING
            OUTPUT = IT_FINAL-RFIPEX.
        IT_FINAL-REMAIN = IT_FINAL-ALLOC - IT_FINAL-USED.
        APPEND IT_FINAL.
        CLEAR IT_FINAL.
      ENDLOOP.
    SORT IT_FINAL BY FIKRS RFISTL RFIPEX.
       LOOP AT IT_FMIT1.
        READ TABLE IT_FINAL WITH KEY RFISTL = IT_FMIT1-RFISTL RFIPEX = IT_FMIT1-RFIPEX.
        IF SY-SUBRC NE 0.
          IT_FINAL-RFISTL = IT_FMIT1-RFISTL.
          IT_FINAL-RFIPEX = IT_FMIT1-RFIPEX.
          IT_FINAL-USED   = IT_FMIT1-TOTAL1.
        IT_FINAL-ALLOC   = '0'.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
            EXPORTING
              INPUT  = IT_FMIT1-RFIPEX
            IMPORTING
              OUTPUT = IT_FMIT1-RFIPEX.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
            EXPORTING
              INPUT  = IT_FMIT1-RFISTL
            IMPORTING
              OUTPUT = IT_FMIT1-RFISTL.
          SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
                                                            AND   FIPEX EQ  IT_FMIT1-RFIPEX.
          SELECT SINGLE BEZEICH INTO IT_FINAL-BEZEICH FROM FMFCTRT
                                                      WHERE SPRAS EQ 'EN'
                                                      AND   FICTR EQ IT_FMIT1-RFISTL.
          IT_FINAL-REMAIN = IT_FINAL-ALLOC - IT_FINAL-USED.
          APPEND IT_FINAL.
          CLEAR IT_FINAL.
        ELSE.
          DELETE IT_FMIT1.
        ENDIF.
      ENDLOOP.
      SORT IT_FINAL BY FIKRS RFISTL RFIPEX.
    ENDFORM.                    " PROCESS_DATA
    *&      Form  GET_DATA1
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DATA1 .
      SELECT KOKRS KOSTL BUKRS OBJNR INTO TABLE IT_CSKS
                                     FROM CSKS
                                     WHERE KOKRS EQ '1000'
                                     AND   KOSTL IN KOSTL
                                     AND   BUKRS EQ 'NFCL'.
      SELECT OBJNR
             GJAHR
             KSTAR
             BEKNZ
             WKG001
             WKG002
             WKG003
             WKG004
             WKG005
             WKG006
             WKG007
             WKG008
             WKG009
             WKG010
             WKG011
             WKG012
             FROM COSP
             INTO TABLE IT_COSP
             FOR ALL ENTRIES IN IT_CSKS
             WHERE OBJNR EQ IT_CSKS-OBJNR
             AND   GJAHR EQ RYEAR
             AND   KSTAR IN HKONT.
      LOOP AT IT_COSP.
        MOVE-CORRESPONDING IT_COSP TO IT_COSP2.
        PERIOD1 = PERIO.
        DO PERIOD3 TIMES.
          CASE PERIOD1.
            WHEN 1.
              IT_COSP2-TOTAL =  IT_COSP2-TOTAL + IT_COSP-WKG001.
            WHEN 2.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG002.
            WHEN 3.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG003.
            WHEN 4.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG004.
            WHEN 5.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG005.
            WHEN 6.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG006.
            WHEN 7.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG007.
            WHEN 8.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG008.
            WHEN 9.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG009.
            WHEN 10.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG010.
            WHEN 11.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG011.
            WHEN 12.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG012.
          ENDCASE.
          IF PERIOD2 >= PERIOD1.
            PERIOD1 = PERIOD1 + 1.
          ENDIF.
        ENDDO.
        IT_COSP2-OBJNR1 = IT_COSP2-OBJNR+10(6).
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_COSP2-OBJNR1
          IMPORTING
            OUTPUT = IT_COSP2-OBJNR1.
        CONCATENATE 'FSNFFM' IT_COSP2-OBJNR1 INTO IT_COSP2-OBJNR1.
        IT_COSP2-FIPEX = IT_COSP2-KSTAR.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_COSP2-FIPEX
          IMPORTING
            OUTPUT = IT_COSP2-FIPEX.
        CALL FUNCTION 'FM_POSIT_GET_FROM_FIPEX'
          EXPORTING
          I_FIKRS                = 'NFFM'
          I_FIPEX                = IT_COSP2-FIPEX
      I_FLG_BUFFER_ALL       =
       IMPORTING
       E_POSIT                = IT_COSP2-POSIT
    TABLES
      T_FMPOSIT              =
        EXCEPTIONS
          INPUT_ERROR            = 1
          DATA_NOT_FOUND         = 2
          OTHERS                 = 3
        IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        CONDENSE IT_COSP2-OBJNR1.
        CONDENSE IT_COSP2-POSIT.
        COLLECT IT_COSP2.
        CLEAR PERIOD1.
        CLEAR IT_COSP2.
      ENDLOOP.
      SORT IT_COSP2 BY OBJNR KSTAR.
      SELECT OBJNR
             POSIT
             GJAHR
             WLP01
             WLP02
             WLP03
             WLP04
             WLP05
             WLP06
             WLP07
             WLP08
             WLP09
             WLP10
             WLP11
             WLP12
             INTO TABLE IT_BPPE
             FROM BPPE
             FOR ALL ENTRIES IN IT_COSP2
             WHERE OBJNR EQ IT_COSP2-OBJNR1
             AND   POSIT EQ IT_COSP2-POSIT
             AND   GJAHR EQ RYEAR
             AND   VORGA IN ('KBFR','KBUE','KBUS').
      LOOP AT IT_BPPE.
        MOVE-CORRESPONDING IT_BPPE TO IT_BPPE1.
        PERIOD1 = PERIO.
        DO PERIOD3 TIMES.
          CASE PERIOD1.
            WHEN 1.
              IT_BPPE1-TOTAL2 =  IT_BPPE1-TOTAL2 + IT_BPPE-WLP01.
            WHEN 2.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP02.
            WHEN 3.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP03.
            WHEN 4.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP04.
            WHEN 5.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP05.
            WHEN 6.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP06.
            WHEN 7.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP07.
            WHEN 8.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP08.
            WHEN 9.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP09.
            WHEN 10.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP10.
            WHEN 11.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP11.
            WHEN 12.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP12.
          ENDCASE.
          IF PERIOD2 >= PERIOD1.
            PERIOD1 = PERIOD1 + 1.
          ENDIF.
        ENDDO.
        COLLECT IT_BPPE1.
        CLEAR PERIOD1.
        CLEAR IT_BPPE1.
      ENDLOOP.
    ENDFORM.                                                    " GET_DATA1
    *&      Form  PROCESS_DATA1
          text
    -->  p1        text
    <--  p2        text
    FORM PROCESS_DATA1 .
      LOOP AT IT_COSP2.
        IT_FINAL1-GJAHR = IT_COSP2-GJAHR.
        IT_FINAL1-KSTAR = IT_COSP2-KSTAR.
        IT_FINAL1-TOTAL1 = IT_COSP2-TOTAL.
        SELECT SINGLE KOSTL FROM CSKS INTO IT_FINAL1-KOSTL WHERE KOKRS = '1000'
                                                            AND BUKRS EQ 'NFCL'
                                                            AND OBJNR = IT_COSP2-OBJNR.
        READ TABLE IT_BPPE1 WITH KEY OBJNR = IT_COSP2-OBJNR1 POSIT = IT_COSP2-POSIT.
        IF SY-SUBRC EQ 0.
          IT_FINAL1-TOTAL3 = IT_BPPE1-TOTAL2.
        ENDIF.
        SELECT SINGLE KTEXT INTO IT_FINAL1-TEXT FROM CSKU WHERE SPRAS EQ 'EN'
                                                          AND  KSTAR EQ  IT_COSP2-KSTAR.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_FINAL1-KOSTL
          IMPORTING
            OUTPUT = IT_FINAL1-KOSTL.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_FINAL1-KSTAR
          IMPORTING
            OUTPUT = IT_FINAL1-KSTAR.
        SELECT SINGLE BEZEICH INTO IT_FINAL1-BEZEICH FROM FMFCTRT
                                                    WHERE SPRAS EQ 'EN'
                                                    AND   FICTR EQ IT_FINAL1-KOSTL.
        IT_FINAL1-VARIANCE = IT_FINAL1-TOTAL3 - IT_FINAL1-TOTAL1.
        APPEND IT_FINAL1.
        CLEAR IT_FINAL1.
      ENDLOOP.
      SORT IT_FINAL1 BY KOSTL KSTAR.
      DELETE IT_FINAL1 WHERE KOSTL IS INITIAL.
    ENDFORM.                    " PROCESS_DATA1
    *&      Form  BUILD_FIELDCATALOG
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_FIELDCATALOG .
      FIELDCATALOG-FIELDNAME   = 'RFISTL'.
      FIELDCATALOG-SELTEXT_M   = 'Funds Center'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'BEZEICH'.
      FIELDCATALOG-SELTEXT_M   = 'Fund Center Description'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'RFIPEX'.
      FIELDCATALOG-SELTEXT_M   = 'Commitment Item'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'TEXT'.
      FIELDCATALOG-SELTEXT_M   = 'Commitment Item Description'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'ALLOC'.
      FIELDCATALOG-SELTEXT_M   = 'Allocated Budget'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'USED'.
      FIELDCATALOG-SELTEXT_M   = 'Used Budget'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'REMAIN'.
      FIELDCATALOG-SELTEXT_M   = 'Remaining Budget'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
    ENDFORM.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_FIELDCATALOG1
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_FIELDCATALOG1 .
      FIELDCATALOG-FIELDNAME   = 'KOSTL'.
      FIELDCATALOG-SELTEXT_M   = 'Cost Center'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'BEZEICH'.
      FIELDCATALOG-SELTEXT_M   = 'Cost Center Description'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'KSTAR'.
      FIELDCATALOG-SELTEXT_M   = 'G/L Account'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'TEXT'.
      FIELDCATALOG-SELTEXT_M   = 'G/L Account Description'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'TOTAL3'.
      FIELDCATALOG-SELTEXT_M   = 'Planned amount'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'TOTAL1'.
      FIELDCATALOG-SELTEXT_M   = 'Actuals'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'VARIANCE'.
      FIELDCATALOG-SELTEXT_M   = 'Variance'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
    ENDFORM.                    " BUILD_FIELDCATALOG1
    *&      Form  BUILD_LAYOUT
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_LAYOUT .
      GD_LAYOUT-NO_INPUT          = 'X'.
      GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
    ENDFORM.                    " BUILD_LAYOUT
    *&      Form  BUILD_SORT
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_SORT .
      DATA: GT_SORT TYPE SLIS_SORTINFO_ALV.
      GT_SORT-UP = 'X'.
      GT_SORT-FIELDNAME = 'RFISTL'.
      GT_SORT-TABNAME  = 'IT_FINAL'.
      GT_SORT-SUBTOT  = 'X'.
      APPEND GT_SORT TO GD_SORT.
      CLEAR GT_SORT.
      GT_SORT-UP = 'X'.
      GT_SORT-FIELDNAME = 'BEZEICH'.
      GT_SORT-TABNAME  = 'IT_FINAL'.
      APPEND GT_SORT TO GD_SORT.
      CLEAR GT_SORT.
    ENDFORM.                    " BUILD_SORT
    *&      Form  BUILD_SORT1
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_SORT1 .
      DATA: GT_SORT TYPE SLIS_SORTINFO_ALV.
      GT_SORT-UP = 'X'.
      GT_SORT-FIELDNAME = 'KOSTL'.
      GT_SORT-TABNAME  = 'IT_FINAL'.
      GT_SORT-SUBTOT  = 'X'.
      APPEND GT_SORT TO GD_SORT.
      CLEAR GT_SORT.
      GT_SORT-UP = 'X'.
      GT_SORT-FIELDNAME = 'BEZEICH'.
      GT_SORT-TABNAME  = 'IT_FINAL'.
      APPEND GT_SORT TO GD_SORT.
      CLEAR GT_SORT.
    ENDFORM.                    " BUILD_SORT1
    *&      Form  BUILD_EVENTS
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_EVENTS .
      IT_EVENT-NAME = 'TOP_OF_PAGE'.
      IT_EVENT-FORM = 'TOP_OF_PAGE'.
      APPEND IT_EVENT TO IT_EVENT1.
    CLEAR IT_EVENT.
    ENDFORM.                    " BUILD_EVENTS
    *&      Form TOP_OF_PAGE
          ALV TOP-OF-PAGE
    FORM TOP_OF_PAGE.                                           "#EC CALLED
      REFRESH : IT_LIST_TOP_OF_PAGE.
      CLEAR : IT_LINE.
      IT_LINE-TYP  = 'H'.
      IT_LINE-INFO = TEXT-001.
      APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      CLEAR IT_LINE.
      IF RADIO EQ 'X'.
        IT_LINE-TYP  = 'S'.
        IT_LINE-INFO  = TEXT-101.
        IF NOT FIPEX-LOW IS INITIAL.
          CONCATENATE TEXT-101 '-' FIPEX-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
          IF NOT FIPEX-HIGH IS INITIAL.
            CONCATENATE TEXT-101 '-' FIPEX-LOW 'to' FIPEX-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
          ENDIF.
        ENDIF.
        APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
        CLEAR IT_LINE-INFO.
        IT_LINE-INFO = TEXT-102.
        IF NOT RFISTL-LOW IS INITIAL.
          CONCATENATE TEXT-102 '-' RFISTL-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
          IF NOT RFISTL-HIGH IS INITIAL.
            CONCATENATE TEXT-102 '-' RFISTL-LOW 'to' RFISTL-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
          ENDIF.
        ENDIF.
        APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      ENDIF.
      IF RADIO1 EQ 'X'.
        CLEAR IT_LINE-INFO.
        IT_LINE-INFO = TEXT-105.
        IF NOT KOSTL-LOW IS INITIAL.
          CONCATENATE TEXT-105 '-' KOSTL-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
          IF NOT KOSTL-HIGH IS INITIAL.
            CONCATENATE TEXT-105 '-' KOSTL-LOW 'to' KOSTL-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
          ENDIF.
        ENDIF.
        APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
        CLEAR IT_LINE-INFO.
        IT_LINE-INFO = TEXT-106.
        IF NOT HKONT-LOW IS INITIAL.
          CONCATENATE TEXT-106 '-' HKONT-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
          IF NOT HKONT-HIGH IS INITIAL.
            CONCATENATE TEXT-106 '-' HKONT-LOW 'to' HKONT-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
          ENDIF.
        ENDIF.
        APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      ENDIF.
      CLEAR IT_LINE-INFO.
      IT_LINE-INFO = TEXT-103.
      IF NOT PERDE-LOW IS INITIAL.
        CONCATENATE TEXT-103 '-' PERDE-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
        IF NOT PERDE-HIGH IS INITIAL.
          CONCATENATE TEXT-103 '-' PERDE-LOW 'to' PERDE-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
        ENDIF.
      ENDIF.
      APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      CLEAR IT_LINE-INFO.
      IT_LINE-INFO = TEXT-104.
      IF NOT RYEAR IS INITIAL.
        CONCATENATE TEXT-104 '-' RYEAR INTO IT_LINE-INFO SEPARATED BY SPACE.
      ENDIF.
      APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = IT_LIST_TOP_OF_PAGE.
    ENDFORM.                               "TOP_OF_PAGE
    *&      Form  DISPLAY_ALV_REPORT
          text
    -->  p1        text
    <--  p2        text
    FORM DISPLAY_ALV_REPORT .
      GD_REPID = SY-REPID.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM     = GD_REPID
          I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
          IS_LAYOUT              = GD_LAYOUT
          IT_EVENTS              = IT_EVENT1[]
          IT_FIELDCAT            = FIELDCATALOG[]
          IT_SORT                = GD_SORT[]
        TABLES
          T_OUTTAB               = IT_FINAL
        EXCEPTIONS
          PROGRAM_ERROR          = 1
          OTHERS                 = 2.
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    "DISPLAY_ALV_REPORT
    *&      Form  DISPLAY_ALV_REPORT1
          text
    -->  p1        text
    <--  p2        text
    FORM DISPLAY_ALV_REPORT1 .
      GD_REPID = SY-REPID.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM     = GD_REPID
          I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
          IS_LAYOUT              = GD_LAYOUT
          IT_EVENTS              = IT_EVENT1[]
          IT_FIELDCAT            = FIELDCATALOG[]
          IT_SORT                = GD_SORT[]
        TABLES
          T_OUTTAB               = IT_FINAL1
        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-MSG

Maybe you are looking for