Regarding creation of report categeory

hi friends,
could u help me how to create report categeory of my own .
i mean while using ldb we get the standard selection screen.
instead of that i need just 3 fields in the selection screen of my own.
how can i create that and add it to report category.
explain me briefly asap.
thanks & regards
devender reddy.

Dear Devender Reddy,
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/HRREPORTING/HRREPORTING.pdf
http://help.sap.com/saphelp_erp2005vp/helpdata/en/23/7fde36857ccd15e10000009b38f889/frameset.htm
Create Report Categories :
In this step, you define the report categories and determine the layout of the standard selection screen for these report categories. You can create report categories for programs or queries that are based on the PNP or PNPCE logical databases.
The definition of report categories is divided into two sections:
o In the Change Report Category view, you define general attributes such as sort order, input fields for date, and so on.
o In the Change Selection Criteria view, you define which selection fields of the logical database should be avaliable on the selection screen.
Adjusting the Standard Selection Screen:
In this step, you can adapt the standard selection screen for reports which use the logical database PNP or PNPCE to your requirements.
To do this, you assign a program class to the reports whose selection screen you want to change. The program class determines which selection parameters appear and which characteristics these parameters have.
Reports are assigned to report classes in the standard SAP system. By making entries in Customizing, you can override the SAP report classes.
When you call up a report, a check is carried out first to see whether you have assigned a program class to the report. If you have, the selection screen belonging to the report class appears. Otherwise, the selection screen that was assigned to the report class in the standard SAP system, appears.
Regards,
Naveen.

Similar Messages

  • Help needed regarding creation of report

    Hi all
    I am using apex 4.0 and oracle 10g
    I am creating a classic report and I have columns to display in the report.
    ex col A, Col B and Col C
    I am getting the values of Col A and Col B values from the table. I need to get the value of Col C from a different table based on Col A and Col B.
    Ex:
    Col A Col B Col C()
    5 4 AAA
    1 3 BBB
    7 3 CCC
    Can anyone please let me know how we can do this in apex or write a sql to generate this kind of report
    to get the value for Col C based on col A and B/
    Thanks
    Rik
    Edited by: Rik281 on Aug 4, 2011 7:46 AM
    Edited by: Rik281 on Aug 4, 2011 7:49 AM

    Thomas thanks for the quick reply,
    I am sorry that I have given the question wrong...
    I need to get the value of col C from a different table based on Col A and B Values. can you please let me know about that?

  • Diff b/w creation of Report in Shared folder and in My folder

    Dear All,
    May i know what's the diff b/w creation of Report in Shared folder and in My folder.
    Is there any features changes.
    Regards..

    Hi,
    you can add shared folders to roles and so give users assigned to this role the permission to use the reports in that folder. Reports and folders in My Folders are not sharable.
    Regards
    Rainer

  • Problem Regarding Creation of Compound field

    Hi all,
    I have a problem regarding creation of a compound source field.
    My source field is say for eg. SF1 and SF2
    Destination Field is a look up flat field say LF which has 2 display fields D1 and D2
    I mapped SF1 to D1 and SF2 to D2
    But when i right click at source and select 'Create compound field' for SF1 and SF2, the compound field is not created automatically.
    Can anyone give me a hint as to why is this happening?
    Regards,
    Roshani

    Hi Roshani,
    Just check for couple of other things, like
    1) I hope its not a qualified table and none of those fields are qualified.
    2) None of the fields are ther currently in the matching set in the next tab.
    3) You didnt map the main filed (look up table filed, which is there as a sub-table name)
    4) There are no more display fields for that table.
    I hope it should be one of the above issues. please check for them.
    Cheers,
    Cherry.

  • Regarding creation of node element

    Hi
    i hav a doubt regarding creation of node element. u can create new node element using method create(cn)Element available either directly from wdContext or from wdContext.node(cn) where cn is any context node.
    can any one plz explain me what's the difference between two.
    does it has any thing to with node being singelton or non-singelton?
    also can anyone explain me the difference between add and bind method.
    thanks.

    hi
    good
    Data Binding Methods
    If a property can, or must be bound to the context, the respective bind and bound methods are available.
    ●     The bind methods bind the value of a property to the context element specified by the path.
    The name of the method is created according to the following pattern:
    BIND_<runtime name of the property>.
    Example: table, property: design, method: BIND_DESIGN.
    &#9679;     The bound methods return the path of the context element to which a property is bound and return NULL if no binding exists.
    The name of the method is created according to the following pattern:
    BOUND_<runtime name of the property>.
    Example: table, property: design, method: BOUND_DESIGN.
    ADD METHOD->
    Two add methods that add an element.
    &#9675;     If only the element is transferred as parameter, then the element is added at the and of a list
    &#9675;     If an index is transferred as well, then this element is transferred at the specified index position.
    http://help.sap.com/saphelp_erp2005/helpdata/en/66/18b44145143831e10000000a155106/content.htm
    thanks
    mrutyun^

  • Regarding : Creation of child nodes in a outlinefield

    Hi,
    I am facing a few problems in creating a child node. I read elements from an array to populate the outline field. The array has exact definitions as to what should be a parent and child respectively. While I am able to create nodes at the parent level, I am unable to create child nodes for any parent. I discovered that the value for the parent node is getting lost. I have tried to use some of the methods to arrive at the parent node, but to no anvil. Could some one suggest how exactly to get the value of the parent node so that the child node can be assigned to the parent.
    Thanks In advance.
    Balasubramaniam Sures
    [email protected]
    P.S : I have seen the examples Simple Outline field and File Browser. No clues from here.

    I take it that you are traversing through the array and loading each
    element into the OutlineField. At the risk of stating the obvious, for
    each element you must also identify it's parent. This is necessary to
    set the relationship from the child to the parent or vise versa.
    If you are already doing this and are still having difficulty, the
    problem may be as simple as setting the IsFolder property of the parent
    node. Unless this is done, it's child nodes will not be visible.
    Van Vuong
    Lead Technical Analyst
    Office: 972.985.5289
    VoiceNow: 972.330.0822
    Internet: [email protected]
    PAGE NET
    From: bala[SMTP:[email protected]]
    Sent: Friday, October 03, 1997 12:32 PM
    To: '[email protected]'
    Subject: Regarding : Creation of child nodes in a outline field
    Hi,
    I am facing a few problems in creating a child node. I read elements from an
    array to populate the outline field. The array has exact definitions as to
    what should be a parent and child respectively. While I am able to create
    nodes at the parent level, I am unable to create child nodes for any parent.
    I discovered that the value for the parent node is getting lost. I have
    tried to use some of the methods to arrive at the parent node, but to no
    anvil. Could some one suggest how exactly to get the value of the parent node
    so that the child node can be assigned to the parent.
    Thanks In advance.
    Balasubramaniam Sures
    [email protected]
    P.S : I have seen the examples Simple Outline field and File Browser. No
    clues from here.

  • RE: Regarding : Creation of child nodes in a outlinefield

    Hi, Balasubramaniam:
    Try to set the isFolder attribute of your parent display node to TRUE.
    This may solve your problem. Also, check isFilled attribute of display
    node, you might find the answer.
    Hope this helps.
    Tien Wang
    Indus Consultancy Services
    http://www.indcon.com
    Phone 201.261.3100 x233
    Fax 201.261.1399
    E-mail : [email protected]
    -----Original Message-----
    From: owner-forte-users [SMTP:[email protected]]
    Sent: Friday, October 03, 1997 5:32 PM
    To: '[email protected]'
    Subject: Regarding : Creation of child nodes in a outline field
    Hi,
    I am facing a few problems in creating a child node. I read elements =
    from an array to populate the outline field. The array has exact =
    definitions as to what should be a parent and child respectively. While =
    I am able to create nodes at the parent level, I am unable to create =
    child nodes for any parent. I discovered that the value for the parent =
    node is getting lost. I have tried to use some of the methods to arrive
    =
    at the parent node, but to no anvil. Could some one suggest how exactly =
    to get the value of the parent node so that the child node can be =
    assigned to the parent.
    Thanks In advance.
    Balasubramaniam Sures
    [email protected]
    P.S : I have seen the examples Simple Outline field and File Browser. No
    =
    clues from here.

    I take it that you are traversing through the array and loading each
    element into the OutlineField. At the risk of stating the obvious, for
    each element you must also identify it's parent. This is necessary to
    set the relationship from the child to the parent or vise versa.
    If you are already doing this and are still having difficulty, the
    problem may be as simple as setting the IsFolder property of the parent
    node. Unless this is done, it's child nodes will not be visible.
    Van Vuong
    Lead Technical Analyst
    Office: 972.985.5289
    VoiceNow: 972.330.0822
    Internet: [email protected]
    PAGE NET
    From: bala[SMTP:[email protected]]
    Sent: Friday, October 03, 1997 12:32 PM
    To: '[email protected]'
    Subject: Regarding : Creation of child nodes in a outline field
    Hi,
    I am facing a few problems in creating a child node. I read elements from an
    array to populate the outline field. The array has exact definitions as to
    what should be a parent and child respectively. While I am able to create
    nodes at the parent level, I am unable to create child nodes for any parent.
    I discovered that the value for the parent node is getting lost. I have
    tried to use some of the methods to arrive at the parent node, but to no
    anvil. Could some one suggest how exactly to get the value of the parent node
    so that the child node can be assigned to the parent.
    Thanks In advance.
    Balasubramaniam Sures
    [email protected]
    P.S : I have seen the examples Simple Outline field and File Browser. No
    clues from here.

  • Creation of Report+Form pages

    HI all,
    In [Building an application using APEX OBE|http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/devdays2012/apexp1_lab/apexp1_lab.html] when create the app, creates pages too, and one of them (well, 2) is a Report+Form.
    I tried to search this in my actual application created. But I only found, Form, and Report, but not both.
    There are some way to automatize the creation of this 2 pages, like Application Wizard does?
    Regards.

    GiuseppeL wrote:
    There are some way to automatize the creation of this 2 pages, like Application Wizard does?Yes. From the application home page click Create Page > Form > Form on a Table with Report, then follow the wizard.

  • Creation of reports in OBIEE

    Hi,
    I am new to BI.
    I installed OBIEE in linux.
    Can anybody please explain the brief procedure of crating tables and reports in bi dashboard.
    It's urgent.
    Thanks & Regards,
    Kavitha

    Hi,
    I installed admin tool of bi for windows and trying to create rpd file for linux there.
    I created a datasource by following the doc,
    http://oraclebi.soundvoid.net/2008/10/open-a-linux-hosted-repository-in-online-mode/
    but, it displayed only sample sales in the database list at the end of datasource creation.
    Actually, in my linux server, I have created a database named test, I want to create an rpd to connect to that database
    but, when I selected new from admin tool, it is asking to provide a name for rpd file and not asking any connectivity details, just showing three layers, in physical window, I selected new database, it asked for database nanme and datasource definition. I just gave name as test and definition as Oracle 10g XE, after that copied
    this rpd to repository folder in linu bi, changed NQSConfig.INI and instanceconfig.xml fiels and restared bi server, but didn't find the database in the bi answers window. I think the procedure to create rpd file is wrong.
    Can you please provide the steps how to create an rpd file to use in linux.
    Thanks,
    Kavitha

  • 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

  • CUP - Issue regarding creation of New SAP ID in CUP.

    System :  SAP GRC 5.3 SP 12..
    We have requirement where in we need to design a workflow for creation of New SAP ID.
    The Naming convention followed for SAP ID is FIRST LETTER of FIRST NAME and LAST NAME with maximum 8 characters.
    For Eg
    JOHN SMITH would have SAP ID as JSMITH
    JERRY SMITH would  have SAP ID as  JSMITH01
    The requirement here is when user fill the REQUEST FORM for NEW User ID there is field where in the requestor need to put the desired SAP ID,
    Can a validation be set OR Logic be written so that user can put the SAP ID as per the naming convention..?
    Also , any other solution as to how the situtation can be handled in CUP...
    Regards.
    Ajit

    Hi Ajit,
    Yes, you can maintain the user ID in the Active Directory. User id will be now auto populated in the request form, from Active Directory when  we data Source is LDAP -Actice directory. So when user login to end user form to create a request, It's all information( user details + manager details ) will fetched from Active Directory.
    It is not possible to change userid in later stage of approval in the request.
    You can have security as final stage and guide them to create user manually as per naming convention.
    Make auto provisioning OFF in CUP
    Kind Regards,
    Srinivasan

  • Creation of report with the help of report painter

    Dear Experts,
                         I need report painter material, if any body have  pls  farward to me.
    my intension to create controlling report with the help of report painter.
    I am ready to award full points.
    Thanks in advance
    Regards
    avudaiappan
    Moderator - Please read this:
    /thread/931177 [original link is broken]
    Thread locked

    Hello Chinasammy,
    Report Painter allows you to create reports using data from SAP application components, which you can adapt to meet your individual requirements.
    Many of your reporting requirements can already be met by using the standard reports provided by various SAP application components. If these SAP standard reports do not meet your reporting needs, Report Painter enables you to define your specific reports quickly and easily.
    When executing a Report Painter report, it is displayed by the system in Report Writer format. You thus have access to the same functions as for Report Writer reports defined in the same way, and can combine Report Painter and Report Writer reports together in a report group.
    Report Painter uses a graphical report structure, which forms the basis for your report definition and displays the rows and columns as they appear in the final report output.
    To facilitate report definition, you can use many of the standard reporting objects provided by SAP (such as libraries, row/column models, and standard layouts) in your own specific reports. When you define a Report Painter report you can use groups (sets). You can also enter characteristic values directly.
    Advantages of Report Painter include:
    Flexible and simple report definition
    Report definition without using sets
    Direct layout control: The rows and columns are displayed in the report definition as they appear in the final report output, making test runs unnecessary.
    =============================================
    Below mentioned is the process for creating reports using Report Painter as a tool.
    Selecting and maintaining a library for your report: As the transfer structure to Report Painter you use a report table, which is defaulted by SAP and can not be maintained. This table contains characteristics, key figures and predefined columns. In a library, you collect the characteristics, key figures, and predefined columns from the report table, which you need for your Report Painter reports.
    When you define a Report Painter report, you assign it to a library. Reports assigned to one library can only use the characteristics, key figures, and predefined columns selected for that library.
    When you create or maintain a library, the Position field determines the sequence in which the characteristics, key figures or (predefined) key figures appear in the Report Painter selection lists when you define a report. This allows you to position the objects that you use regularly in your reports at the beginning of the selection lists. If you do not make an entry in the Position field, you will not be able to use this object in Report Painter reports.
    You can use either the standard SAP libraries for your reports or define your own.
    (ii) Selecting or maintaining a standard layout for your report: Standard layouts determine report layout features and the format of your report data.If the SAP standard layouts do not meet your reporting requirements, you can create a new  standard layout or change an existing one.
    (iii) Defining row and column models: A model is a one-dimensional, predefined reporting structure that you can insert in either the rows or columns of your report.If you often use the same or similar row or column definitions in your reports, it is recommended that you create row or column models.
    You must define the row and/or column models that you want to include in your report definition before you define the report.
    You can also use the standard column models supplied by SAP.
    (iv) Defining the report: Defining a Report Painter report involves the following steps.
    (a) Define the report columns: You define the report columns using the characteristics, key figures, and predefined columns selected for the library that the report uses. Alternatively, you can use a column model for column definition. Column models are predefined column structures which you insert into your entire column definition, instead of defining each individual column.
    (b) Define the report rows: You define the report rows using the characteristics selected for the library selected for the report.
    Alternatively, you can use a row model for your row definition. Row models serve the same purpose as column models, but are used to define a report row.
    Edit and format the report rows and columns in line with your requirements. (For example, you can hide rows or columns, define the column width or define colors for your report rows).
    (iii)Define general data selection criteria for the selection of your report data: Selection criteria are the characteristics used to select data for the entire report. You cannot enter characteristics as data selection criteria if they are already being used in the report rows or columns.
    (iv) Assigning the report to a report group: Once you have defined a report, you must assign it to a report group. A report group can contain one or more reports from the same library. However, reports that share the same data will select data more quickly and improve processing time.
    Hopw this helps you. Please let me know if you need anything more and assign points.
    Rgds
    Manish

  • Regarding purchase order report in bw

    Hi guys,
                   I have a requirement for report in bw. I am getting data form datasources from po header and item level. In the report i have to show Purchase order quantity,
    Goods recived quantity, MRP and goods reciept value. Can u tell me what all the infoobjects i have to take for these fields in BW. Its urgent. I will definitley award points.Also tell me the fields from R/3 and from which tables they are coming from.
    Regards,
    Niranjan
    [email protected]

    Hi Niranjan,
                   check this link u will know all fields in bw and r/3..if u have any concerns get back to me.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ed/62073c44564d59e10000000a114084/frameset.htm(header level)
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ed/62073c44564d59e10000000a114084/frameset.htm  ( Item level)
    Regards anil.

  • Regarding standard aging reports

    Hi Experts/Gurus
        I need the standard reports for customer aging report and vendor aging report.
    Need immediate replies.
    Your answers can be rewarded with good points.
    Regards,
    kumar

    REPORT  zfi_customer_ageing
            NO STANDARD PAGE HEADING
            LINE-COUNT 58
           line-size 168
            MESSAGE-ID zh_msg.
           D A T A B A S E  T A B L E S   D E C L A R A T I O N
    TABLES: kna1,           " Customer Master (General)
            t001,           " Company Codes
            rfpdo.
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S           *
    Internal Table for Customer Open Items Data
    DATA: BEGIN OF int_bsid OCCURS 0,
            kunnr   LIKE bsid-kunnr,         " Customer Number
            name1   LIKE kna1-name1,         " Customer Name
            shkzg   LIKE bsid-shkzg,         " Dr/Cr Indicator
            belnr   LIKE bsid-belnr,         " Document Number
            xblnr   LIKE bsid-xblnr,         " Ref Doc No
            blart   LIKE bsid-blart,         " Document Type
            zfbdt   LIKE bsid-zfbdt,         " Base Line Date
            zbd1t   LIKE bsid-zbd1t,         " Due date1
            zbd2t   LIKE bsid-zbd2t,         " Due Date2
            zbd3t   LIKE bsid-zbd3t,         " Due Date3
            waers   LIKE bsid-waers,         " Currency
            dmbtr   LIKE bsid-dmbtr,         " Amount in Local Curr
          END OF int_bsid.
    Internal Table for Amounts Sum Up Data
    DATA: BEGIN OF int_final OCCURS 0,
            kunnr   LIKE bsid-kunnr,         " Customer Number
            name1   LIKE kna1-name1,         " Customer Name
            total1  LIKE bsid-dmbtr,         " Amount in Local Curr
            total2  LIKE bsid-dmbtr,         " Amount in Local Curr
            total3  LIKE bsid-dmbtr,         " Amount in Local Curr
            total4  LIKE bsid-dmbtr,         " Amount in Local Curr
            total5  LIKE bsid-dmbtr,         " Amount in Local Curr
            total6  LIKE bsid-dmbtr,         " Amount in Local Curr
            total   LIKE bsid-dmbtr,         " Amount in Local Curr
          END OF int_final.
               D A T A  D E C L A R A T I O N S
    DATA : v_flag,                          " Flag
           v_gtotal1     LIKE bsid-dmbtr,   " Amount Totals
           v_gtotal2     LIKE bsid-dmbtr,   " Amount Totals
           v_gtotal3     LIKE bsid-dmbtr,   " Amount Totals
           v_gtotal4     LIKE bsid-dmbtr,   " Amount Totals
           v_gtotal5     LIKE bsid-dmbtr,   " Amount Totals
           v_gtotal6     LIKE bsid-dmbtr,   " Amount Totals
           v_gtotal      LIKE bsid-dmbtr,   " Amount Totals
           v_subtotal1   LIKE bsid-dmbtr,   " Amount Totals
           v_subtotal2   LIKE bsid-dmbtr,   " Amount Totals
           v_subtotal3   LIKE bsid-dmbtr,   " Amount Totals
           v_subtotal4   LIKE bsid-dmbtr,   " Amount Totals
           v_subtotal5   LIKE bsid-dmbtr,   " Amount Totals
           v_subtotal6   LIKE bsid-dmbtr,   " Amount Totals
           v_subtotal    LIKE bsid-dmbtr,   " Amount Totals
           v_date        LIKE bsid-zfbdt,   " Due Date
           v_tage1(4),                      " Age 30 days
           v_tage2(4),                      " Age 60 days
           v_tage3(4),                      " Age 90 days
           v_fir(15),                       " Column Text1
           v_sec(15),                       " Column Text2
           v_thir(15),                      " Column Text3
           v_four(17),                      " Column Text4
           v_fidd(4),                       " Days field1
           v_sedd(4),                       " Days field2
           v_thdd(4),                       " Days field3
           v_fodd(4),                       " Days field4
           v_str  TYPE  SY-LISEL,           " String
           v_str1(11),                      " String
           v_tage(3),                       " String
           v_date1(10).                     " Date field
         R A N G E   D E C L A R A T I O N S
    RANGES: r_date1 FOR bsid-zfbdt,      " Date Range 1
            r_date2 FOR bsid-zfbdt,      " Date Range 2
            r_date3 FOR bsid-zfbdt,      " Date Range 3
            r_date4 FOR bsid-zfbdt.      " Date Range 4
             S E L E C T I O N  S C R E E N                      *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_kunnr FOR kna1-kunnr. "Customer account
    PARAMETERS:     p_bukrs LIKE t001-bukrs. "Co. Code
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS:   p_allgst LIKE rfpdo-allgstid OBLIGATORY DEFAULT sy-datum.
    "Open items at key date
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    PARAMETERS: p_tage1 LIKE rfpdo1-allgfael DEFAULT '30',
                p_tage2 LIKE rfpdo1-allgfael DEFAULT '60',
                p_tage3 LIKE rfpdo1-allgfael DEFAULT '90',
                p_tage4 LIKE rfpdo1-allgfael DEFAULT '120'.
    SELECTION-SCREEN END OF BLOCK b3.
                  A T  S E L E C T I O N  S C R E E N                   *
    AT SELECTION-SCREEN.
    Validate the screen fields
      PERFORM validate_flds.
                   S T A R T  O F  S E L E C T I O N                    *
    START-OF-SELECTION.
    Fetch main data
      PERFORM fetch_data.
                           T O P  O F  P A G E
    Header
    TOP-OF-PAGE.
      PERFORM header.
                           E N D  O F  P A G E
    Footer
    END-OF-PAGE.
      ULINE.
       T O P  O F  P A G E  D U R I N G  L I N E  S E L E C T I O N     *
    Top of Page in Secondary List
    TOP-OF-PAGE DURING LINE-SELECTION.
      PERFORM header1.
                  A T  L I N E  S E L E C T I O N                    *
    AT LINE-SELECTION.
    Perform Line Selections
      PERFORM line_selection.
                     E N D  O F  S E L E C T I O N
    END-OF-SELECTION.
    List generation
      PERFORM basic_list.
    *&      Form  validate_flds
    Validation of Selection Screen fields
    FORM validate_flds .
    Validate Customer Code
      CLEAR kna1-kunnr.
      SELECT kunnr UP TO 1 ROWS
          INTO kna1-kunnr
          FROM kna1
          WHERE kunnr IN s_kunnr AND
                spras = sy-langu.
      ENDSELECT.
      IF sy-subrc <> 0.
        MESSAGE e000 WITH 'Invalid Customer Code range'(023).
      ENDIF.
    Validate Company Code
      CLEAR t001-bukrs.
      SELECT bukrs  UP TO 1 ROWS
          INTO t001-bukrs
          FROM t001
          WHERE bukrs =  p_bukrs AND
                spras = sy-langu.
      ENDSELECT.
      IF sy-subrc <> 0.
        MESSAGE e021.      " Invalid Company Code range
      ENDIF.
      IF ( p_tage1 > p_tage2 ) OR ( p_tage1 > p_tage3 ) OR
          ( p_tage1 > p_tage4 ).
        MESSAGE e999 WITH 'Column 1 greater'(004)
                    'than Column# 2 or 3 or 4'(005).
      ENDIF.
    *column 2
      IF ( p_tage2 > p_tage3 ) OR ( p_tage1 > p_tage4 ).
        MESSAGE e999 WITH 'Column 2 greater'(006)
                    'than Column# 3 or 4'(007).
      ENDIF.
    *column3
      IF ( p_tage3 > p_tage4 ).
        MESSAGE e999 WITH 'Column 3 greater'(008)
                    'than Column#4'(009).
      ENDIF.
    ENDFORM.                    " validate_flds
    *&      Form  fetch_data
    Fetching Data from Database Tables
    FORM fetch_data .
    Date Range Population
      r_date1-sign   = 'I'.
      r_date1-option = 'BT'.
      r_date1-low    = p_allgst.
      r_date1-high    = r_date1-low + p_tage1.
      APPEND r_date1.
      r_date2-sign   = 'I'.
      r_date2-option = 'BT'.
      r_date2-low    =  r_date1-high + 1.
      r_date2-high    = r_date1-low + p_tage2.
      APPEND r_date2.
      r_date3-sign   = 'I'.
      r_date3-option = 'BT'.
      r_date3-low    = r_date2-high + 1.
      r_date3-high    = r_date1-low + p_tage3.
      APPEND r_date3.
      r_date4-sign   = 'I'.
      r_date4-option = 'BT'.
      r_date4-low    = r_date3-high + 1.
      r_date4-high    = r_date1-low + p_tage4.
      APPEND r_date4.
    Select the Customer Open Items data from bsid
      SELECT l~kunnr
             l1~name1
             b~waers
             b~dmbtr
             b~zfbdt
             b~zbd1t
             b~zbd2t
             b~zbd3t
             b~belnr
             b~xblnr
             b~shkzg
             b~blart
       INTO CORRESPONDING FIELDS OF TABLE int_bsid
       FROM knb1 AS l INNER JOIN kna1 AS l1
                    ON lkunnr  = l1kunnr
           INNER JOIN   bsid AS b
             ON lkunnr  = bkunnr AND
                lbukrs  = bbukrs
             WHERE l~kunnr  IN s_kunnr AND
                   l~bukrs = p_bukrs and
                   b~zfbdt le p_allgst.
      IF SY-SUBRC <> 0.
        MESSAGE i000 WITH 'No Data found'(027).
      ENDIF.
    Removing the date limit to get the due items in the past
      DELETE int_bsid WHERE
                  ( blart  NE 'RE' AND blart  NE 'KR' ) OR
                    shkzg  NE 'H'.
      SORT int_bsid BY kunnr.
    ENDFORM.                    " fetch_data
    *&      Form  header
    Display the Report Columns
    FORM header .
      v_tage1 = p_tage1 + 1.
      v_tage2 = p_tage2 + 1.
      v_tage3 = p_tage3 + 1.
      v_fidd = p_tage1.
      v_sedd = p_tage2.
      v_thdd = p_tage3.
      v_fodd = p_tage4.
      MOVE v_fodd0(4) TO v_fodd1(3).
      v_fodd+0(1) = space.
      CONCATENATE '1 to'(010) v_fidd INTO v_fir.
      CONCATENATE v_tage1 ' to '(011) v_sedd INTO v_sec.
      CONCATENATE v_tage2 ' to '(011) v_thdd INTO v_thir.
      CONCATENATE v_tage3 ' to '(011) space v_fodd INTO v_four.
    Standard header
      clear: v_date1, v_str, v_str1, v_tage.
      write p_allgst to v_date1.
      Move  p_tage4 to v_tage.
      concatenate '>' v_tage text-025 into v_str1.
      concatenate
      'Summary of Ageing Analysis for Customer Open Invoices as on'(013)
       v_date1 into v_str separated by space.
      CALL FUNCTION 'Z_STANDARD_HEADER'
        EXPORTING
         title1 = 'Saudi International Petrochemical Company'(012)
         title2 = v_str.
      FORMAT COLOR OFF.
      WRITE  : /1(168) sy-uline.
      FORMAT COLOR 1 INTENSIFIED.
      WRITE :/1 sy-vline, 13 sy-vline, 49 sy-vline,
            50(101) 'Invoices Due For(In Days)'(014) CENTERED,
           151 sy-vline, 168 sy-vline .
      WRITE :/1 sy-vline,  2(11)  'Customer#'(015) CENTERED,
             13 sy-vline ,14(35) 'Customer Name'(016) CENTERED,
             49 sy-vline,
             50(101) sy-uline,151 sy-vline,
            152(16) 'Total'(017) CENTERED,
            168 sy-vline.
      WRITE : /1 sy-vline,13 sy-vline,      49 sy-vline,
              50(16) v_fir CENTERED,        66 sy-vline,
              67(16) v_sec CENTERED,        83 sy-vline,
              84(16) v_thir CENTERED,      100 sy-vline,
             101(16) v_four CENTERED,      117 sy-vline,
             118(16) v_str1 centered,      134 sy-vline,
             135(16) 'Already Overdue'(018) CENTERED,151 sy-vline,
             168 sy-vline.
      FORMAT COLOR OFF.
      WRITE  : /1(168) sy-uline.
    ENDFORM.                    " header
    *&      Form  basic_list
    Display the Basic List
    FORM basic_list .
      NEW-PAGE LINE-SIZE 168.
      LOOP AT int_bsid.
        CLEAR v_date.
        IF int_bsid-zbd3t <> ' '.
          v_date = int_bsid-zfbdt + int_bsid-zbd3t.
        ELSE.
          IF int_bsid-zbd2t <> ' '.
            v_date = int_bsid-zfbdt + int_bsid-zbd2t.
          ELSE.
            v_date = int_bsid-zfbdt + int_bsid-zbd1t.
          ENDIF.
        ENDIF.
        IF int_bsid-zbd1t = ' '.
          v_date = int_bsid-zfbdt.
        ENDIF.
        IF v_date IN r_date1.
          int_final-total1 =   int_final-total1 +  int_bsid-dmbtr.
        ELSEIF v_date IN r_date2.
          int_final-total2 =   int_final-total2 +  int_bsid-dmbtr.
        ELSEIF v_date IN r_date3.
          int_final-total3 =   int_final-total3 +  int_bsid-dmbtr.
        ELSEIF v_date IN r_date4.
          int_final-total4 =   int_final-total4 +  int_bsid-dmbtr.
        ELSEif v_date > r_date4-high.
          int_final-total5 =   int_final-total5 +  int_bsid-dmbtr.
        ELSEif v_date < p_allgst.
          int_final-total6 =   int_final-total6 +  int_bsid-dmbtr.
        ENDIF.
        AT END OF kunnr.
          v_flag = 1.
        ENDAT.
        IF v_flag = 1.
          int_final-kunnr = int_bsid-kunnr.
          int_final-name1 = int_bsid-name1.
          int_final-total =   int_final-total1 + int_final-total2 +
           int_final-total3 + int_final-total4 + int_final-total5 +
           int_final-total6.
          APPEND int_final.
          v_gtotal1 = v_gtotal1 + int_final-total1.
          v_gtotal2 = v_gtotal2 + int_final-total2.
          v_gtotal3 = v_gtotal3 + int_final-total3.
          v_gtotal4 = v_gtotal4 + int_final-total4.
          v_gtotal5 = v_gtotal5 + int_final-total5.
          v_gtotal6 = v_gtotal6 + int_final-total6.
          v_gtotal = v_gtotal + int_final-total.
          WRITE: /1 sy-vline,
                  2 int_final-kunnr COLOR 4 INTENSIFIED ON,
                 13 sy-vline,
                 14 int_final-name1 COLOR 4 INTENSIFIED ON,
                 49 sy-vline.
          DATA : v_rem.
          v_rem = sy-tabix MOD 2.
          IF v_rem NE 0.
            FORMAT COLOR 2 INTENSIFIED.
            WRITE :    50 int_final-total1 CURRENCY int_bsid-waers,
                       66 sy-vline,
                       67 int_final-total2 CURRENCY int_bsid-waers,
                       83 sy-vline,
                       84 int_final-total3 CURRENCY int_bsid-waers,
                      100 sy-vline,
                      101 int_final-total4 CURRENCY int_bsid-waers,
                      117 sy-vline,
                      118 int_final-total5 CURRENCY int_bsid-waers,
                      134 sy-vline,
                      135 int_final-total6 CURRENCY int_bsid-waers,
                      151 sy-vline,
                      152 int_final-total CURRENCY int_bsid-waers,
                      168 sy-vline.
          ELSE.
            WRITE :    50 int_final-total1 CURRENCY int_bsid-waers,
                       66 sy-vline,
                       67 int_final-total2 CURRENCY int_bsid-waers,
                       83 sy-vline,
                       84 int_final-total3 CURRENCY int_bsid-waers,
                      100 sy-vline,
                      101 int_final-total4 CURRENCY int_bsid-waers,
                      117 sy-vline,
                      118 int_final-total5 CURRENCY int_bsid-waers,
                      134 sy-vline,
                      135 int_final-total6 CURRENCY int_bsid-waers,
                      151 sy-vline,
                      152 int_final-total CURRENCY int_bsid-waers,
                      168 sy-vline.
          ENDIF.
          FORMAT COLOR OFF.
          HIDE int_final.
          CLEAR int_final.
          v_flag = 0.
        ENDIF.
        AT LAST.
          WRITE  : /1(168) sy-uline.
          FORMAT COLOR 3 INTENSIFIED.
          WRITE : /1 sy-vline,  2(47) 'GRAND TOTAL'(022) CENTERED,
                  49 sy-vline, 50 v_gtotal1 CURRENCY int_bsid-waers,
                  66 sy-vline, 67 v_gtotal2 CURRENCY int_bsid-waers,
                  83 sy-vline, 84 v_gtotal3 CURRENCY int_bsid-waers,
                 100 sy-vline,101 v_gtotal4 CURRENCY int_bsid-waers,
                 117 sy-vline,118 v_gtotal5 CURRENCY int_bsid-waers,
                 134 sy-vline,135 v_gtotal6 CURRENCY int_bsid-waers,
                 151 sy-vline,152 v_gtotal CURRENCY int_bsid-waers,
                 168 sy-vline.
          HIDE :  v_gtotal1,
                  v_gtotal2,
                  v_gtotal3,
                  v_gtotal4,
                  v_gtotal5,
                  v_gtotal6,
                  v_gtotal.
        ENDAT.
        FORMAT COLOR OFF.
      ENDLOOP.
      WRITE  : /1(168) sy-uline.
    ENDFORM.                    " basic_list
    *&      Form  line_selection
    When double clicked on the line display the seconday list
    FORM line_selection .
      NEW-PAGE LINE-SIZE 206.
    Sy-lsind = 1.
      DATA : v_rem,v_cnt LIKE sy-tabix.
      v_cnt = 0.
      SORT int_bsid BY belnr zfbdt.
      LOOP AT int_bsid WHERE kunnr EQ int_final-kunnr.
        v_rem = v_cnt MOD 2.
        CLEAR v_date.
        IF int_bsid-zbd3t <> ' '.
          v_date = int_bsid-zfbdt + int_bsid-zbd3t.
        ELSE.
          IF int_bsid-zbd2t <> ' '.
            v_date = int_bsid-zfbdt + int_bsid-zbd2t.
          ELSE.
            v_date = int_bsid-zfbdt + int_bsid-zbd1t.
          ENDIF.
        ENDIF.
        IF int_bsid-zbd1t = ' '.
          v_date = int_bsid-zfbdt.
        ENDIF.
        IF v_rem NE 0.
          format color 2 intensified.
          WRITE :/1 sy-vline, 2 int_bsid-belnr,
                 12 sy-vline,13 int_bsid-kunnr,
                 23 sy-vline,24 int_bsid-name1,
                 59 sy-vline,60 int_bsid-xblnr,
                 76 sy-vline,77 int_bsid-zfbdt,
                 87 sy-vline.
          WRITE : 104 sy-vline,121 sy-vline,
                  138 sy-vline,155 sy-vline,
                  172 sy-vline, 189 sy-vline,
                  190 int_bsid-dmbtr CURRENCY int_bsid-waers,
                  206 sy-vline.
          IF v_date IN r_date1.
            v_subtotal1 =   v_subtotal1 +  int_bsid-dmbtr.
            WRITE : 88 int_bsid-dmbtr  CURRENCY int_bsid-waers.
          ELSEIF v_date IN r_date2.
            v_subtotal2 =   v_subtotal2 +  int_bsid-dmbtr.
            WRITE : 105 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ELSEIF v_date IN r_date3.
            v_subtotal3 =   v_subtotal3 +  int_bsid-dmbtr.
            WRITE : 122 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ELSEIF v_date IN r_date4.
            v_subtotal4 =   v_subtotal4 +  int_bsid-dmbtr.
            WRITE : 139 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ELSEif v_date > r_date4-high.
            v_subtotal5 =   v_subtotal5 +  int_bsid-dmbtr.
            WRITE : 156 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ELSEif v_date < p_allgst.
            v_subtotal6 =   v_subtotal6 +  int_bsid-dmbtr.
            WRITE : 173 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ENDIF.
          format color off.
        ELSE.
          WRITE :/1 sy-vline, 2 int_bsid-belnr,
                 12 sy-vline,13 int_bsid-kunnr,
                 23 sy-vline,24 int_bsid-name1,
                 59 sy-vline,60 int_bsid-xblnr,
                 76 sy-vline,77 int_bsid-zfbdt,
                 87 sy-vline.
          WRITE : 104 sy-vline,121 sy-vline,
                  138 sy-vline,155 sy-vline,
                  172 sy-vline,189 sy-vline,
                  190 int_bsid-dmbtr CURRENCY int_bsid-waers,
                  206 sy-vline.
          IF v_date IN r_date1.
            v_subtotal1 =   v_subtotal1 +  int_bsid-dmbtr.
            WRITE : 88 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ELSEIF v_date IN r_date2.
            v_subtotal2 =   v_subtotal2 +  int_bsid-dmbtr.
            WRITE : 105 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ELSEIF v_date IN r_date3.
            v_subtotal3 =   v_subtotal3 +  int_bsid-dmbtr.
            WRITE : 122 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ELSEIF v_date IN r_date4.
            v_subtotal4 =   v_subtotal4 +  int_bsid-dmbtr.
            WRITE : 139 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ELSEif v_date > r_date4-high.
            v_subtotal5 =   v_subtotal5 +  int_bsid-dmbtr.
            WRITE : 156 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ELSEif v_date < p_allgst.
            v_subtotal6 =   v_subtotal6 +  int_bsid-dmbtr.
            WRITE : 173 int_bsid-dmbtr CURRENCY int_bsid-waers.
          ENDIF.
        ENDIF.
        FORMAT COLOR OFF.
        v_cnt = v_cnt + 1.
      ENDLOOP.
      WRITE : /1(206) sy-uline.
      v_subtotal = v_subtotal1 + v_subtotal2 + v_subtotal3
                  + v_subtotal4 + v_subtotal5 + v_subtotal6.
      FORMAT COLOR 3 INTENSIFIED.
      WRITE : /1 sy-vline,
                 2(85) 'Total'(017) CENTERED CURRENCY int_bsid-waers ,
                 87 sy-vline,
                 88 v_subtotal1 CURRENCY int_bsid-waers,
                104 sy-vline,
                105 v_subtotal2 CURRENCY int_bsid-waers,
                121 sy-vline,
                122 v_subtotal3 CURRENCY int_bsid-waers,
                138 sy-vline,
                139 v_subtotal4 CURRENCY int_bsid-waers,
                155 sy-vline,
                156 v_subtotal5 CURRENCY int_bsid-waers,
                172 sy-vline,
                173 v_subtotal6 CURRENCY int_bsid-waers,
                189 sy-vline,
                190 v_subtotal CURRENCY int_bsid-waers,
                206 sy-vline.
      FORMAT COLOR OFF.
      WRITE : /1(206) sy-uline.
      CLEAR : v_subtotal,v_subtotal1,v_subtotal2,v_subtotal3,
              v_subtotal4,v_subtotal5,v_gtotal1,v_gtotal2,v_gtotal3,
              v_gtotal4, v_gtotal5,v_gtotal,v_subtotal6,v_gtotal6.
    ENDFORM.                    " line_selection
    *&      Form  header1
    Secondary List Header
    FORM header1 .
    Standard header
      clear: v_date1, v_str, v_str1, v_tage.
      write p_allgst to v_date1.
      Move  p_tage4 to v_tage.
      concatenate '>' v_tage text-025 into v_str1.
      concatenate
       'Details of Ageing Analysis for Customer Open Invoices as on'(024)
        v_date1 into v_str separated by space.
      CALL FUNCTION 'Z_STANDARD_HEADER'
        EXPORTING
         title1 = 'Saudi International Petrochemical Company'(012)
         title2 =  v_str.
      FORMAT COLOR 1 intensified.
      WRITE  :/1(206) sy-uline.
      WRITE  :/1 sy-vline,12 sy-vline ,
              23 sy-vline,59 sy-vline,76 sy-vline,87 sy-vline,
              88(101) 'Invoices Due For(In Days)'(014) CENTERED,
             189 sy-vline,206 sy-vline.
      WRITE  : /1 sy-vline,  2(10) 'Doc Number'(021) CENTERED,
               12 sy-vline, 13(10) 'Customer#'(015) CENTERED,
               23 sy-vline, 24(35) 'Customer Name'(016) CENTERED,
               59 sy-vline, 60(16) 'Ref invoice#'(019) CENTERED,
               76 sy-vline, 77(10) 'Inv dt'(020) CENTERED,
               87 sy-vline, 88(101) sy-uline,
              189 sy-vline,190(16) 'Total'(017) CENTERED,
              206 sy-vline.
      WRITE : /1 sy-vline, 12 sy-vline,
               23 sy-vline,59 sy-vline,
               76 sy-vline,87 sy-vline,
               88(16) v_fir CENTERED, 104 sy-vline,
              105(16) v_sec CENTERED, 121 sy-vline,
              122(16) v_thir CENTERED, 138 sy-vline,
              139(16) v_four CENTERED, 155 sy-vline,
              156(16) v_str1 CENTERED,
              172    sy-vline,
              173(16) 'Already Overdue'(018) CENTERED,
              189 sy-vline,
              206 sy-vline.
              format color off.
      WRITE  : /1(206) sy-uline.
    ENDFORM.                                                    " header1
    REPORT  zfi_vendor_ageing
            NO STANDARD PAGE HEADING
            LINE-COUNT 58
           line-size 168
            MESSAGE-ID zh_msg.
    Report Name : Vendor Open Items Ageing Report
    Purpose     : This report displays the Vendor Open Items based on
                   different Ageing days (Calculated by taking the Base
                   Line date and the days mentioned in Payment Terms)
    M O D I F I C A T I O N    L O G
    Date       | Change Number | Initials      | Description
    30-Aug-2004 | DTSK900****   | Anji Reddy    | Initial
           D A T A B A S E  T A B L E S   D E C L A R A T I O N
    TABLES: lfa1,           " Vendor Master (General)
            t001,           " Company Codes
            rfpdo.
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S           *
    Internal Table for Vendor Open Items Data
    DATA: BEGIN OF int_bsik OCCURS 0,
            lifnr   LIKE bsik-lifnr,         " Vendor Number
            name1   LIKE lfa1-name1,         " Vendor Name
            shkzg   LIKE bsik-shkzg,         " Dr/Cr Indicator
            belnr   LIKE bsik-belnr,         " Document Number
            xblnr   LIKE bsik-xblnr,         " Ref Doc No
            blart   LIKE bsik-blart,         " Document Type
            zfbdt   LIKE bsik-zfbdt,         " Base Line Date
            zbd1t   LIKE bsik-zbd1t,         " Due date1
            zbd2t   LIKE bsik-zbd2t,         " Due Date2
            zbd3t   LIKE bsik-zbd3t,         " Due Date3
            waers   LIKE bsik-waers,         " Currency
            dmbtr   LIKE bsik-dmbtr,         " Amount in Local Curr
          END OF int_bsik.
    Internal Table for Amounts Sum Up Data
    DATA: BEGIN OF int_final OCCURS 0,
            lifnr   LIKE bsik-lifnr,         " Vendor Number
            name1   LIKE lfa1-name1,         " Vendor Name
            total1  LIKE bsik-dmbtr,         " Amount in Local Curr
            total2  LIKE bsik-dmbtr,         " Amount in Local Curr
            total3  LIKE bsik-dmbtr,         " Amount in Local Curr
            total4  LIKE bsik-dmbtr,         " Amount in Local Curr
            total5  LIKE bsik-dmbtr,         " Amount in Local Curr
            total6  LIKE bsik-dmbtr,         " Amount in Local Curr
            total   LIKE bsik-dmbtr,         " Amount in Local Curr
          END OF int_final.
               D A T A  D E C L A R A T I O N S
    DATA : v_flag,                          " Flag
           v_gtotal1     LIKE bsik-dmbtr,   " Amount Totals
           v_gtotal2     LIKE bsik-dmbtr,   " Amount Totals
           v_gtotal3     LIKE bsik-dmbtr,   " Amount Totals
           v_gtotal4     LIKE bsik-dmbtr,   " Amount Totals
           v_gtotal5     LIKE bsik-dmbtr,   " Amount Totals
           v_gtotal6     LIKE bsik-dmbtr,   " Amount Totals
           v_gtotal      LIKE bsik-dmbtr,   " Amount Totals
           v_subtotal1   LIKE bsik-dmbtr,   " Amount Totals
           v_subtotal2   LIKE bsik-dmbtr,   " Amount Totals
           v_subtotal3   LIKE bsik-dmbtr,   " Amount Totals
           v_subtotal4   LIKE bsik-dmbtr,   " Amount Totals
           v_subtotal5   LIKE bsik-dmbtr,   " Amount Totals
           v_subtotal6   LIKE bsik-dmbtr,   " Amount Totals
           v_subtotal    LIKE bsik-dmbtr,   " Amount Totals
           v_date        LIKE bsik-zfbdt,   " Due Date
           v_tage1(4),                      " Age 30 days
           v_tage2(4),                      " Age 60 days
           v_tage3(4),                      " Age 90 days
           v_fir(15),                       " Column Text1
           v_sec(15),                       " Column Text2
           v_thir(15),                      " Column Text3
           v_four(17),                      " Column Text4
           v_fidd(4),                       " Days field1
           v_sedd(4),                       " Days field2
           v_thdd(4),                       " Days field3
           v_fodd(4),                       " Days field4
           v_str  TYPE  SY-LISEL,           " String
           v_str1(11),                      " String
           v_tage(3),                       " String
           v_date1(10).                     " Date field
         R A N G E   D E C L A R A T I O N S
    RANGES: r_date1 FOR bsik-zfbdt,      " Date Range 1
            r_date2 FOR bsik-zfbdt,      " Date Range 2
            r_date3 FOR bsik-zfbdt,      " Date Range 3
            r_date4 FOR bsik-zfbdt.      " Date Range 4
             S E L E C T I O N  S C R E E N                      *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr. "Vendor account
    PARAMETERS:     p_bukrs LIKE t001-bukrs. "Co. Code
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS:   p_allgst LIKE rfpdo-allgstid OBLIGATORY DEFAULT sy-datum.
    "Open items at key date
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    PARAMETERS: p_tage1 LIKE rfpdo1-allgfael DEFAULT '30',
                p_tage2 LIKE rfpdo1-allgfael DEFAULT '60',
                p_tage3 LIKE rfpdo1-allgfael DEFAULT '90',
                p_tage4 LIKE rfpdo1-allgfael DEFAULT '120'.
    SELECTION-SCREEN END OF BLOCK b3.
                  A T  S E L E C T I O N  S C R E E N                   *
    AT SELECTION-SCREEN.
    Validate the screen fields
      PERFORM validate_flds.
                   S T A R T  O F  S E L E C T I O N                    *
    START-OF-SELECTION.
    Fetch main data
      PERFORM fetch_data.
                           T O P  O F  P A G E
    Header
    TOP-OF-PAGE.
      PERFORM header.
                           E N D  O F  P A G E
    Footer
    END-OF-PAGE.
      ULINE.
       T O P  O F  P A G E  D U R I N G  L I N E  S E L E C T I O N     *
    Top of Page in Secondary List
    TOP-OF-PAGE DURING LINE-SELECTION.
      PERFORM header1.
                  A T  L I N E  S E L E C T I O N                    *
    AT LINE-SELECTION.
    Perform Line Selections
      PERFORM line_selection.
                     E N D  O F  S E L E C T I O N
    END-OF-SELECTION.
    List generation
      PERFORM basic_list.
    *&      Form  validate_flds
    Validation of Selection Screen fields
    FORM validate_flds .
    Validate Vendor Code
      CLEAR lfa1-lifnr.
      SELECT lifnr UP TO 1 ROWS
          INTO lfa1-lifnr
          FROM lfa1
          WHERE lifnr IN s_lifnr AND
                spras = sy-langu.
      ENDSELECT.
      IF sy-subrc <> 0.
        MESSAGE e000 WITH 'Invalid Vendor Code range'(023).
      ENDIF.
    Validate Company Code
      CLEAR t001-bukrs.
      SELECT bukrs  UP TO 1 ROWS
          INTO t001-bukrs
          FROM t001
          WHERE bukrs =  p_bukrs AND
                spras = sy-langu.
      ENDSELECT.
      IF sy-subrc <> 0.
        MESSAGE e021.      " Invalid Company Code range
      ENDIF.
      IF ( p_tage1 > p_tage2 ) OR ( p_tage1 > p_tage3 ) OR
          ( p_tage1 > p_tage4 ).
        MESSAGE e999 WITH 'Column 1 greater'(004)
                    'than Column# 2 or 3 or 4'(005).
      ENDIF.
    *column 2
      IF ( p_tage2 > p_tage3 ) OR ( p_tage1 > p_tage4 ).
        MESSAGE e999 WITH 'Column 2 greater'(006)
                    'than Column# 3 or 4'(007).
      ENDIF.
    *column3
      IF ( p_tage3 > p_tage4 ).
        MESSAGE e999 WITH 'Column 3 greater'(008)
                    'than Column#4'(009).
      ENDIF.
    ENDFORM.                    " validate_flds
    *&      Form  fetch_data
    Fetching Data from Database Tables
    FORM fetch_data .
    Date Range Population
      r_date1-sign   = 'I'.
      r_date1-option = 'BT'.
      r_date1-low    = p_allgst.
      r_date1-high    = r_date1-low + p_tage1.
      APPEND r_date1.
      r_date2-sign   = 'I'.
      r_date2-option = 'BT'.
      r_date2-low    =  r_date1-high + 1.
      r_date2-high    = r_date1-low + p_tage2.
      APPEND r_date2.
      r_date3-sign   = 'I'.
      r_date3-option = 'BT'.
      r_date3-low    = r_date2-high + 1.
      r_date3-high    = r_date1-low + p_tage3.
      APPEND r_date3.
      r_date4-sign   = 'I'.
      r_date4-option = 'BT'.
      r_date4-low    = r_date3-high + 1.
      r_date4-high    = r_date1-low + p_tage4.
      APPEND r_date4.
    Select the Vendor Open Items data from BSIK
      SELECT l~lifnr
             l1~name1
             b~waers
             b~dmbtr
             b~zfbdt
             b~zbd1t
             b~zbd2t
             b~zbd3t
             b~belnr
             b~xblnr
             b~shkzg
             b~blart
       INTO CORRESPONDING FIELDS OF TABLE int_bsik
       FROM lfb1 AS l INNER JOIN lfa1 AS l1
                    ON llifnr  = l1lifnr
           INNER JOIN   bsik AS b
             ON llifnr  = blifnr AND
                lbukrs  = bbukrs
             WHERE l~lifnr  IN s_lifnr AND
                   l~bukrs = p_bukrs and
                   b~zfbdt le p_allgst.
      IF SY-SUBRC <> 0.
        MESSAGE i000 WITH 'No Data found'(027).
      ENDIF.
    Removing the date limit to get the due items in the past
      DELETE int_bsik WHERE
                  ( blart  NE 'RE' AND blart  NE 'KR' ) OR
                    shkzg  NE 'H'.
      SORT int_bsik BY lifnr.
    ENDFORM.                    " fetch_data
    *&      Form  header
    Display the Report Columns
    FORM header .
      v_tage1 = p_tage1 + 1.
      v_tage2 = p_tage2 + 1.
      v_tage3 = p_tage3 + 1.
      v_fidd = p_tage1.
      v_sedd = p_tage2.
      v_thdd = p_tage3.
      v_fodd = p_tage4.
      MOVE v_fodd0(4) TO v_fodd1(3).
      v_fodd+0(1) = space.
      CONCATENATE '1 to'(010) v_fidd INTO v_fir.
      CONCATENATE v_tage1 ' to '(011) v_sedd INTO v_sec.
      CONCATENATE v_tage2 ' to '(011) v_thdd INTO v_thir.
      CONCATENATE v_tage3 ' to '(011) space v_fodd INTO v_four.
    Standard header
      clear: v_date1, v_str, v_str1, v_tage.
      write p_allgst to v_date1.
      Move  p_tage4 to v_tage.
      concatenate '>' v_tage text-025 into v_str1.
      concatenate
      'Summary of Ageing Analysis for Vendor Open Invoices as on'(013)
       v_date1 into v_str separated by space.
      CALL FUNCTION 'Z_STANDARD_HEADER'
        EXPORTING
         title1 = 'Saudi International Petrochemical Company'(012)
         title2 = v_str.
      FORMAT COLOR OFF.
      WRITE  : /1(168) sy-uline.
      FORMAT COLOR 1 INTENSIFIED.
      WRITE :/1 sy-vline, 13 sy-vline, 49 sy-vline,
            50(101) 'Invoices Due For(In Days)'(014) CENTERED,
           151 sy-vline, 168 sy-vline .
      WRITE :/1 sy-vline,  2(11)  'Vendor#'(015) CENTERED,
             13 sy-vline ,14(35) 'Vendor Name'(016) CENTERED,
             49 sy-vline,
             50(101) sy-uline,151 sy-vline,
            152(16) 'Total'(017) CENTERED,
            168 sy-vline.
      WRITE : /1 sy-vline,13 sy-vline,      49 sy-vline,
              50(16) v_fir CENTERED,        66 sy-vline,
              67(16) v_sec CENTERED,        83 sy-vline,
              84(16) v_thir CENTERED,      100 sy-vline,
             101(16) v_four CENTERED,      117 sy-vline,
             118(16) v_str1 centered,      134 sy-vline,
             135(16) 'Already Overdue'(018) CENTERED,151 sy-vline,
             168 sy-vline.
      FORMAT COLOR OFF.
      WRITE  : /1(168) sy-uline.
    ENDFORM.                    " header
    *&      Form  basic_list
    Display the Basic List
    FORM basic_list .
      NEW-PAGE LINE-SIZE 168.
      LOOP AT int_bsik.
        CLEAR v_date.
        IF int_bsik-zbd3t <> ' '.
          v_date = int_bsik-zfbdt + int_bsik-zbd3t.
        ELSE.
          IF int_bsik-zbd2t <> ' '.
            v_date = int_bsik-zfbdt + int_bsik-zbd2t.
          ELSE.
            v_date = int_bsik-zfbdt + int_bsik-zbd1t.
          ENDIF.
        ENDIF.
        IF int_bsik-zbd1t = ' '.
          v_date = int_bsik-zfbdt.
        ENDIF.
        IF v_date IN r_date1.
          int_final-total1 =   int_final-total1 +  int_bsik-dmbtr.
        ELSEIF v_date IN r_date2.
          int_final-total2 =   int_final-total2 +  int_bsik-dmbtr.
        ELSEIF v_date IN r_date3.
          int_final-total3 =   int_final-total3 +  int_bsik-dmbtr.
        ELSEIF v_date IN r_date4.
          int_final-total4 =   int_final-total4 +  int_bsik-dmbtr.
        ELSEif v_date > r_date4-high.
          int_final-total5 =   int_final-total5 +  int_bsik-dmbtr.
        ELSEif v_date < p_allgst.
          int_final-total6 =   int_final-total6 +  int_bsik-dmbtr.
        ENDIF.
        AT END OF lifnr.
          v_flag = 1.
        ENDAT.
        IF v_flag = 1.
          int_final-lifnr = int_bsik-lifnr.
          int_final-name1 = int_bsik-name1.
          int_final-total =   int_final-total1 + int_final-total2 +
           int_final-total3 + int_final-total4 + int_final-total5 +
           int_final-total6.
          APPEND int_final.
          v_gtotal1 = v_gtotal1 + int_final-total1.
          v_gtotal2 = v_gtotal2 + int_final-total2.
          v_gtotal3 = v_gtotal3 + int_final-total3.
          v_gtotal4 = v_gtotal4 + int_final-total4.
          v_gtotal5 = v_gtotal5 + int_final-total5.
          v_gtotal6 = v_gtotal6 + int_final-total6.
          v_gtotal = v_gtotal + int_final-total.
          WRITE: /1 sy-vline,
                  2 int_final-lifnr COLOR 4 INTENSIFIED ON,
                 13 sy-vline,
                 14 int_final-name1 COLOR 4 INTENSIFIED ON,
                 49 sy-vline.
          DATA : v_rem.
          v_rem = sy-tabix MOD 2.
          IF v_rem NE 0.
            FORMAT COLOR 2 INTENSIFIED.
            WRITE :    50 int_final-total1 CURRENCY int_bsik-waers,
                       66 sy-vline,
                       67 int_final-total2 CURRENCY int_bsik-waers,
                       83 sy-vline,
                       84 int_final-total3 CURRENCY int_bsik-waers,
                      100 sy-vline,
                      101 int_final-total4 CURRENCY int_bsik-waers,
                      117 sy-vline,
                      118 int_final-total5 CURRENCY int_bsik-waers,
                      134 sy-vline,
                      135 int_final-total6 CURRENCY int_bsik-waers,
                      151 sy-vline,
                      152 int_final-total CURRENCY int_bsik-waers,
                      168 sy-vline.
          ELSE.
            WRITE :    50 int_final-total1 CURRENCY int_bsik-waers,
                       66 sy-vline,
                       67 int_final-total2 CURRENCY int_bsik-waers,
                       83 sy-vline,
                       84 int_final-total3 CURRENCY int_bsik-waers,
                      100 sy-vline,
                      101 int_final-total4 CURRENCY int_bsik-waers,
                      117 sy-vline,
                      118 int_final-total5 CURRENCY int_bsik-waers,
                      134 sy-vline,
                      135 int_final-total6 CURRENCY int_bsik-waers,
                      151 sy-vline,
                      152 int_final-total CURRENCY int_bsik-waers,
                      168 sy-vline.
          ENDIF.
          FORMAT COLOR OFF.
          HIDE int_final.
          CLEAR int_final.
          v_flag = 0.
        ENDIF.

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

Maybe you are looking for

  • Unable to generate XLS output for Quoting Module

    We are using XML Publisher to generate Quote report. We need the output in XLS (Excel) format but it generates only PDF. We debugged the following files: qotSCopOverview.jsp qotSCocPrint.jsp qotSCopPrint.jsp jtfcrmchrome.jsp oracle.apps.aso.print.web

  • Error in writing to file '$ORACLE_HOME/jdk/jre/bin/java'

    Hi, I have installed Forms & Reports Services Standalone (10.1.2.0.2) on RHEL 5 and now I am applying the Oracle Application Server 10g Release 2, Patch Set 3 (10.1.2.3), but OUI gives the following error: Error in writing to file '$ORACLE_HOME/jdk/j

  • What is the PCI bus performance of the 1422?

    I'm currently using an IMAQ PCI-1422 to acquire images from a camera. The image size is 1280x1024 @ 8-bits a pixel. Currently the camera can only run freely at 20 fps. So this data rate is roughly 26 MB/s. The IMAQ card seems to be able to acquire th

  • Will  the uploaded pdf file be accessible to everyone or it just stays in the up loaders account?

    Hi..! I am new to use adobe reader. I uploaded a pdf file and it shows as it's uploaded on adobe.com. Will this file be visible to all adobe users or it just appears in my account, not accessible to others? Kindly explain. Thank you.

  • How I can delete a row using a simple query?

    SZSLIFE_SPRIDEN_PIDM     SZSLIFE_SGBSTDN_TERM_CODE_EFF     SZSLIFE_SLRRASG_BLDG_CODE     SZSLIFE_SLRRASG_ROOM_NUMBER     SZSLIFE_SLRRASG_BEGIN_DATE     SZSLIFE_SLRRASG_END_DATE 48547     199890                     48547     199990