I-expenses - expense report header approver - sql logic

Hi folks,
I am trying to find a logic that can be used to identify the user that approved an expense report.
I cannot use the WF_NOTIFICATIONS table as this is flushed every 90 days.
This leaves 'AP_EXPENSE_REPORT_HEADERS_ALL.EXPENSE_CURRENT_APPROVER_ID' or 'AP_EXPENSE_REPORT_HEADERS_ALL.OVERRRIDE_APPROVER_ID' either connecting to PER_ALL_PEOPLE_F.
The problem is that I cannot understand the logic I should use to determine which field I should use.
Yesterday, I created a test expense report and nominated a user 'J Bloggs' as the approver, however, 'J Bloggs' did not have the necessary approval requirements, thus the report was sent to a 'A Smith' to approve.
The EXPENSE_CURRENT_APPROVER_ID contained the PERSON_ID of 'A Smith' and the OVERRIDE_APPROVER_ID contained the PERSON_ID of 'J Bloggs'.
At the moment, I am using the logic of use NVL(EXPENSE_CURRENT_APPROVER_ID, OVERRIDE_APPROVER_ID), however, there are some expense reports with neither field populated and with no workflow notfications I cannot find the approver.
Anyone shed any light?
Thanks.

Hi Cleme,
i-Expense approval is role based approval system.
In workflow / AME you create a rule for flowing the approval process in a defined way.
majourly 2 kind of approval process business follow
1) 1 stop go
2) Chain approval process
in one stop go, when employee submit an expense report then it does not require any supervisor approval, all are auto approved and it only need an AP approval, which AP audit team perform i.e checking reciepts ,bills for proof and check the varified check box.
and this completes your APEXP cycle.
in Chain approval process it first goes to your direct supervisor, if his job/role is higher then u then it waits for his approval in case his signing limit is lower than the expense claim then approval notification goes to the 2nd super visor(supervisor's supervisor).
In some business it's based on ammount also if 100K no approval required if 200k then only 1st supervisor approval required, like this.
lets say your approval process goes to 2 approvers at least in workflow/ame then when goes to 2nd approver then the 1st approver id is overwriten by the 2nd supervisor id.
In case you are planing to print a customize report like below format;
Expense Report Expense_Claim_By Date Approved_By Amount
Then the approver details you will get only in WF_Notifications_details table
you need to capture the details from here only
you can filter the notification_subject %EXPENSE_REPORT_NAME% ..
and you will get all the lines in WF table for that particulat Expense report from start to end.
Thanks,
Ajit

Similar Messages

  • POWL does not update Expense Reports for Approval

    Hi,
    I am about to replace the UWL with POWL and the configuration have been made successfully when it comes to leave approval and expense reports but the Expense reports for approval refuses to update itself (no items in the list)
    If I go to Transaction code SWI5 am I able to see all u201Cwork items to be processedu201D . From this list I can see three Task IDs
    TS12300097      Approval Process (1 work Item)
    TS31000007     CATS: Approval by Supervisor (1 work item)
    TS99300002     Approve travel expenses (2 work Items)
    In transaction POWL_COCKPIT in the maintain POWL Type details I have flagged the Sync. Call for FITV_POWL_TRIPSFORAPPROCAL_EXP. I have also assigned same Task ID as Approve travel expenses (TS99300002) to POWL in transaction SM31 table IBO_C_WF_TA_P_SC.
    Result is that the list is empty in the POWL but if I go to UWL Authorize list it shows 2 items which is correct.
    Please help me out here because I have searched a lot for a solution but havenu2019t found anything.

    Remember Employee list is the key! Did you maintain it?
    The employee list can also be maintained centrally in the R/3
    backend for all users (managers). Therefore please use the
    transactions FPB_MAINTAIN_PERS_M or FPB_MAINTAIN_PERS_S.
    With this the object list is done for the POWLs.
    If no emplyoee list exists for the manager, then there will be no items.
    POWL is based on personalization framework where every user has its own
    set of queiries and types, which are assigned using TX POWL_QUERYR or
    POWL_TYPER which is role based. Similarlaly POWL_QUERYU and POWL_TYPEU
    for user based.
    If you want to delete a query from all users, please delete a entry from
    POWL_TYPER or POWL_QUERYR.
    More information on POWL can be get from
    http://wiki.sdn.sap.com/wiki/display/WDABAP/POWL
    http://help.sap.com/saphelp_erp60/helpdata/EN/42/d6652b755c1630e10000000
    a1553f7/frameset.htm
    Once you delete the entry, please run the report POWL_d01.Please check
    the details of report before running it.

  • What happen when an Expense report is approved or rejected ?

    Hi All,
    I would like to know what happens when an Expense report is approved or rejected.
    What is the process flow and once approved how the reimbursement is processed.
    Thanks & Regards,
    Ajay Sharma

    Hi,
    a parameter, that is set higher "than allowed" is NEVER replaced by any substitution value !!!
    => if it is correct, it will work - otherwise the system might not drive up or fail otherwise ...
    Unfortunately, there are MANY parameters, where you should use values, that are "not allowed" and even a lot of parameters, that are totally unknown - all of them work as you set them ... hopefully with useful values ...
    9000 in this case is recommended in nearly every GoingLiveCheck by SAP )
    Regards
    Volker Gueldenpfennig, consolut international ag
    http://www.consolut.de - http://www.4soi.de - http://www.easymarketplace.de

  • Running SQL in a WebDB report header

    Is there any way to have a SQL statement generate data in the header of a WebDB Report? I've tried placing the oracle tag before and after the SQL, but the SQL text appears as the header to the report.

    Have you tryed creating a stored procedure
    which generates Html using the htp procedures
    For example
    create or replace procedure reportheader
    as
    cursor cSelectSomething is SELECT data
    FROM table;
    BEGIN
    FOR rij in cSelectSomething
    LOOP
    htp.print(rij.data);
    END LOOP;
    END;
    grant execute on reportheader to public;
    Now use this in your report header(no oracle tags necessary)
    [owner].reportheader;
    Good Luck
    Dave.
    null

  • SSRS - Is there a multi thread safe way of displaying information from a DataSet in a Report Header?

     In order to dynamically display data in the Report Header based in the current record of the Dataset, we started using Shared Variables, we initially used ReportItems!SomeTextbox.Value, but we noticed that when SomeTextbox was not rendered in the body
    (usually because a comment section grow to occupy most of the page if not more than one page), then the ReportItem printed a blank/null value.
    So, a method was defined in the Code section of the report that would set the value to the shared variable:
    public shared Params as String
    public shared Function SetValues(Param as String ) as String
    Params = Param
    Return Params 
    End Function
    Which would be called in the detail section of the tablix, then in the header a textbox would hold the following expression:
    =Code.Params
    This worked beautifully since, it now didn't mattered that the body section didn't had the SetValues call, the variable persited and the Header displayed the correct value. Our problem now is that when the report is being called in different threads with
    different data, the variable being shared/static gets modified by all the reports being run at the same time. 
    So far I've tried several things:
    - The variables need to be shared, otherwise the value set in the Body can't be seen by the header.
    - Using Hashtables behaves exactly like the ReportItem option.
    - Using a C# DLL with non static variables to take care of this, didn't work because apparently when the DLL is being called by the Body generates a different instance of the DLL than when it's called from the header.
    So is there a way to deal with this issue in a multi thread safe way?
    Thanks in advance!
     

    Hi Angel,
    Per my understanding that you want to dynamic display the group data in the report header, you have set page break based on the group, so when click to the next page, the report hearder will change according to the value in the group, when you are using
    the shared variables you got the multiple thread safe problem, right?
    I have tested on my local environment and can reproduce the issue, according to the multiple safe problem the better way is to use the harshtable behaves in the custom code,  you have mentioned that you have tryied touse the harshtable but finally got
    the same result as using the ReportItem!TextBox.Value, the problem can be cuased by the logic of the code that not works fine.
    Please reference to the custom code below which works fine and can get all the expect value display on every page:
    Shared ht As System.Collections.Hashtable = New System.Collections.Hashtable
    Public Function SetGroupHeader( ByVal group As Object _
    ,ByRef groupName As String _
    ,ByRef userID As String) As String
    Dim key As String = groupName & userID
    If Not group Is Nothing Then
    Dim g As String = CType(group, String)
    If Not (ht.ContainsKey(key)) Then
    ' must be the first pass so set the current group to group
    ht.Add(key, g)
    Else
    If Not (ht(key).Equals(g)) Then
    ht(key) = g
    End If
    End If
    End If
    Return ht(key)
    End Function
    Using this exprssion in the textbox of the reportheader:
    =Code.SetGroupHeader(ReportItems!Language.Value,"GroupName", User!UserID)
    Links belowe about the hashtable and the mutiple threads safe problem for your reference:
    http://stackoverflow.com/questions/2067537/ssrs-code-shared-variables-and-simultaneous-report-execution
    http://sqlserverbiblog.wordpress.com/2011/10/10/using-custom-code-functions-in-reporting-services-reports/
    If you still have any problem, please feel free to ask.
    Regards
    Vicky Liu

  • Report header is missng while printing or spooling

    Hi All,
    I have a problem in print a report.its
    After getting selection screen of the report ,If i click a print button (it's for execute and print)
    the header details are missing in spool ( does not print selection fields of the report are missing in spool).
    If i execute the report and got the output ,then i click the print button it's execute properly means in spool i am getting all the output properly ,header details also printed. means selection screen fields means what i entered in selection screen is printing.Its a AVL report.While debugging i am not getting solution.i have investigated in menu painter also.
    but i am not getting proper idea to fix the bug.
    i am sending the code also.please let me know ASAP
    code:
    REPORT  ZMXXR048 LINE-SIZE   1023  "255 deleted AW2150 GLDK9AAYU9
                     LINE-COUNT  65
                     MESSAGE-ID  zm
                     NO STANDARD PAGE HEADING.
    *eject
    TABLES declaration.
    TABLES:ekko,      "Purchasing Document: Header
           ekpo,      "Purchasing Document: Item
         a016,      "Contract Item                              AMT25JAN05
         a019,      "Contract Header                            AMT25JAN05
           t024,      "Purchasing Groups
           t024e,     "Purchasing Organizations
           t161,      "Purchasing Document Types
           t001w,     "Plants/branches
         lfa1,      "Vendor Master (General Section)            AMT25JAN05
           eket,      "Scheduling Agreement Schedule Lines
         ekbe,      "Purchasing Document: History               AMT25JAN05
         ekab,      "Release Documentation                      AMT25JAN05
           zbsart_doc."Purchasing documents custom structure     "GA01
         ekkn.      "Account Assignment in Purchasing Document "GA19062003
                    Comment AMT25JAN05
    *eject
    TYPE-POOLS  definition.
    TYPE-POOLS slis.                                            "KAK01
    *eject
    CONSTANTS declaration.
    CONSTANTS:
            c_t(1)      TYPE c         VALUE 'T',             "AMT25JAN05
              c_l(1)      TYPE c         VALUE 'L',
            c_m(1)      TYPE c         VALUE '4',             "AMT25JAN05
            c_y(1)      TYPE c         VALUE 'Y',             "AMT25JAN05
              c_i(1)      TYPE c         VALUE 'I',
              c_ne(2)     TYPE c         VALUE 'NE',
            c_eq(2)     TYPE c         VALUE 'EQ',            "AMT25JAN05
              c_lp(2)     TYPE c         VALUE 'LP',
              c_nb(2)     TYPE c         VALUE 'NB',
              c_ec(2)     TYPE c         VALUE 'EC',
              c_lpa(3)    TYPE c         VALUE 'LPA',
              c_zlp(3)    TYPE c         VALUE 'ZLP',
              c_znba(4)   TYPE c         VALUE 'ZNBA',
            c_mk(2)     TYPE c         VALUE 'MK',            "AMT25JAN05
            c_wk(2)     TYPE c         VALUE 'WK',            "AMT25JAN05
            c_doqot(1)  TYPE c         VALUE '"',             "AMT25JAN05
              c_totals(6) TYPE c         VALUE 'TOTALS',
              c_x(1)      TYPE c         VALUE 'X',
            c_k(1)      TYPE c         VALUE 'K',             "AMT25JAN05
              c_a(1)      TYPE c         VALUE 'A',
              C_S(1)      TYPE C         VALUE 'S',"insert AW2150 GLDK9AAYU9
              c_55(2)     TYPE c         VALUE '55',
              c_56(2)     TYPE c         VALUE '56',
            c_44(2)     TYPE c         VALUE '44',            "AMT25JAN05
              c_45(2)     TYPE c         VALUE '45',
              c_1(1)      TYPE c         VALUE '1',
              c_2(1)      TYPE c         VALUE '2',
              c_h(1)      TYPE c         VALUE 'H',
              c_(1)      TYPE c         VALUE '',             "GA18062003.
              c_n(1)      TYPE c         VALUE 'N',             "SRI24062003
              c_o(1)      TYPE c         VALUE 'O',             "SRI24062003
              c_maxdays   TYPE p         VALUE '93',            "GA29072003
              c_wk1(10)   type c         VALUE 'WK1'.           "NAR10NOV06
    *Begin of Addition by AMT25JAN05
    CONSTANTS :
                c_3           TYPE i VALUE 3               ,
                c_4           TYPE i VALUE 4               ,
                c_5           TYPE i VALUE 5               ,
                c_8           TYPE i VALUE 8               ,
                c_10          TYPE i VALUE 10              ,
                c_11          TYPE i VALUE 11              ,
                c_12          TYPE i VALUE 12              ,
              c_15          TYPE i VALUE 15              ,
                c_18          TYPE i VALUE 18              ,
                c_20          TYPE i VALUE 20              ,
              c_23          TYPE i VALUE 23 , "TUL02022005  "KVI04Feb05
                c_40          TYPE i VALUE 40              ,
                c_all(4)      TYPE c VALUE '&ALL'          ,
                c_sa(3)       TYPE c VALUE '&SA'           ,
                c_bs(3)       TYPE c VALUE '&BS'           ,
                c_sum(4)      TYPE c VALUE '&SUM'          ,
                c_eb3(4)      TYPE c VALUE '&EB3'          ,
                c_xpa(4)      TYPE c VALUE '&XPA'          ,
                c_omp(4)      TYPE c VALUE '&OMP'          ,
                c_crb(4)      TYPE c VALUE '&CRB'          ,
                c_cre(4)      TYPE c VALUE '&CRE'          ,
                c_ave(4)      TYPE c VALUE '&AVE'          ,
                c_pc10(4)     TYPE c VALUE 'PC10'          ,
                c_coltab(6)   TYPE c VALUE 'COLTAB'        ,
                c_excel(5)    TYPE c VALUE 'EXCEL'         ,
                c_ic1(4)      TYPE c VALUE '&IC1'          ,
                c_dload(5)    TYPE c VALUE 'DLOAD'         ,
                c_refrs(5)    TYPE c VALUE 'REFRS'         ,
                c_waers(5)    TYPE c VALUE 'WAERS'         ,
                c_bprme(5)    TYPE c VALUE 'BPRME'         ,
                c_ekbe(4)     TYPE c VALUE 'EKBE'          ,
                c_meins2(6)   TYPE c VALUE 'MEINS2'        ,
                c_meins3(6)   TYPE c VALUE 'MEINS3'        ,
                c_ekkn(4)     TYPE c VALUE 'EKKN'          ,
                c_ekpo(4)     TYPE c VALUE 'EKPO'          ,
                c_ekko(4)     TYPE c VALUE 'EKKO'          ,
                c_lfa1(4)     TYPE c VALUE 'LFA1'          ,
                c_meins(5)    TYPE c VALUE 'MEINS'         ,
                c_eket(4)     TYPE c VALUE 'EKET'          ,
                c_me33l(5)    TYPE c VALUE 'ME33L'         ,
                c_me23(4)     TYPE c VALUE 'ME23'          ,
                c_bes(3)      TYPE c VALUE 'BES'           ,
                c_bedat(11)   TYPE c VALUE 'S_BEDAT-LOW',
                c_pur(15)     TYPE c VALUE 'PURCHASING DOC.',
                c_item(4)     TYPE c VALUE 'ITEM'           ,
                c_doc(8)      TYPE c VALUE 'DOC.DATE'       ,
                c_vendor(6)   TYPE c VALUE 'VENDOR'         ,
                c_vname(11)   TYPE c VALUE 'VENDOR NAME'    ,
                c_plant(5)    TYPE c VALUE 'PLANT'          ,
                c_pdesc(17)   TYPE c VALUE 'PLANT DESCRIPTION',
                c_sloc(4)     TYPE c VALUE 'SLOC'            ,
                c_pgr(3)      TYPE c VALUE 'PGR'            ,
                c_porg(4)     TYPE c VALUE 'PORG'            ,
                c_mat(8)      TYPE c VALUE 'MATERIAL'        ,
                c_standard(8) TYPE c VALUE 'STANDARD'        ,
                c_matdesc(20) TYPE c VALUE 'MATERIAL DESCRIPTION',
                c_deldate(13) TYPE c VALUE 'DELIVERY DATE'       ,
                c_qty(13)     TYPE c VALUE 'SCHEDULED QTY'       ,
                c_quom(4)     TYPE c VALUE 'OUOM'                ,
                c_net(9)      TYPE c VALUE 'NET PRICE'           ,
                c_curr(4)     TYPE c VALUE 'CURR'                ,
                c_per(3)      TYPE c VALUE 'PER'                 ,
                c_opuom(5)    TYPE c VALUE 'OPUOM'               ,
                c_grqty(6)    TYPE c VALUE 'GR QTY'              ,
                c_gruom(6)    TYPE c VALUE 'GR UOM'              ,
                c_irqty(6)    TYPE c VALUE 'IR QTY'              ,
                c_iruom(6)    TYPE c VALUE 'IR UOM'              ,
                c_trnum(15)   TYPE c VALUE 'TRACKING NUMBER'     ,
                c_rec(12)     TYPE c VALUE 'RECEIVER-BBP'        ,
                c_tcont(18)   TYPE c VALUE 'T_CONDITIONS-EBELN'  .
    *End   of Addition by AMT25JAN05
    *BEGIN INSERT BB1097 - add a constant for the vendor mat field
    CONSTANTS C_VENDMAT(15)   TYPE C VALUE 'VENDOR MATERIAL'.
    *END INSERT BB1097
    *eject
    DATA Work fields definition.
    DATA    : w_repid       LIKE sy-repid,
              w_color       TYPE i,
            w_info        LIKE sy-lisel,                      "AMT25JAN05
            w_lifnr       LIKE eina-lifnr,                    "AMT25JAN05
            w_matnr       LIKE eina-matnr,                    "AMT25JAN05
            w_werks       LIKE marc-werks,                    "AMT25JAN05
            w_tabkey      LIKE cdpos-tabkey,                  "AMT25JAN05
            w_objectid    LIKE konp-knumh,                    "AMT25JAN05
            w_len         TYPE i ,                            "AMT25JAN05
            w_field       LIKE konp-kopos,                    "AMT25JAN05
            w_eindt       LIKE eket-eindt,                    "AMT25JAN05
              w_ebeln       LIKE ekko-ebeln,                    "ujo1jul
              zsort(6)      TYPE c,                             "KAK01
              w_fldname(20) TYPE c,                             "GA16062003.
              w_titel       LIKE spop-titel,                    "GA25062003.
              w_text1       LIKE spop-textline1,                "GA25062003.
              w_text2       LIKE spop-textline2,                "GA25062003.
              W_FLAG(1)     TYPE C,                             "KVI04Feb05
    Start of GLDK9A8WWS (AS3848)
    Defined variable for line size.
              w_linsz       LIKE sy-linsz.
    End of GLDK9A8WWS (AS3848)
    DATA: date_diff LIKE ekko-aedat.
    *BEGIN OF SRI26062003
    *DATA: w_s1     LIKE ekbe-menge,                              AMT25JAN05
         w_s2     LIKE ekbe-bamng,                              AMT25JAN05
         w_s3     LIKE ekbe-bpmng,                              AMT25JAN05
         w_s4     LIKE ekpo-netpr.                              AMT25JAN05
         w_s5     LIKE ekkn-wempf.                              AMT25JAN05
         w_s6     LIKE ekpo-webaz,                              AMT25JAN05
    *END   OF SRI26062003
    *eject
    DATA Structure definition.
    DATA: e_coltab TYPE slis_specialcol_alv.
    *eject
    DATA Internal table definition with INCLUDE STRUCTURE
    *Begin of comment by AMT25JAN05
    *DATA: BEGIN OF ibdcdata OCCURS 0.
           INCLUDE STRUCTURE bdcdata.
    *DATA: END OF ibdcdata.
    *End   of comment by AMT25JAN05
    *eject
    DATA Other internal table definition.
    DATA: BEGIN OF t_documents OCCURS 0,   "Main initial internal table
               ekgrp     LIKE ekko-ekgrp,
               ekorg     LIKE ekko-ekorg,
               eknam     LIKE t024-eknam,
               ebeln     LIKE ekko-ebeln,
               ebelp     LIKE ekpo-ebelp,
               lgort     LIKE ekpo-lgort,
               kschl     LIKE a016-kschl,
               datbi     LIKE a016-datbi,
               datab     LIKE a016-datab,
               LOEKZ     LIKE EKPO-LOEKZ,          "insert AW2150 GLDK9AAYU9
               infnr     LIKE ekpo-infnr,
               pstyp     LIKE ekpo-pstyp,
               konnr     LIKE ekpo-konnr,
               ematn     LIKE ekpo-ematn,
               txz01     LIKE ekpo-txz01,
               werks     LIKE ekpo-werks,
               aedat     LIKE ekpo-aedat,
               epstp     LIKE rm06e-epstp,
               lifnr     LIKE ekko-lifnr,
               waers     LIKE ekko-waers,                       "SRI26062003
               name1     LIKE lfa1-name1,
               name2     LIKE t001w-name1,
               ktmng     LIKE ekpo-ktmng,
               meins     LIKE ekpo-meins,
               meins2    LIKE ekpo-meins,                       "GA23062003
               meins3    LIKE ekpo-meins,                       "GA23062003
               bednr     LIKE ekpo-bednr,
               loevm_ko  LIKE konp-loevm_ko,
               bsart     LIKE ekko-bsart,
               eindt     LIKE eket-eindt,                       "SBH01
               netpr     LIKE ekpo-netpr,                       "SBh01
               peinh     LIKE ekpo-peinh,                       "GA01
               bprme     LIKE ekpo-bprme,                       "GA01
               menge     LIKE ekpo-menge,
             menge2    like ekbe-menge,                       "GA23062003.
               bamng     LIKE ekbe-bamng,                       "GA23062003.
               bpmng     LIKE ekbe-bpmng,
               vgabe     LIKE ekbe-vgabe,                       "GA01
               webaz     LIKE ekpo-webaz,
               wempf     LIKE ekkn-wempf,                       "GA19062003.
               flgdel(1) TYPE c,                                "ujo9jul
    Start of GLDK9A8WWS (AS3848)
    Added fields WEPOS (GR indicator), REPOS (IR indicator) and WEBRE (GR-
    based IV indicator).
               wepos     LIKE ekpo-wepos,             "GR indicator
               repos     LIKE ekpo-repos,             "IR indicator
               webre     LIKE ekpo-webre,             "GR-based IV indicator
    End of GLDK9A8WWS (AS3848)
               ELIKZ     LIKE ekpo-ELIKZ,             "Delivery "TUL02022005
               EREKZ     LIKE EKPO-EREKZ,         "Invoice AW2150 GLDK9AAYU9
    *BEGIN INSERT BB1097 - add column for the vendor mat field. this field
                         will hold the value of the vendor material #
               IDNLF     LIKE EKPO-IDNLF,
    *END INSERT BB1097
          END OF t_documents.
    Added begin ujo9jul
    *DATA: t_documents_tmp LIKE t_documents OCCURS 0 WITH HEADER LINE.
    *Comment by AMT25JAN05
    *eject
    DATA Other internal table definition.
    *Begin of Comment by AMT25JAN05
    *DATA: BEGIN OF t_ekko OCCURS 0,
           ebeln LIKE ekko-ebeln,
           bsart LIKE ekko-bsart,
           loekz LIKE ekko-loekz,
           aedat LIKE ekko-aedat,
           lifnr LIKE ekko-lifnr,
           ekorg LIKE ekko-ekorg,
           ekgrp LIKE ekko-ekgrp,
           waers LIKE ekko-waers,
           name1 LIKE lfa1-name1,
         END OF t_ekko.
    *End   of Comment by AMT25JAN05
    Added end ujo9jul
    *Begin of SRI26062003
    DATA:BEGIN OF t_t024  OCCURS 0 ,
           ekgrp LIKE t024-ekgrp,
           eknam LIKE t024-eknam,
         END OF t_t024.
    DATA:BEGIN OF t_t001w OCCURS 0 ,
           werks LIKE t001w-werks,
           name1 LIKE t001w-name1,
         END OF t_t001w.
    *End of SRI26062003
    DATA: BEGIN OF t_conditions OCCURS 0,         "Main final internal table
            ebeln    LIKE ekpo-ebeln,
            ekgrp    LIKE ekko-ekgrp,
            ekorg    LIKE ekko-ekorg,
            waers    LIKE ekko-waers,                      "SRI26062003
            eknam    LIKE t024-eknam,
            ebelp    LIKE ekpo-ebelp,
            lgort    LIKE ekpo-lgort,
            kschl    LIKE a016-kschl,
            datbi    LIKE a016-datbi,
            datab    LIKE a016-datab,
            infnr    LIKE ekpo-infnr,
            pstyp    LIKE ekpo-pstyp,
            konnr    LIKE ekpo-konnr,
            ematn    LIKE ekpo-ematn,
            txz01    LIKE ekpo-txz01,
            werks    LIKE ekpo-werks,
            aedat    LIKE ekpo-aedat,
            epstp    LIKE rm06e-epstp,
            lifnr    LIKE ekko-lifnr,
            name1    LIKE lfa1-name1,
            name2    LIKE t001w-name1,
            ktmng    LIKE ekpo-ktmng,
            meins    LIKE ekpo-meins,
            meins2   LIKE ekpo-meins,                      "GA23062003.
            meins3   LIKE ekpo-meins,                      "GA23062003.
            bednr    LIKE ekpo-bednr,
            loevm_ko LIKE konp-loevm_ko,
            bsart    LIKE ekko-bsart,
            eindt    LIKE eket-eindt,
            netpr    LIKE ekpo-netpr,
            peinh    LIKE ekpo-peinh,
            bprme    LIKE ekpo-bprme,
            menge    LIKE ekpo-menge,
          menge2   like ekbe-menge,                      "GA23062003.
            bamng    LIKE ekbe-bamng,                      "GA23062003.
            bpmng    LIKE ekbe-bpmng,
            vgabe    LIKE ekbe-vgabe,                           "GA01
            webaz    LIKE ekpo-webaz,
            wempf    LIKE ekkn-wempf,                      "GA19062003.
            AGING    TYPE I,                  "insert AW2150 GLDK9AAYU9
            ELIKZ    LIKE ekpo-ELIKZ,                      "TUL02022005
            EREKZ    LIKE EKPO-EREKZ,         "insert AW2150 GLDK9AAYU9
            coltab   TYPE slis_t_specialcol_alv,           "SRI24062003
    *BEGIN INSERT BB1097 - add column for the vendor mat field. this field
                         will hold the value of the vendor material #
            IDNLF    LIKE EKPO-IDNLF,
    *END INSERT BB1097
          END OF t_conditions.
    Internal Table for the Purchasing Group name
    *Begin of Comment by AMT25JAN05
    *DATA: BEGIN OF t_purchgr OCCURS 0,
           name2 LIKE t024-eknam,
         END OF t_purchgr.
    *End   of Comment by AMT25JAN05
    internal table for the plant name
    *Begin of Comment by AMT25JAN05
    *DATA: BEGIN OF t_plant OCCURS 0,
           name1 LIKE t001w-name1,
         END OF t_plant.
    *End   of Comment by AMT25JAN05
    *Begin of Comment by AW2150
    Internal Table for the Vendor Number and Vendor Name
    *DATA: BEGIN OF t_lfa1 OCCURS 0,
           lifnr LIKE lfa1-lifnr,
           name1 LIKE lfa1-name1,
         END OF t_lfa1.
    *End of Comment by AW2150
    *Start of GA19062003
    Internal table for the Good Recipient in case of BBP
    DATA: BEGIN OF t_ekkn OCCURS 0,
            ebeln LIKE ekkn-ebeln,                              "SRI26062003
            ebelp LIKE ekkn-ebelp,                              "SRI26062003
            wempf LIKE ekkn-wempf,
          END OF t_ekkn.
    *End of GA19062003
    Internal Table for EXCEL DOWNLOADING
    DATA: BEGIN OF t_conditions_exe OCCURS 0,
            ebeln(15)    TYPE c,
            ebelp(11)    TYPE c,
            aedat(11)    TYPE c,
            lifnr(16)    TYPE c,
            name1(35)    TYPE c,
            werks(5)     TYPE c,
            name2(30)    TYPE c,                                "GA16062003.
            lgort(4)     TYPE c,
            ekgrp(3)     TYPE c,
            ekorg(4)     TYPE c,
    "       eknam(30)    type c,                                "GA16062003.
            ematn(20)    TYPE c,
            txz01(40)    TYPE c,
    *BEGIN INSERT BB1097 - this field will hold the value of the vendor
                         material #
            IDNLF(35)    TYPE C,
    *END INSERT BB1097
            eindt(13)    TYPE c,
            menge(13)    TYPE c,
            meins(4)     TYPE c,
            netpr(11)    TYPE c,
            waers(5)     TYPE c,                                "ujo7jul
            peinh(4)     TYPE c,
            bprme(4)     TYPE c,
          menge2(11)   type c,
            bamng(11)    TYPE c,
            meins2(6)    TYPE c,
            bpmng(11)    TYPE c,
            meins3(6)    TYPE c,
            bednr(21)    TYPE c,
            wempf(12)    TYPE c,                                "GA19062003.
            AGING(7)     TYPE C,                   "insert AW2150 GLDK9AAYU9
            ELIKZ(23)    TYPE c,                                "TUL02022005
            EREKZ(23)    TYPE C,                   "insert AW2150 GLDK9AAYU9
          END OF t_conditions_exe.
    *eject
    *INTERNAL TABLE TO FIND THE RECEIVED AND INVOICED QUANTITY
    DATA: BEGIN OF t_ekbe OCCURS 0,
            ebelp LIKE ekbe-ebelp,
            ebeln LIKE ekbe-ebeln,
            vgabe LIKE ekbe-vgabe,
          BELNR LIKE EKBE-BELNR,
    *Begin Of Change BH9511 20-Aug-07
           menge LIKE ekbe-menge,
            menge(16) TYPE P DECIMALS 3,
    *End Of Change BH9511 20-Aug-07
            shkzg LIKE ekbe-shkzg,
          END OF t_ekbe.
    *INTERNAL TABLE TO FIND THE RECEIVED AND INVOICED UoM
    DATA: BEGIN OF t_ekbe_temp OCCURS 0,
            ebelp LIKE ekbe-ebelp,
            ebeln LIKE ekbe-ebeln,
            vgabe LIKE ekbe-vgabe,
            menge LIKE ekbe-menge,
          END OF t_ekbe_temp.
    Added begin ujo7jul
    DATA: BEGIN OF t_totals OCCURS 0,
            menge  LIKE ekpo-menge,
            meins  LIKE ekpo-meins,
            bamng  LIKE ekbe-bamng,
            meins2 LIKE ekpo-meins,
            bpmng  LIKE ekbe-bpmng,
            meins3 LIKE ekpo-meins,
          END OF t_totals.
    DATA: BEGIN OF t_tot_netpr OCCURS 0,
            netpr  LIKE ekpo-netpr,
            waers  LIKE ekko-waers,
          END   OF t_tot_netpr.
    DATA: BEGIN OF t_tot_peinh OCCURS 0,
            peinh  LIKE ekpo-peinh,
            bprme  LIKE ekpo-bprme,
          END   OF t_tot_peinh.
    *Begin of Comment by AW2150
    *DATA: BEGIN OF t_eket OCCURS 0,
           ebeln LIKE eket-ebeln,
           ebelp LIKE eket-ebelp,
           eindt LIKE eket-eindt,
         END   OF t_eket.
    Added end ujo7jul
    *End of Comment by AW2150
    BEGIN OF KAK01
    FOR ALV Related Details.
    DATA: alv_fieldcat  TYPE slis_t_fieldcat_alv,
          alv_layout    TYPE slis_layout_alv,
          alv_exclude   TYPE slis_t_extab,
          alv_sort      TYPE slis_t_sortinfo_alv,
          g_variant     LIKE disvariant,
          gx_variant    LIKE disvariant,
          gt_event_exit TYPE slis_t_event_exit,                 "GA23062003.
          g_save(1)     TYPE c,                                 "GA23062003.
        g_exit(1)     TYPE c,                                 "AMT25JAN05
        lt_dynpread   LIKE dynpread OCCURS 1 WITH HEADER LINE,"AMT25JAN05
          g_repid       LIKE d020s-prog,
    END OF KAK01
    Start of GLDK9A8WWS (AS3848)
    Added the definition of structure for the events that will be used
    in the logic for generating the standard report header for the report.
          v_events      TYPE slis_t_event.
    End of GLDK9A8WWS (AS3848)
    *eject
    PARAMETERS and SELECT-OPTIONS definition
    Start of GLDK9A8WWS (AS3848)
    Changed the text-100 in the list of text elements.  It was changed
    from OPEN PURCHASE DOCUMENTS LIST DISPLAY to Open Purchaser Order
    Report.
    SELECTION-SCREEN: BEGIN OF BLOCK three WITH FRAME TITLE text-100.
    End of GLDK9A8WWS (AS3848)
    SELECTION-SCREEN: BEGIN OF BLOCK one WITH FRAME TITLE text-060.
    SELECT-OPTIONS : s_ekorg FOR  ekko-ekorg OBLIGATORY MEMORY ID eko
                                  NO INTERVALS,
                     s_lifnr FOR  ekko-lifnr,
                     s_werks FOR  ekpo-werks MEMORY ID wrk,
                     s_ekgrp FOR  ekko-ekgrp MEMORY ID ekg
                                  NO INTERVALS,
                     s_ebeln FOR  ekko-ebeln MEMORY ID bes,
                     s_ebelp FOR  ekpo-ebelp MEMORY ID bsp,
                     s_bsart FOR  zbsart_doc-bsart MEMORY ID bsa,"GA01
                     s_pstyp FOR  ekpo-pstyp,
                     s_loekz FOR  ekko-loekz,
                     s_knttp FOR  ekpo-knttp MEMORY ID knt,
                     s_matnr FOR  ekpo-matnr MEMORY ID mat,
                     s_matkl FOR  ekpo-matkl MEMORY ID mkl,
      start of modifications AW2150 GLDK9AAYU9
                    s_bedat FOR  ekko-bedat OBLIGATORY,        "GA29072003
                     S_BEDAT FOR  EKKO-BEDAT,
      end of modifications AW2150 GLDK9AAYU9
                     S_EINDT FOR  EKET-EINDT.
    PARAMETERS:      p_sum AS CHECKBOX,                         "SRI26062003
    start of modification AW2150 GLDK9ABI53
    deleted checkbox for manually closed PO
               p_pod AS CHECKBOX DEFAULT 'X'."insert AW2150 GLDK9AAYU9
    added checkbox for DCI and FI.
                P_DCI AS CHECKBOX DEFAULT 'X', "insert AW2150 GLDK9ABI53
                P_FI  AS CHECKBOX.             "insert AW2150 GLDK9ABI53
    end of modification AW2150 GLDK9ABI53
    SELECTION-SCREEN: END OF BLOCK one .
    SELECTION-SCREEN: BEGIN OF BLOCK two  WITH FRAME TITLE text-070.
    start of insert AW2150 GLDK9ABSZ8
    PARAMETERS:     P_ALLPO AS CHECKBOX DEFAULT 'X'.
    end of insert AW2150 GLDK9ABSZ8
    start of insert AW2150 GLDK9AAYU9
    this was just moved from the block below. this is not a new
    requirement.
    PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT NO-DISPLAY. " ALV Variant
    SELECTION-SCREEN COMMENT 47(40) VARNAME FOR FIELD P_VARI.
    end of insert AW2150 GLDK9AAYU9
    *Start of GA16062003
    PARAMETERS:      p_qty   RADIOBUTTON GROUP qtvl,
                     p_date  RADIOBUTTON GROUP qtvl,
                     p_date1 RADIOBUTTON GROUP qtvl.
    *End of GA16062003
    SELECTION-SCREEN: END OF BLOCK two .
    start of modification AW2150 GLDK9AAYU9
    Start of GLDK9A8WWS (AS3848)
    Commented out the following portion of the source code to remove the
    field VARIANT under Settings on the report selection screen.
    *SELECTION-SCREEN: BEGIN OF BLOCK four WITH FRAME
                                         TITLE text-073.       "TUL0202200
    *selection-screen: begin of block four with frame title text-1
    *Start of GA23062003
    *PARAMETERS: p_vari LIKE disvariant-variant NO-DISPLAY. " ALV Variant
    *SELECTION-SCREEN COMMENT 47(40) varname FOR FIELD p_vari.
    *Select-Options : S_ELIKZ FOR  ekpo-ELIKZ .                  "TUL0202200
    End of modification  AW2150 GLDK9AAYU9
    Ext. check warning ignored for the comment.                 AMT25JAN05
    *SELECTION-SCREEN: END OF BLOCK four.
    End of GLDK9A8WWT (AS3848)
    *selection-screen: end of block three.
    PARAMETERS p_loggrp(4) TYPE c NO-DISPLAY DEFAULT 'PC10'.
    SELECTION-SCREEN: END OF BLOCK three.
    *End of GA23062003
    *eject
    *eject
    INITIALIZATION
    INITIALIZATION.
    *Deletion Indicator
      s_loekz-low    = c_l.
      s_loekz-sign   = c_i.
      s_loekz-option = c_ne.
      APPEND s_loekz.
    *start of insert AW2150 GLDK9ABSZ8
      IF P_ALLPO EQ C_X.
        LOOP AT SCREEN.
          IF SCREEN-NAME EQ 'P_QTY'.
            SCREEN-ACTIVE = 0.
          ELSEIF SCREEN-NAME EQ 'P_DATE'.
            SCREEN-ACTIVE = 0.
          ELSEIF SCREEN-NAME EQ 'P_DATE1'.
            SCREEN-ACTIVE = 0.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ELSEIF P_ALLPO NE C_X.
        LOOP AT SCREEN.
          IF SCREEN-NAME EQ 'P_QTY'.
            SCREEN-ACTIVE = 1.
          ELSEIF SCREEN-NAME EQ 'P_DATE'.
            SCREEN-ACTIVE = 1.
          ELSEIF SCREEN-NAME EQ 'P_DATE1'.
            SCREEN-ACTIVE = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ENDIF.
    *end of insert AW2150 GLDK9ABSZ8
    *Start of GA23062003
    Settings for display variants
    *INITIALIZATION.                                            "GA03122003.
      g_repid = sy-repid.
      g_save  = c_a(1).
      CLEAR g_variant.
      g_variant-report    = g_repid.
      g_variant-log_group = p_loggrp.
      g_variant-username  = sy-uname.
    Get default variant
      gx_variant = g_variant.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                i_save     = g_save
           CHANGING
                cs_variant = gx_variant
           EXCEPTIONS
                not_found  = 2.
      IF sy-subrc EQ 0.
        p_vari = gx_variant-variant.
      ENDIF.
      varname = gx_variant-text.
    VALIDATE INITIAL DATA ENTERED BY THE USERS ***************
    *Start of GA29072003.
      IF NOT s_bedat IS INITIAL.
    Start of GLDK9A8WWS (AS3848)
    Changed sequence in subroutine name to comply with coding standards
    based on the review tool ZZCHK.
        PERFORM f0100_check_s_bedat.
    End of GLDK9A8WWS (AS3848)
      ENDIF.
    *End of GA29072003.
    *eject
    *start of insert AW2150 GLDK9ABSZ8
    AT SELECTION-SCREEN OUTPUT.
      IF P_ALLPO EQ C_X.
        LOOP AT SCREEN.
          IF SCREEN-NAME EQ 'P_QTY'.
            SCREEN-ACTIVE = 0.
          ELSEIF SCREEN-NAME EQ 'P_DATE'.
            SCREEN-ACTIVE = 0.
          ELSEIF SCREEN-NAME EQ 'P_DATE1'.
            SCREEN-ACTIVE = 0.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ELSEIF P_ALLPO NE C_X.
        LOOP AT SCREEN.
          IF SCREEN-NAME EQ 'P_QTY'.
            SCREEN-ACTIVE = 1.
          ELSEIF SCREEN-NAME EQ 'P_DATE'.
            SCREEN-ACTIVE = 1.
          ELSEIF SCREEN-NAME EQ 'P_DATE1'.
            SCREEN-ACTIVE = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ENDIF.
    *end of insert AW2150 GLDK9ABSZ8
    *eject
    *start of insert by AW2150 GLDK9AAYU9
    AT SELECTION SCREEN ON S_EINDT.
    AT SELECTION-SCREEN ON S_EINDT.
      IF NOT S_EINDT IS INITIAL.
        PERFORM F17200_CHECK_S_EINDT.
      ENDIF.
    *end of insert by AW2150 GLDK9AAYU9
    *eject
    AT SELECTION SCREEN ON S_EKORG
    AT SELECTION-SCREEN ON s_ekorg.
    Validate value of purchasing org(s) entered on the selection         *
    screen by executing subroutine 0100_VALIDATE_PURC_ORG.               *
      IF NOT s_ekorg IS INITIAL.
        PERFORM f0200_validate_purc_org.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_EKGRP
    AT SELECTION-SCREEN ON s_ekgrp.
    Validate value of purchasing group(s) entered on the selection       *
    screen by executing subroutine 0200_VALIDATE_PURC_GROUP.             *
      IF NOT s_ekgrp IS INITIAL.
        PERFORM f0300_validate_purc_group.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_EBELN
    AT SELECTION-SCREEN ON s_ebeln.
    Validate value of purchase order(s) entered on the selection         *
    screen by executing subroutine F0310_VALIDATE_PURC_ORDER.
      IF NOT s_ebeln IS INITIAL.
        PERFORM f0310_validate_purc_order.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_WERKS
    AT SELECTION-SCREEN ON s_werks.
    Validate value of plant(s) entered on the selection                  *
    screen by executing subroutine F0400_VALIDATE_PLANT.
      IF NOT s_werks IS INITIAL.
        PERFORM f0400_validate_plant.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_BSART
    AT SELECTION-SCREEN ON s_bsart.
    Validate value of Document type(s) entered on the selection          *
    screen by executing subroutine F0500_VALIDATE_DOC_TYPE.
      IF NOT s_bsart IS INITIAL.
        PERFORM f0500_validate_doc_type.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_PSTYP
    AT SELECTION-SCREEN ON s_pstyp.
    Validate value of Item Category entered on the selection             *
    screen by executing subroutine F0600_VALIDATE_ITEM_CATEGORY.
      IF NOT s_pstyp IS INITIAL.
        PERFORM f0600_validate_item_category.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_MATNR
    AT SELECTION-SCREEN ON s_matnr.
    Validate value of Material Number entered on the selection           *
    screen by executing subroutine F0700_validate_mat_number
      IF NOT s_matnr IS INITIAL.
        PERFORM f0700_validate_mat_number.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_LIFNR
    AT SELECTION-SCREEN ON s_lifnr.
    Validate value of Vendor entered on the selection by executing       *
    subroutine F0800_VALIDATE_VENDOR_NUMBER
      IF NOT s_lifnr IS INITIAL.
        PERFORM f0800_validate_vendor_number.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_MATKL
    AT SELECTION-SCREEN ON s_matkl.
    Validate value of material group entered on the selection screen     *
    by executing subroutine F0900_validate_mat_group.
      IF NOT s_matkl IS INITIAL.
        PERFORM f0900_validate_mat_group.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_KNTTP
    AT SELECTION-SCREEN ON s_knttp.
    Validate the value of account assignment category entered on the     *
    selection screen by executing subroutine 1000_validate_mat_group.    *
      IF NOT s_knttp IS INITIAL.
        PERFORM f1000_validate_***_category.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_EBELP
    AT SELECTION-SCREEN ON s_ebelp.
    Validate the value of PO line item entered on the                    *
    selection screen by executing subroutine F1100_VALIDATE_PO_ITEM.
      IF NOT s_ebelp IS INITIAL.
        PERFORM f1100_validate_po_item.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_LOEKZ
    AT SELECTION-SCREEN ON s_loekz.
    Validate the value of deletion indicator enterd on the selection     *
    selection screen by executing subroutine F1200_VALIDATE_DEL_IND.
      IF NOT s_loekz IS INITIAL.
        PERFORM f1200_validate_del_ind.
      ENDIF.
    Start of GLDK9A8WWS (AS3848)
    Commented out the following block of code as a result of the removal
    of the field VARIANT from the selection screen.
    *at selection-screen on value-request for p_vari.
    perform 14000_f4_for_variant.
    End of GLDK9A8WWS (AS3848)
    *Start of deletion AW2150
    *eject
    Block Added From Here TUL02022005
    AT SELECTION SCREEN ON S_ELIKZ
    *AT SELECTION-SCREEN ON s_ELIKZ.
    Validate the value of Delivery Completed Indicator entered.
    IF NOT s_ELIKZ IS INITIAL.
      Check the Valid Values.
       IF  not SPACE in S_ELIKZ
       AND not C_X   in S_ELIKZ .
         MESSAGE e999 WITH
                 'Invalid Delivery Completed Flag entered'(006).
       ENDIF.
    ENDIF.
    Block Added Till Here TUL02022005
    *End of deletion AW2150
    *eject
    AT SELECTION SCREEN
    AT SELECTION-SCREEN.
      PERFORM f15000_pai_of_selection_screen.
    *End of GA23062003
    start of insert AW2150 GLDK9AAYU9
      IF S_BEDAT IS INITIAL
         AND S_EINDT IS INITIAL.
        MESSAGE E999 WITH TEXT-E01.
      ENDIF.
    end of insert AW2150 GLDK9AAYU9
                            MAIN PROCESSING                            **
    *eject
    START-OF-SELECTION.
    START-OF-SELECTION.
    Store report name and report size into temp. varaibles for later use.
      w_repid = sy-repid.
    Select OAs and Info Records to be displayed into internal table
      PERFORM f2000_get_pos.
    Store data into final reporting internal table
      PERFORM f3000_store_data.
    Begin of KAK01
    Start of GLDK9A8WWS (AS3848)
    Calls the subroutine for building the event catalog for ALV.  This
    event catalog will be used in the function module that will generate
    the ALV report.  Logic will eventually be used for the generation of
    the standard report header on top of each page.
      CLEAR v_events.
      w_linsz = sy-linsz.
      PERFORM f17100_build_events USING v_events.
    End of GLDK9A8WWS (AS3848)
    Use ALV instead of normal list.
    Write data to the screen.
    Populate ALV Field Category Structure.
      PERFORM f8000_field_cat.
    Populate ALV Exclude Structure.
      PERFORM f9000_alv_exclude.
    *eject
    END-OF-SELECTION.
    END-OF-SELECTION.
    Begin of KVI04Feb05
      IF W_FLAG EQ C_X.
        CLEAR W_FLAG.
        STOP.
      ENDIF.
    End of "KVI04Feb05
    Display Report.
      PERFORM f10000_call_disp.
    *eject
    AT USER-COMMAND .
    *AT USER-COMMAND.
    CASE SY-UCOMM.
       WHEN 'EXEL'.
         PERFORM F5000_DOWNLOAD_TO_EXCEL.
       WHEN 'CLIK'.
         IF SY-LISEL+1(2) EQ '45'.
           PERFORM F6000_see_po_details.
         ELSE.
           PERFORM F7000_see_oa_details.
         ENDIF.
    ENDCASE.
    End of KAK01
    *eject
      Form(s)/Subroutine(s)   ************************
    *Start of GA29072003.
    *&      FORM F0100_CHECK_S_BEDAT
    Check if user entered appropriate date values as selection criteria *
    ----

    Hi!
    After you click on the printer icon, a popup will apeear. Depends on the SAP system version, you are using, somewhere on the popup, you can find a filed, which is called SAP COVER PAGE.
    Here you can choose, coverpage, without cover page, or standard cover page.
    Regards
    Tamá

  • SAP Crystal Report (2008) through SQL Query parameters

    Hi,
    I Created a report in Crystal report (2008) based on Sql Query. I created parameters in SQL query prompt only (all single valued).
    Based on this I need to show the data in detail section.
    For Graph, I used another SQL query, and added one subreport to the Main report header section. Since this subreport is also using the SQL query prompts for taking parameters.
    Since both the reports are using same set of parameters. I mapped Main report parameters to sub-report parameters.
    So Now structure is like,
    In a report there is one subreport.
    Main report ....SQL query generates parameter prompt..same parameters is passed to subreport.
    In subreport there are sql generated prompts. and we mapped that prompts to main report parameter prompts.
    Now it is running fine from crystal report, but not from CMC. It is not showing the graph.
    Made Two Experiment:
    1. To check subreport is running or not , Mannualy put my name in sub report--working fine.(CMC)
    2. To check the parameters are correctly mapped--printed the value in subreport--Showing all the parameters value from CMC
    but it is not running the SQL query of that sub report.
    Any suggestion ?? Or is there anyoption to check?? Or a CMC setting.
    Please suggest and respond..
    Thank you in advance.!!

    Hi Rajeev,
    This is Crystal reports development community, you said the report is working fine in Crystal. it is problem in CMC. So the issue is at BI Server.
    So i think you need to create the thread in the below community.
    BI Platform
    --Naga

  • Help with Oracle Report Builder and SQL Server2000

    Hey guys,
    I just installed it Oracle Developer Suite10g with Report Builder and I am trying to use Report builder and wants to connect with SQL Server 2000. The problem that I am running in to is SQL Server 2000 i have is Window Authentication so Does not required to enter user name and password. So how can i connect my report builder to SQL server or is it possible to connect Report builder to SQL server?
    Also, I want to create small practice version of database in Oracle how do i do it? what i mean by that is I installed trial version or Oracle developer 10g from www.oracle.com and now trying to get some knowledge with oracle. Could any one can give me some direction in this matter please.
    Thank You
    Key

    Have a look at the reports help for the purpose header and trailer sections. Here is an exert:
    "Report sectioning enables you to define multiple layouts in the same report, each with a different target audience, output format, page layout, page size, or orientation. You can define up to three report sections, each with a body area and a margin area: the names of the sections are Header, Main, and Trailer. By default, a report is defined in the Main section. In the other sections, you can define different layouts, rather than creating multiple separate reports. If you wish, you can use the margin and body of the Header and Trailer sections to create a Header and Trailer page for your reports."

  • Paramteter in Portal Report Header

    Hi
    Is there a a way of showing the parameter that a user enters in
    a report header, perhaps with some text
    eg given the query
    select * from SCOTT.EMP
    where DEPTNO = :department
    I would want to show something like 'Department is :':department
    number in the page header of the report, and hide deptno in the
    result set displayed. I am trying to emulate something similar
    to the way that Discoverer users 'Page items'.
    Thanks in advance
    Tim

    To display the parameter, you could enter the following code
    into the '...After displaying the header' event on the PL/SQL
    tab.
    htp.prn(htf.bold('Department is ')
    ||portal30.wwv_name_value.get_string( l_arg_names,
    l_arg_values, 'department'));
    htp.br;
    Then just change the display type of Department to Hidden.
    Hope this helps.

  • How can I include date in report header

    How can I display the current date in my report header? I do not wish to modify the sql statement to include the sysdate.
    Can I add the date in the 'Report and Customization Form Text' or in 'Additional PL/SQL Code'? If so then how?

    Maxine,
    In the last tab of the report wizard,
    you can add the plsql to display the date.
    Alternately,create an unstructured UI template and add the [oracle][oracle] tag
    and insert the plsql in it to display the
    date

  • Generating reports from PL/SQL

    I'm new to the world of BI Publisher - so far I'm impressed with what I've seen. I've managed to create a report and an RTF template and generate some nice looking PDF's :)
    What I need to do now is to have a nightly job that produces PDF shipment reports using my template for all new shipments generated during the day and I'm having a little difficulty putting it all together.
    I've looked at the BI Publisher API's that allow me to generate an XSL from my RTF template and the using the FO engine merge the XSL and XML data to produce the PDF. Then using the delivery manager API's I can send these reports out via email.
    I'm a little unsure of how to get the XML source - I've played around with the DataEngine API to generate XML from a SQL query so I think that's where I should be heading.
    Does this all sounds right ? Ideally, I want to be able to do all of this from within a scheduled PL/SQL job every night but all the interaction with the BI server seems to be via Java.
    Is there an easy(ish) way to run all of this from within PL/SQL ?
    And should I be going about this by:
    1/ generate XML data using dataengine API
    2/ create an RTF template using word and the xml data generated above
    3/ use the RTF processor to generate an XSL-FO from my RTF template
    (1-3 will only need to be done once)
    4/ Then my nightly job will use the dataengine to generate new shipment XML data
    5/ use FO processor to generate PDF's from each
    6/ use delivery manager API's to email out
    All sounds very cumbersome and intense -is there no easier way ?! :) Also, I'm thinking i should be using the bursting engine to split one query containing all the new shipment data and generate/mail a PDF for each shipment ? Is that necessary if all going to the same email address ?
    Help/guidance/suggestions greatly appreciated !
    Many thanks,
    Brent

    repost .... Has anyone successfully called BIP web services from within the database using Java stored procedures ?
    Still struggling to work out how to generate my reports from PL/SQL ! :((

  • Excel export contains a blank row for the Report Header

    Hi,
    I am getting a blank row as the first row in my SSRS report when exported to excel. I have already taken care of following things,
    1. I have hidden all of the Page Header items using Globals
    2. The position of Report Body Tablix is 0, that means there is no space between report header and Report Body.
    I have developed this Report in SSRS 2012, please let me know if any more details are required. I think even after hiding Header Items, excel creates a placeholder for page header. I can't remove header from my reports as it is needed to be published in
    pdf.
    Regards
    Mohit

    Hi Mohit,
    According to your description, you are getting a blank row as the first row in your excel report when you export the report to excel, you have hidden all the items in the Page Header by using the Globals, right?
    This blank row is for the page header, although you have hidden all the items in it, but it will still display when export report to excel. Because we can’t hidden the page Header directly. Normally, we can hidden all the items in the page Header, So in
    the design phase we can also see the blank area above the report body when preview.
    We have an alternative way by add the “SimplePageHeaders” setting in “RSReportserver.config” file, after configuration the page Header will not display in the first row of the worksheet but is rendered to the Excel page header. In Reporting Services, the
    “SimplePageHeaders” default value is “FALSE” and it indicates that the page header is rendered to the first row of the worksheet. In order to display the page header in the Header/Footer section of Excel, we need to set the “SimplePageHeaders” setting value
    to “TRUE”. I did a test on my local machine and here are my steps:
    Navigate to RSReportserver.config file: <drive:> Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\RSReportserver.config.
    Backup the RSReportserver.config file before modify it, open the RSReportserver.config file with Notepad format.
    Set the Excel rendering extension code like this:
    <Render>
    <Extension Name="EXCELOPENXML" Type="Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.ExcelOpenXmlRenderer,Microsoft.ReportingServices.ExcelRendering">
    <Configuration>
    <DeviceInfo>
    <SimplePageHeaders>TRUE</SimplePageHeaders>
    </DeviceInfo>
    </Configuration>
    </Extension>
    </Render>
      4.  Save the RSReportserver.config file.
    Note: Changing the rendering extension parameters only affects rendering operations on the Report Server.
    When I access to Report Manager and export the report(includes a page header) to Excel format, the blank row will disappear now.
    Similar thread for your reference:
    SimplePageHeader property in SSRS 2008 not working
    Removing 2 top blank rows when export to excel in ssrs 2008
    r2 report
    You can find more detail in these articles about the page header and page footer:
    Exporting to Microsoft Excel (Report Builder and SSRS)
    If you still have any question, please feel free to ask.
    Regards
    Vicky Liu

  • Show column in report header

    Hi
    Is there a way of showing a selected column in the report header in Portal, I believe I may need to use the htp.print function?
    For example
    if the sql was
    select emp, mgr from emp
    how could I get the 'mgr' column to show in the header?
    Thanks in advance

    I am trying to get a report that appears something like below:
    Manager Name: John
    Employee1
    Employee2
    Employee3
    Employee4
    which could be produced from 'select manager, employee from
    emp where manager = 'JOHN';
    I would wish the 'manager name' to show only in the header
    Thanks

  • Dynamic report heading columns

    Hi
    my report has 0-30, 31-60,61-90,......... as report heading ,it is given as boilerplate in paper layout , I want to make it as dynamic by select a list of days like 30,40,45,......etc , if I give 100 days 
    it should come like  0-100,101-200,201-300, 301-365, above 365, total  that is if i give a date 31 dec 2013 , and 100 days  .
    how to make the layout structure dynamic ...... pls help
    thanks in advance

    Making Dynamic layout in the Forms / Reports tools is very difficult (unlike eg. ADF Framework).
    One way to simulate the dynamic layout in the Reports is to have a generic columns (eg. column_1, column_2 ... etc.), but the number of generic columns must be greater or equal to the number of "real columns".
    Another way is that you put all the "real columns" into one column, which must be well-formatted (with the correct number of blank characters, etc.).
    As for the dynamic SQL query  in Reports, I think it is better to use the dynamic ref cursor, but the Reports lexical parameters.
    In order to use dynamic ref cursors in Reports, you need a little trick. See this old thread:
    Can we create report based on stored procedure
    Regards,
    Zlatko

  • Controling Column Order for Report with Dynamic SQL

    Hi,
    I have a report region using Function block returning the SQL.
    The output of the function will look like the following
    SELECT NAME, CLASS1, CLASS2,CLASS3,CLASS4, AVERAGE_SCORE FROM XXXX;
    The number of CLASSn column will be determine by the function based on the data. If the person doesn't have any score on CLASS4, the the SQL would not have CLASS4 column.
    My problem with this is I can't control the order of column appearance.
    For e.g : If my previous SQL is without CLASS4, when I query a person with CLASS4. The CLASS4 column will appear after the AVERAGE_SCORE.
    NAME---CLASS1---CLASS2---CLASS3---AVERAGE_SCORE---CLASS4
    I want it to maintain AVERAGE_SCORE as the last column.
    Can you guys give a suggestion how to handle this?
    Additional info :
    - I am disabling the report header, setting it to None as the first row of the sql returned records is the header.
    Cheers,
    Joel

    Hi all,
    My report seems to be behaving correctly once i set it to "Use Generic Column Names (parse query at runtime only)" :)
    Cheers,
    Joel

Maybe you are looking for

  • Camera not recognized unless daisy-chained with external HD

    I just bought a LaCie 250GB external FW drive to use as a scatch disk for FCE. Now my camera (Sony DCR-HC30) is not recognized unless I plug it into the LaCie. I borrowed a second camera (Panasonic), swapped the FW cable while the camera and HD were

  • BT NetProtect Plus - Detections Found

    Hey There! I've recently installed BT NetProtect Plus on my Mac and it was all working beautifully. Yesterday I got a notification to say that 2 detections have been found, Wayhay! It works! Closed it and carried on, 10 mins later it pops up again, m

  • Duplicate events in my calendar

    I have duplicate events in my Calendar on my iPhone 6. These do not show up in my MacBook Air, on my iMac, or in iCloud.com. The duplicates only appear on my iPhone calendars. I have gone into iPhone settings and turned off Calendars under the iCloud

  • I Installed JDK but there is no Icon! Help!

    Hello, I installed JDK and it says it's installed yet I cannot find out how to start it up to do my "Hello World" test (I am new to this programming thing). What should I do to find the Java programming application I just installed? Thank you in adva

  • Transmitting music from a radio app / web site to my Airport wifi

    Hi, I want to be able to use my Ipad to transmitt media from a radio app / web site to my airport. I use Airfoil for my Macbook to transmit from a website but I want to transmit from my ipad using my account for that. How can I do this?