Generate PDF (BI Publisher) through APEX_PLSQL_JOB.SUBMIT_PROCESS

Hi!
Oracle 10.2.0.4 32, Apex 4.0.2, BIP 10.x Win.
I have to generate cca. 1000 reports in PDF (some customer bills) through BI Publisher print server.
PDF is defined through "Reports queries" and "Reports layouts" directly defined from Apex env. Report template is Word RTF file. Report query has one parameter:
and R.BILL_ID = :G_BILL_IDRunning from App page process it is not acceptable to do that because operation should takes hours and user cannot have open freezed browser.
So I found out "APEX_PLSQL_JOB.SUBMIT_PROCESS", which submit process in "job" as background process.
On page I left just "SUBMIT_PROCESS" call:
BEGIN
  APEX_PLSQL_JOB.SUBMIT_PROCESS ('begin bills_pkg.generate_biils; end');
END;and put the whole logic in package. Small problem was to change Apex item (Application item), what I solved and change with:
APEX_UTIL.set_session_state(p_name => 'G_BILL_ID', p_value => cur_array(i).B_ID);for every record in cursor (I know his is not optimal but I just wanted to get working demo).
Call from package procedure is like (slightly modified from Apex page process which was working!):
open cur;
  -- assign to have that value as parameter for !??
  APEX_UTIL.set_session_state(p_name => 'G_BILL_ID', p_value => cur_array(i).B_ID);
  print_one_report (cur_array(i).B_ID);
close cur;where "print_one_report" is mine procedure which saves PDF in db (proc was the same as before when was working but with too long result).
Unfortunately then all generated PDF reports (which I save in database) has 0 bytes length (I call the same procedure called as before when reports were generated but from Apex page process directly).
Seems that "G_BILL_ID" is no longer having correct values ... like session problems.
How to achieve and fix that (generate PDF from cursor) or is there any article how to manage BI Publisher printing with APEX_PLSQL_JOB.SUBMIT_PROCESS?
Rg,
Damir Vadas
P.S.
Should
apex_custom_auth.define_user_session (p_user, p_session_id );
apex_application.g_flow_id := p_app_id;might help?
Edited by: user1050751 on May 13, 2011 12:57 PM

Damir,
Here is one way that you could get a background job to create your thousand reports (4 steps).
1st define your report query and layout within APEX (and BI-Publisher builder - Word plugin).
2nd write a custom process to call apex_util.get_print_document to generate your 1000 reports and place them in a blob column.
http://download.oracle.com/docs/cd/E17556_01/doc/apirefs.40/e15519/apex_util.htm#CHDDECIA
DECLARE
    l_document BLOB;
     l_security_group_id NUMBER;
    CURSOR your_cur IS
    SELECT...your thousand records
BEGIN
    wwv_flow_api.set_security_group_id(p_security_group_id);
    l_security_group_id := wwv_flow_api.get_security_group_id;
    FOR your_rec IN your_cur LOOP
        BEGIN
             set any item values that will be referenced in your report query here
             l_document := APEX_UTIL.GET_PRINT_DOCUMENT (p_application_id     => v_your_app_id,
                                                         p_report_query_name  => v_your_defined_report_name,
                                                         p_report_layout_name => v_your_defined_layout_name,
                                                         p_report_layout_type => 'rtf',
                                                         p_document_format    => 'pdf',
                                                         --p_print_server             =>
            INSERT INTO your_table... id, l_document, file_name, mime_type...
            COMMIT;
        EXCEPTION
            WHEN others THEN
                  write an error to a job log...
        END;
    END LOOP;
EXCEPTION
     WHEN others THEN
           write an error to a job log...
END;3rd write logic that will submit your custom process using APEX_PLSQL_JOB.SUBMIT_PROCESS or you can use dmbs_scheduler package.
4th write code to retrieve the report data from the blob column and display or distribute to users.
I've never called the apex_util.get_print_document recursively like this before so I'm not sure how it will perform. There are 4 versions of the get_print_document API so use the one that best fits your needs with performance in mind.
After writing the above logic I found this post that is very similar.
Scheduling reports with dbms_scheduler
An alternative method to what I've listed above is scheduling reports using the Bi-Publisher web service.
http://bipconsulting.blogspot.com/2010/04/how-to-schedule-report-with-bi.html
Regards,
Todd
Edited by: tfa on May 16, 2011 8:03 AM

Similar Messages

  • Error while generating PDF from APEX through BI Publisher

    Hi,
    I am facing a problem which is intermittent.
    I am generating a pdf from APEX which has been developed using BI Publisher.
    I have linked the report to the APEX using report queries/report layouts in shared components.
    The pdf used to open without any problems previously.But currently,I am getting the following error
    *"An error exists on this page.Acrobat may not display the page correctly.Please contact the person who created the pdf document to correct the document."*
    Once the Bi Publisher Services is restarted,I am able to generate the pdf.Again After sometime the same error pops up.
    Has anybody faced the above error?
    Any solution for the same.
    Kindly reply.
    Thanks and Regards,
    K Tanna

    in the log file,following message was shown
    [050510_021134100][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) is called.
    [050510_021134126][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) done. All inputs are cleared.
    [050510_021134126][oracle.apps.xdo.template.FOProcessor][STATEMENT] End Memory: max=15744MB, total=237MB, free=121MB

  • Why would hyperlinks fail to work half-way through generated PDF?

    I'm trying to create a PDF of a MS Word file using the Adobe PDF > Convert to Adobe PDF function. In the generated PDF, half-way through the file the hyperlinks stop working although they display correctly. In the source Word file, the links work fine. The Word file is heavily cross referenced and is about 14 MB. It was originally a 26MB file, but I reduced the filesize by converting the embedded graphics from embedded Visio objects to .wmf images.
    My question - what would make the hyperlinks fail? Is it a system processing issue? The rest of the PDF seems fine. Note that the final PDF also contains bookmarks. All other PDFs I generate work correctly.
    System Details:
    Word 2003
    Adobe Acrobat 7.0 Professional
    Windows XP, Version 2002, SP2
    789 MHz, 3GB RAM
    Any ideas would be appreciated.

    Just in case, I would suggest updating your Acrobat. You have to install the updates in order, but AA7 is currently at 7.1.2. The updates are available at http://www.adobe.com/support/downloads/product.jsp?product=1&platform=Windows. Version 7.0.1 is a very early version. The latter versions (7.1.x) were primarily security updates. The 7.0.x updates were fixing a lot of the bugs.

  • Header and footer in PDF files generated from Business Publisher

    Hi All,
    Is there any out of box feature to include Header and Footer of our choice in the Pdf file of Process Model generated from Business Publisher (from Print function in the publisher explorer)
    Thank you all in advance.
    regards,

    Hi Raja,
    Does this mean that you have been sucessful in generating the PDF from the BPublisher?
    If yes, could you please share how you achived this. Platform .. version ect. you have.
    I am trying to create the PDF , but my IE popup just ... well ... just disappears..
    thanks
    regards
    Sanjiv

  • While generating reports in Oracle BI Publisher in pdf format, the generated pdf reports have hindi  इ matra displaced by one character. For example, रिपोर्ट is printed as रपेिोरट.  Word file generated of the same report have correct hindi इ  matra positi

    While generating reports in Oracle BI Publisher in pdf format, the generated pdf reports have hindi  इ matra displaced by one character. For example, रिपोर्ट is printed as रपेिोरट.  Word file generated of the same report have correct hindi इ  matra position and also pdf generated from this word file also contains the same.

  • XML Publisher generates PDF but concurrent program still completes in error

    Hello,
    I have a concurent program that is used everyday. It generates PDF output with an average of 500 pages. It completes normal majority of the times, but completes in error sporadicallly. Interestingly, when it completes in error, it still generates the PDF output successfully.
    Question is why does it complete in error when all is good?
    Please note that we just went live on R12 from 11i beginning of this year. This issue never occurred in 11i. Please advise what can be done to fix this issue.
    Below is a log from one such submission. The log was rather long, so I'm only posting chunks from the beginning and end of the log, stripping the middle portion:
    Receivables: Version : 12.0.0
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    XXBREG_RAXINV_NEW_XMLP module: Breg Invoice Print New Invoices - XMLP
    Current system time is 22-JAN-2013 06:46:58
    +-----------------------------
    | Starting concurrent program execution...
    +-----------------------------
    Arguments
    p_order_by='TRX_NUMBER'
    p_cust_trx_class='INV'
    p_cust_trx_type_id='1'
    p_open_invoice='Y'
    p_check_for_taxyn='N'
    p_choice='NEW'
    p_header_pages='1'
    p_debug_flag='N'
    p_message_level='10'
    Forcing NLS_NUMERIC_CHARACTERS to: '.,' for XDO processing
    APPLLCSP Environment Variable set to :
    Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are :
    American_America.AL32UTF8
    Enter Password:
    MSG-00100: DEBUG: AfterPForm_Trigger +
    MSG-00100: DEBUG: Multi Org established.
    MSG-00100: DEBUG: AfterParam_Procs.Get_Country_Details
    MSG-00100: DEBUG: AfterParam_Procs.Switch_On_Debug
    MSG-00100: DEBUG: AfterParam_Procs.Get_Trx_Number_Low
    MSG-00100: DEBUG: AfterParam_Procs.Get_Trx_Number_High
    MSG-00100: DEBUG: AfterParam_Procs.Get_Tax_Option
    MSG-00100: DEBUG: AfterPForm_Trigger -
    MSG-00100: DEBUG: BeforeReport_Trigger +
    MSG-00100: DEBUG: BeforeReport_Procs.Populate_Printing_Option
    MSG-00100: DEBUG: BeforeReport_Procs.Populate_Tax_Printing_Option
    MSG-00100: DEBUG: BeforeReport_Trigger.Get_Message_Details
    MSG-00100: DEBUG: BeforeReport_Trigger.Get_Org_Profile.
    MSG-00100: DEBUG: Organization Id: 106
    MSG-00100: DEBUG: BeforeReport_Trigger.Build_Where_Clause
    MSG-00100: DEBUG: P_Choice: NEW
    MSG-00500: DEBUG: About to build WHERE clause.
    MSG-00500: DEBUG: WHERE clause built.
    MSG-00555: :p_choice:NEW
    MSG-00100: DEBUG: Choice is other than ADJ, setting ORDER BY.
    MSG-00555: :p_sel_trx_number:a.trx_number
    MSG-00555: :p_sel_trx_date:a.trx_date
    MSG-00555: :p_sel_trx_id:a.customer_trx_id
    MSG-00555: :p_sel_trx_type:types.type
    MSG-00555: :p_br_where_clause:
    MSG-00500: DEBUG: Table 1: AR_ADJUSTMENTS COM_ADJ,
    AR_PAYMENT_SCHEDULES P,
    RA_CUST_TRX_LINE_GL_DIST REC,
    RA_CUSTOMER_TRX A,
    HZ_CUST_ACCOUNTS B,
    RA_TERMS T,
    RA_TERMS_LINES TL,
    RA_CUST_TRX_TYPES TYPES,
    AR_LOOKUPS L_TYPES,
    HZ_PARTIES      PARTY,
    HZ_CUST_ACCT_SITES A_BILL,
    HZ_PARTY_SITES PARTY_SITE,
    HZ_LOCATIONS LOC,
    HZ_CUST_SITE_USES U_BILL
    MSG-00500: DEBUG: Table 2: RA_TERMS_LINES TL,
    RA_CUST_TRX_TYPES TYPES,
    AR_LOOKUPS L_TYPES,
         HZ_CUST_ACCOUNTS B,
    HZ_PARTIES      PARTY,
    HZ_CUST_SITE_USES U_BILL,
    HZ_CUST_ACCT_SITES A_BILL,
    HZ_PARTY_SITES PARTY_SITE,
    HZ_LOCATIONS LOC,
    AR_ADJUSTMENTS COM_ADJ,
    RA_CUSTOMER_TRX A,
    AR_PAYMENT_SCHEDULES P,
    RA_TERMS T
    MSG-00500: DEBUG: Where 1: A.BILL_TO_CUSTOMER_ID = B.CUST_ACCOUNT_ID
    AND REC.CUSTOMER_TRX_ID = A.CUSTOMER_TRX_ID
    AND REC.LATEST_REC_FLAG = 'Y'
    AND REC.ACCOUNT_CLASS = 'REC'
    AND P.PAYMENT_SCHEDULE_ID + DECODE(P.CLASS,
    'INV', 0,
    = COM_ADJ.PAYMENT_SCHEDULE_ID(+)
    AND COM_ADJ.SUBSEQUENT_TRX_ID IS NULL
    AND 'C' = COM_ADJ.ADJUSTMENT_TYPE(+)
    AND A.COMPLETE_FLAG = 'Y'
    AND A.CUST_TRX_TYPE_ID = TYPES.CUST_TRX_TYPE_ID
    AND L_TYPES.LOOKUP_TYPE = 'INV/CM/ADJ'
    AND A.PRINTING_OPTION IN ('PRI', 'REP')
    AND L_TYPES.LOOKUP_CODE =
    DECODE( TYPES.TYPE,'DEP','INV', TYPES.TYPE)
    AND NVL(P.TERMS_SEQUENCE_NUMBER,nvl(TL.SEQUENCE_NUM,0))=nvl(TL.SEQUENCE_NUM,nvl(p.terms_sequence_number,0))
    AND DECODE(P.PAYMENT_SCHEDULE_ID,'',0, NVL(T.PRINTING_LEAD_DAYS,0))=0
    AND A.BILL_TO_SITE_USE_ID = U_BILL.SITE_USE_ID
    AND U_BILL.CUST_ACCT_SITE_ID = A_BILL.CUST_ACCT_SITE_ID
    AND A_BILL.party_site_id = party_site.party_site_id
    AND B.PARTY_ID = PARTY.PARTY_ID
    AND loc.location_id = party_site.location_id
    AND NVL(LOC.LANGUAGE,'US') = 'US'
    AND NVL(P.AMOUNT_DUE_REMAINING,0) <> 0
    AND A.CUST_TRX_TYPE_ID = 1
    AND TYPES.TYPE = 'INV'
    AND A.TERM_ID = TL.TERM_ID(+)
    AND A.TERM_ID = T.TERM_ID(+)
    AND A.CUSTOMER_TRX_ID = P.CUSTOMER_TRX_ID(+)
    AND A.PRINTING_PENDING = 'Y'
    AND NVL(TL.SEQUENCE_NUM, 1) > NVL(A.LAST_PRINTED_SEQUENCE_NUM,0)
    MSG-00500: DEBUG: Where 2: A.BILL_TO_CUSTOMER_ID = B.CUST_ACCOUNT_ID
    AND P.PAYMENT_SCHEDULE_ID + DECODE(P.CLASS,
    'INV', 0,
    = COM_ADJ.PAYMENT_SCHEDULE_ID(+)
    AND COM_ADJ.SUBSEQUENT_TRX_ID IS NULL
    AND 'C' = COM_ADJ.ADJUSTMENT_TYPE(+)
    AND A.COMPLETE_FLAG = 'Y'
    AND A.CUSTOMER_TRX_ID = P.CUSTOMER_TRX_ID
    AND A.CUST_TRX_TYPE_ID = TYPES.CUST_TRX_TYPE_ID
    AND L_TYPES.LOOKUP_TYPE = 'INV/CM/ADJ'
    AND A.PRINTING_OPTION IN ('PRI', 'REP')
    AND L_TYPES.LOOKUP_CODE =
    DECODE( TYPES.TYPE,'DEP','INV', TYPES.TYPE)
    AND NVL(T.PRINTING_LEAD_DAYS,0) > 0
    AND A.BILL_TO_SITE_USE_ID = U_BILL.SITE_USE_ID
    AND U_BILL.CUST_ACCT_SITE_ID = A_BILL.CUST_ACCT_SITE_ID
    AND A_BILL.PARTY_SITE_ID = PARTY_SITE.PARTY_SITE_ID
    AND B.PARTY_ID = PARTY.PARTY_ID
    AND LOC.LOCATION_ID = PARTY_SITE.LOCATION_ID
    AND NVL(LOC.LANGUAGE,'US') = 'US'
    AND NVL(P.TERMS_SEQUENCE_NUMBER,TL.SEQUENCE_NUM)=TL.SEQUENCE_NUM
    AND NVL(P.AMOUNT_DUE_REMAINING,0) <> 0
    AND A.CUST_TRX_TYPE_ID = 1
    AND TYPES.TYPE = 'INV'
    AND T.TERM_ID = P.TERM_ID
    AND TL.TERM_ID(+) = T.TERM_ID
    AND A.PRINTING_PENDING = 'Y'
    AND P.TERMS_SEQUENCE_NUMBER > NVL(A.LAST_PRINTED_SEQUENCE_NUM,0)
    MSG-00100: DEBUG: BeforeReport_Trigger -
    MSG-05000: DEBUG: Trx No... 1010441
    MSG-00100: DEBUG: Get_Country_Description.
    MSG-00010: 06:47 1 Transaction: 1010441
    MSG-00001: Line type : Line
    MSG-00100: DEBUG: Get_Country_Description.
    MSG-00100: DEBUG: Get_Country_Description.
    MSG-05000: DEBUG: Remit To Address....
    MSG-05000: DEBUG: Address Style:
    MSG-05000: DEBUG: Address 1: PO Box 849991
    MSG-05000: DEBUG: Address 2:
    MSG-05000: DEBUG: Address 3:
    MSG-05000: DEBUG: Address 4:
    MSG-05000: DEBUG: City: Dallas
    MSG-05000: DEBUG: County:
    MSG-05000: DEBUG: State: TX
    MSG-05000: DEBUG: Province:
    MSG-05000: DEBUG: Postal Code: 75284
    MSG-05000: DEBUG: Territory:
    MSG-05000: DEBUG: Country_Code: US
    MSG-05000: DEBUG: Customer Name:
    MSG-05000: DEBUG: Bill To:
    MSG-05000: DEBUG: First Name:
    MSG-05000: DEBUG: Last Name:
    MSG-05000: DEBUG: Mail Stop:
    MSG-05000: DEBUG: Country Code: US
    MSG-05000: DEBUG: Country Desc:
    MSG-05000: DEBUG: Print Home Flag: N
    MSG-05000: DEBUG: Width: 40
    MSG-05000: DEBUG: Height Min: 6
    MSG-05000: DEBUG: Height Max: 6
    MSG-05000: DEBUG: Remit To Formatted... PO Box 849991
    Dallas TX 75284
    MSG-05000: DEBUG: Trx No... 1010442
    MSG-00100: DEBUG: Get_Country_Description.
    MSG-00010: 06:47 2 Transaction: 1010442
    MSG-05000: DEBUG: Bill To Address....
    MSG-05000: DEBUG: Address Style:
    MSG-05000: DEBUG: Address 1: 6560 W ROGERS CIR
    MSG-05000: DEBUG: Address 2: STE 19
    MSG-05000: DEBUG: Address 3:
    MSG-05000: DEBUG: Address 4:
    MSG-05000: DEBUG: City: BOCA RATON
    MSG-05000: DEBUG: County:
    MSG-05000: DEBUG: State: FL
    MSG-05000: DEBUG: Province:
    MSG-05000: DEBUG: Postal Code: 33487-2746
    MSG-05000: DEBUG: Territory:
    MSG-05000: DEBUG: Country_Code: US
    MSG-05000: DEBUG: Customer Name: THE BRACE SHOP
    MSG-05000: DEBUG: Bill To:
    MSG-05000: DEBUG: First Name: LORI
    MSG-05000: DEBUG: Last Name: ESCALANTE
    MSG-05000: DEBUG: Mail Stop:
    MSG-05000: DEBUG: Country Code: US
    MSG-05000: DEBUG: Country Desc:
    MSG-05000: DEBUG: Print Home Flag: N
    MSG-05000: DEBUG: Width: 40
    MSG-05000: DEBUG: Height Min: 8
    MSG-05000: DEBUG: Height Max: 8
    MSG-05000: DEBUG: Bill To Formatted... LORI ESCALANTE
    THE BRACE SHOP
    6560 W ROGERS CIR
    STE 19
    BOCA RATON FL 33487-2746
    MSG-05000: DEBUG: Ship To Address....
    MSG-05000: DEBUG: Address Style:
    MSG-05000: DEBUG: Address 1: 7014 E Appleton Circle
    MSG-05000: DEBUG: Address 2:
    MSG-05000: DEBUG: Address 3:
    MSG-05000: DEBUG: Address 4:
    MSG-05000: DEBUG: City: CENTENNIAL
    MSG-05000: DEBUG: County:
    MSG-05000: DEBUG: State: CO
    MSG-05000: DEBUG: Province:
    MSG-05000: DEBUG: Postal Code: 80112-1155
    MSG-05000: DEBUG: Territory:
    MSG-05000: DEBUG: Country_Code: US
    MSG-05000: DEBUG: Customer Name: Kenneth Grimm
    MSG-05000: DEBUG: Bill To:
    MSG-05000: DEBUG: First Name:
    MSG-05000: DEBUG: Last Name:
    MSG-05000: DEBUG: Mail Stop:
    MSG-05000: DEBUG: Country Code: US
    MSG-05000: DEBUG: Country Desc:
    MSG-05000: DEBUG: Print Home Flag: N
    MSG-05000: DEBUG: Width: 40
    MSG-05000: DEBUG: Height Min: 8
    MSG-05000: DEBUG: Height Max: 8
    MSG-05000: DEBUG: Ship To Formatted... Kenneth Grimm
    7014 E Appleton Circle
    CENTENNIAL CO 80112-1155
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00100: DEBUG: Get_Country_Description.
    MSG-00100: Oracle Error in call to arp_adds.location_description -6503
    MSG-05000: DEBUG: Remit To Address....
    MSG-05000: DEBUG: Address Style:
    MSG-05000: DEBUG: Address 1: PO Box 849991
    MSG-05000: DEBUG: Address 2:
    MSG-05000: DEBUG: Address 3:
    MSG-05000: DEBUG: Address 4:
    MSG-05000: DEBUG: City: Dallas
    MSG-05000: DEBUG: County:
    MSG-05000: DEBUG: State: TX
    MSG-05000: DEBUG: Province:
    MSG-05000: DEBUG: Postal Code: 75284
    MSG-05000: DEBUG: Territory:
    MSG-05000: DEBUG: Country_Code: US
    MSG-05000: DEBUG: Customer Name:
    MSG-05000: DEBUG: Bill To:
    MSG-05000: DEBUG: First Name:
    MSG-05000: DEBUG: Last Name:
    MSG-05000: DEBUG: Mail Stop:
    MSG-05000: DEBUG: Country Code: US
    MSG-05000: DEBUG: Country Desc:
    MSG-05000: DEBUG: Print Home Flag: N
    MSG-05000: DEBUG: Width: 40
    MSG-05000: DEBUG: Height Min: 6
    MSG-05000: DEBUG: Height Max: 6
    MSG-05000: DEBUG: Remit To Formatted... PO Box 849991
    Dallas TX 75284
    MSG-05000: DEBUG: Trx No... 1010930
    MSG-00100: DEBUG: Get_Country_Description.
    MSG-00010: 06:47 506 Transaction: 1010930
    MSG-05000: DEBUG: Bill To Address....
    MSG-05000: DEBUG: Address Style:
    MSG-05000: DEBUG: Address 1: 4412 MANILLA ROAD SE
    MSG-05000: DEBUG: Address 2: UNIT 7
    MSG-05000: DEBUG: Address 3:
    MSG-05000: DEBUG: Address 4:
    MSG-05000: DEBUG: City: CALGARY
    MSG-05000: DEBUG: County:
    MSG-05000: DEBUG: State:
    MSG-05000: DEBUG: Province: ALBERTA
    MSG-05000: DEBUG: Postal Code: T2G 4B7
    MSG-05000: DEBUG: Territory:
    MSG-05000: DEBUG: Country_Code: CA
    MSG-05000: DEBUG: Customer Name: MEDLINES INC DBA PRO CARE MEDICAL LTD
    MSG-05000: DEBUG: Bill To:
    MSG-05000: DEBUG: First Name:
    MSG-05000: DEBUG: Last Name:
    MSG-05000: DEBUG: Mail Stop:
    MSG-05000: DEBUG: Country Code: US
    MSG-05000: DEBUG: Country Desc:
    MSG-05000: DEBUG: Print Home Flag: N
    MSG-05000: DEBUG: Width: 40
    MSG-05000: DEBUG: Height Min: 8
    MSG-05000: DEBUG: Height Max: 8
    MSG-05000: DEBUG: Bill To Formatted... Attn: Accounts Payable
    MEDLINES INC DBA PRO CARE MEDICAL LTD
    4412 MANILLA ROAD SE
    UNIT 7
    CALGARY ALBERTA T2G 4B7
    Canada
    MSG-05000: DEBUG: Ship To Address....
    MSG-05000: DEBUG: Address Style:
    MSG-05000: DEBUG: Address 1: 4412 MANILLA ROAD SE Unit 7
    MSG-05000: DEBUG: Address 2: PH:403 287 0993
    MSG-05000: DEBUG: Address 3:
    MSG-05000: DEBUG: Address 4:
    MSG-05000: DEBUG: City: CALGARY
    MSG-05000: DEBUG: County:
    MSG-05000: DEBUG: State: ALBERTA
    MSG-05000: DEBUG: Province: ALBERTA
    MSG-05000: DEBUG: Postal Code: T2G 4B7
    MSG-05000: DEBUG: Territory:
    MSG-05000: DEBUG: Country_Code: CA
    MSG-05000: DEBUG: Customer Name: MEDLINES INC DBA PRO CARE MEDICAL LTD
    MSG-05000: DEBUG: Bill To:
    MSG-05000: DEBUG: First Name:
    MSG-05000: DEBUG: Last Name:
    MSG-05000: DEBUG: Mail Stop:
    MSG-05000: DEBUG: Country Code: US
    MSG-05000: DEBUG: Country Desc:
    MSG-05000: DEBUG: Print Home Flag: N
    MSG-05000: DEBUG: Width: 40
    MSG-05000: DEBUG: Height Min: 8
    MSG-05000: DEBUG: Height Max: 8
    MSG-05000: DEBUG: Ship To Formatted... MEDLINES INC DBA PRO CARE MEDICAL LTD
    4412 MANILLA ROAD SE Unit 7
    PH:403 287 0993
    CALGARY ALBERTA ALBERTA T2G 4B7
    Canada
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00001: Line type : Line
    MSG-00100: DEBUG: Get_Country_Description.
    MSG-05000: DEBUG: Remit To Address....
    MSG-05000: DEBUG: Address Style:
    MSG-05000: DEBUG: Address 1: PO Box 849991
    MSG-05000: DEBUG: Address 2:
    MSG-05000: DEBUG: Address 3:
    MSG-05000: DEBUG: Address 4:
    MSG-05000: DEBUG: City: Dallas
    MSG-05000: DEBUG: County:
    MSG-05000: DEBUG: State: TX
    MSG-05000: DEBUG: Province:
    MSG-05000: DEBUG: Postal Code: 75284
    MSG-05000: DEBUG: Territory:
    MSG-05000: DEBUG: Country_Code: US
    MSG-05000: DEBUG: Customer Name:
    MSG-05000: DEBUG: Bill To:
    MSG-05000: DEBUG: First Name:
    MSG-05000: DEBUG: Last Name:
    MSG-05000: DEBUG: Mail Stop:
    MSG-05000: DEBUG: Country Code: US
    MSG-05000: DEBUG: Country Desc:
    MSG-05000: DEBUG: Print Home Flag: N
    MSG-05000: DEBUG: Width: 40
    MSG-05000: DEBUG: Height Min: 6
    MSG-05000: DEBUG: Height Max: 6
    MSG-05000: DEBUG: Remit To Formatted... PO Box 849991
    Dallas TX 75284
    MSG-05000: DEBUG: Bill To Address....
    MSG-05000: DEBUG: Address Style:
    MSG-05000: DEBUG: Address 1: 8206 LEESBURG PIKE
    MSG-05000: DEBUG: Address 2: STE 409
    MSG-05000: DEBUG: Address 3:
    MSG-05000: DEBUG: Address 4:
    MSG-05000: DEBUG: City: VIENNA
    MSG-05000: DEBUG: County:
    MSG-05000: DEBUG: State: VA
    MSG-05000: DEBUG: Province:
    MSG-05000: DEBUG: Postal Code: 22182
    MSG-05000: DEBUG: Territory:
    MSG-05000: DEBUG: Country_Code: US
    MSG-05000: DEBUG: Customer Name: NOVA ORTHOPAEDIC AND SPORTS MEDICINE
    MSG-05000: DEBUG: Bill To:
    MSG-05000: DEBUG: First Name: TAYLOR
    MSG-05000: DEBUG: Last Name: CRIGLER
    MSG-05000: DEBUG: Mail Stop:
    MSG-05000: DEBUG: Country Code: US
    MSG-05000: DEBUG: Country Desc:
    MSG-05000: DEBUG: Print Home Flag: N
    MSG-05000: DEBUG: Width: 40
    MSG-05000: DEBUG: Height Min: 8
    MSG-05000: DEBUG: Height Max: 8
    MSG-05000: DEBUG: Bill To Formatted... TAYLOR CRIGLER
    NOVA ORTHOPAEDIC AND SPORTS MEDICINE
    8206 LEESBURG PIKE
    STE 409
    VIENNA VA 22182
    MSG-05000: DEBUG: Ship To Address....
    MSG-05000: DEBUG: Address Style:
    MSG-05000: DEBUG: Address 1: 8206 LEESBURG PIKE
    MSG-05000: DEBUG: Address 2: STE 409
    MSG-05000: DEBUG: Address 3:
    MSG-05000: DEBUG: Address 4:
    MSG-05000: DEBUG: City: VIENNA
    MSG-05000: DEBUG: County:
    MSG-05000: DEBUG: State: VA
    MSG-05000: DEBUG: Province:
    MSG-05000: DEBUG: Postal Code: 22182
    MSG-05000: DEBUG: Territory:
    MSG-05000: DEBUG: Country_Code: US
    MSG-05000: DEBUG: Customer Name: NOVA ORTHOPAEDIC AND SPORTS MEDICINE
    MSG-05000: DEBUG: Bill To:
    MSG-05000: DEBUG: First Name: TAYLOR
    MSG-05000: DEBUG: Last Name: CRIGLER
    MSG-05000: DEBUG: Mail Stop:
    MSG-05000: DEBUG: Country Code: US
    MSG-05000: DEBUG: Country Desc:
    MSG-05000: DEBUG: Print Home Flag: N
    MSG-05000: DEBUG: Width: 40
    MSG-05000: DEBUG: Height Min: 8
    MSG-05000: DEBUG: Height Max: 8
    MSG-05000: DEBUG: Ship To Formatted... TAYLOR CRIGLER
    NOVA ORTHOPAEDIC AND SPORTS MEDICINE
    8206 LEESBURG PIKE
    STE 409
    VIENNA VA 22182
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    MSG-00001: In Line frame trigger
    MSG-00001: Line Type: INV Source:OM Invoices
    REP-0069: Internal error
    REP-57054: In-process job terminated:Finished successfully
    MSG-00100: DEBUG: BeforeReport_Trigger +
    MSG-00100: DEBUG: BeforeReport_Procs.Populate_Printing_Option
    MSG-00100: DEBUG: BeforeReport_Procs.Populate_Tax_Printing_Option
    MSG-00100: DEBUG: BeforeReport_Trigger.Get_Message_Details
    MSG-00100: DEBUG: BeforeReport_Trigger.Get_Org_Profile.
    MSG-00100: DEBUG: Organization Id: 106
    MSG-00100: DEBUG: BeforeReport_Trigger.Build_Where_Clause
    MSG-00100: DEBUG: P_Choice: NEW
    MSG
    Report Builder: Release 10.1.2.3.0 - Production on Tue Jan 22 06:47:00 2013
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Start of log messages from FND_FILE
    End of log messages from FND_FILE
    Program exited with status 1
    Concurrent Manager encountered an error while running Oracle*Report for your concurrent request 945196.
    Review your concurrent request log and/or report output file for more detailed information.
    Successfully resubmitted concurrent program XXBREG_RAXINV_NEW_XMLP with request ID 953242 to start at 23-JAN-2013 05:15:00 (ROUTINE=AFPSRS)
    Executing request completion options...
    Output file size:
    13010844
    ------------- 1) PUBLISH -------------
    Beginning post-processing of request 945196 on node EBSAPPPROD at 22-JAN-2013 06:49:36.
    Post-processing of request 945196 completed at 22-JAN-2013 06:49:59.
    Finished executing request completion options.
    Concurrent request completed
    Current system time is 22-JAN-2013 06:49:59
    Regards,
    Smita

    Hi,
    Since you said the behavior is sporadic and also the program was running good in 11i instance, I think its a problem with the data [or select query in the concurrent program] .
    Ideal scenario:
    1. Upon the concurrent program completing in error the pdf should not be generated in first place, since it misguides the obtained report. [Concurrent Program should be modified accordingly, before calling the pdf generation logic you need to check the status of the concurrent program].
    2. It is not likely that the pdf generation should error out upon concurrent program's error, since the concurrent program could have a soft closure of its schema definition [inspite of an uncaught/unhandled exception]
    eg:
    <schema def>
    <Xml element 1> </Xml element 1>
    <Xml element 2> </Xml element 2>
    <Xml element 3> </Xml element 3>
    *_ <while generating elements 4, 5 and so on concurrent program could have errored out, but still the schema definition is valid so the pdf is generated>_*
    </schema def>
    Solution:
    Next time when you get the same behaviour, try running the concurrent program and handle the exception for that scenario, this should resolve your issue.
    Regards,
    Yuvaraj

  • Can we control the PDF file name that is generated by BI Publisher based on the content in the input PDF

    can we control the PDF file name that is generated by BI Publisher based on the content in the input PDF?

    No, there isn't. The way you're using the file is not recommended. You
    should use a review tracker to avoid getting in the way of one another.

  • Persian Language show wrong (PDF) (generated by BI Publisher)

    Hi,
    When Oracle BI Publisher Generate PDF output show persian characters wrong.
    persian language (Use in Iran , Azarbayjan , Tajikestan ,... ) has 4 characters more than Arabic (cp1256) . this 4 characters is (پ ,ژ,گ,ج) .
    when come (this characters ) in duration word appear a space between word.
    for example word is پشتو But show in PDF پ شتو .
    in HTML,RTF format we don't has this problem only accrue in PDF output .
    This Persian characters :
    U 067E PEH
    U 0686 TCHEH
    U 0698 JEH
    U 06A9 KEHEH
    when we copy پ شتو of Arcobat reader and paste to windows notepad show correctly (پشتو ).
    Please help me how i can solve this problem.
    Regards
    Reza

    I've seen this issue be raised in the past for another language. The advice then was to try copying the fonts in "C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\fonts" to "<JAVA_HOME>/jre/lib/fonts"
    (Thanks to Kevin W -- I copied this advice from him! :) )
    Cheers,
    Jasmine

  • Generating PDF Report and Mailing from APEX through DBMS_SCHEDULER job

    Hi,
    We have a requirement to generate pdf reports and mail them from our apex app through a DBMS_SCHEDULER job. The DBMS_SCHEDULER job calls a PL/SQL procedure which has the logic for calling the APEX_UTIL.GET_PRINT_DOCUMENT API (Function Signature 3) passing the application_id, the report_query_name and the report_layout_name  to generate the pdf report output. The APEX_UTIL.GET_PRINT_DOCUMENT call is returning NULL when called from the DBMS_SCHEDULER job (It doesn't throw any exception as well!). But the same procedure when called from an APEX App Page Process that is invoked on an event like a Button click, the API returns the PDF report output.
    I am also setting the APEX workspace security_group_id at the beginning of the PL/SQL procedure as follows:
    l_workspace_id := apex_util.find_security_group_id (p_workspace => 'MY_WORKSPACE');
    apex_util.set_security_group_id (p_security_group_id => l_workspace_id);
    Any idea on what might be going wrong? Any alternative ways to generate the report output in the PL/SQL procedure?
    Thanks & Regards,
    Sujesh K K

    I was able to do a workaround for this issue by rebooting the DB.
    As per ID 579281.1, this is a bug in 11.1.0.6 and we need to upgrade the version to 11.1.0.7 or apply a one -off patch.
    Thanks,
    Arun

  • How to generate PDF file through reports using forms 6i

    Hi all,
    I am using oracle 10g with forms 6i and reports 6i.I need to generate pdf file where clicking a button a report should be called and the report should be generated as a .pdf file in the source i have specified(ex. d:\...).Is this popssible with forms?.how can i achieve this.Kindly help me with suitable answers.Thanks :)
    Regards
    Vids

    hi,
    regarding report, there is a dedicated report forum. you should post there.
    but answer for your question is form is nothing to do with the pdf generation. you can call the report from the as usual.
    In the report you should set the properties like
    destype to 'file'
    desname to 'path with file name'
    desformat to 'pdf'

  • Apex_plsql_job.submit_process job not Working through Apex

    Hi,
    I am using Apex 4.2 and Oracle DB 11g.
    I have a process (which calls a procedure) to run on page load which is taking quiet some time (more than a min) so I thought of using Apex_Plsql_job API. It is submitting the job (though it is submitting the job to DBA_JOBS rather than APEX_PLSQL_JOBS as said by Doc which even disappears in no time from dba_jobs).
    declare
    l_sql VARCHAR2(4000);
    l_job NUMBER;
    begin
        l_sql := 'BEGIN Pkg.procedure(param1); END;';
        l_job := APEX_PLSQL_JOB.SUBMIT_PROCESS(p_sql => l_sql, p_status => 'Background process submitted');
    end;
    Now My issue is the procedure is not being called. Am I missing something. Can anyone help me pls.
    Thanks,
    Shoaib

    Hi,
    APEX_PLSQL_JOB package works just fine for me.
    What I did check your code I think there is mistake. You have not declare parameter "param1" for job PL/SQL code
    Maybe code should look like this
    DECLARE
      l_sql VARCHAR2(4000);
      l_job NUMBER;
    BEGIN
      l_sql := q'!DECLARE param1 VARCHAR2(255) := 'MY_VALUE'; BEGIN Pkg.procedure(param1); END;!';
      l_job := APEX_PLSQL_JOB.SUBMIT_PROCESS(p_sql => l_sql, p_status => 'Background process submitted');
    END;
    Or something like
    DECLARE
      l_sql VARCHAR2(4000);
      l_job NUMBER;
    BEGIN
      l_sql := 'BEGIN Pkg.procedure(' || Px_MY_ITEM || '); END;';
      l_job := APEX_PLSQL_JOB.SUBMIT_PROCESS(p_sql => l_sql, p_status => 'Background process submitted');
    END;
    Regards,
    Jari

  • Custom Purchase Order template causes Error while generating PDF

    The standard XSLFO works, my custom one errors:
    History of the world:
    1) I downloaded the XML Publisher thing for Word, installed it no problems
    2) Downloaded the XML data definition for the Standard Purchase Order from XML Publisher Administrator
    3) Created a blank word document and created the purchase order layout from scratch using the XML Publisher plug-in
    4) Previewed it as a PDF in word - it looked fine (well, it was a start)
    5) Exported the XSLFO
    6) In XML Publisher created a new template and uploaded the XSLFO
    7) Assigned the new template to the document in Purchasing
    All good... the new template is defintately the one being used by the PO Output for Communication program. The problem of course is that it throws a useless error message :) - namely:
    PoPrintingUtil.getBlobPDF(input,input) - After initializing the FOProcessor
    PoPrintingUtil.getBlobPDF(input,input) - After setting the i/o stream and output format
    PoPrintingUtil.getBlobPDF(input,input) - Error while generating the PDForacle.apps.xdo.XDOException
    genDoc() : Exceptionjava.lang.Exception: Error while generating PDF :null
    java.lang.Exception: Error while generating PDF :null
    java.lang.Exception: Error while generating PDF :null
         at oracle.apps.po.communicate.PoGenerateDocument.genDoc(PoGenerateDocument.java:2011)
         at oracle.apps.po.communicate.PoGenerateDocumentCP.runProgram(PoGenerateDocumentCP.java:421)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:148)
    When I run POXPOPDF in Debug I get:
    getArchiveOn(): APPROVE
    After calling genDocThu May 18 12:50:05 EST 2006
    Adding the blob to vector
    java.lang.NullPointerException
    java.lang.NullPointerException
         at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:89)
         at oracle.apps.po.communicate.PoGenerateDocumentCP.runProgram(PoGenerateDocumentCP.java:304)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:148)
    I know no one can magically fix this for me (I wish!) but does anyone have any suggestions on what to do next? I have no conditional formatting or any other more complex functionality, just a really boring PO layout with a logo.
    Any suggestions welcome, in the meantime I will keep trawling through Metalink in search of a clue ;)
    Thanks
    Jo

    Hi Jo,
    The first version for which the Template Builder was released is 5.0
    Well, I guess I am one of the few who has a backported 4.5 version of the template builder. I did that for testing exactly your case. I just replaced our xdocore.jar file with the 4.5 version and it worked. The core.jar is not easily available. The files are part of the 4.5 patch, but I think it is too much work to get them out.
    However, I would strongly recommend to upgrade to a later version of XML Publisher. We made huge improvements, since 4.5 - performance, translation, RTF template capabilities....
    I just checked the process of converting an RTF template to FO and uploading it to EBS with 5.6.2 and it still worked. So it seems you can go straight to the latest version.
    Hope that helps,
    Klaus

  • Generated PDF file - damaged

    Hi there,
    We experience some problems when generating reports in PDF formats. The generated file cannot be opened, and it looks damaged.
    The XML Publisher enterprise runs on a Unix Platform, and the clients run with Windows XP SP2.
    On metalink, we found this note: 296750.1 (Reports PDF Output To File Is Damaged / Corrupted When Opened in Adobe Acrobat), but it refers to Oracle Reports Developer.
    Does someone know more about this?
    thank you,
    Liviu

    Hi all
    I have a requirement where I need pass few parameter & generate report in PDF output which will display data in table.
    I tried using XML Publisher, where I created the rtf template & run report through my web application using url with
    necessary parameters But after running the report, in the PDF output,the generated PDF file is damaged (not supporting file type error)
    Am I missing some setting?
    Thnks in advance
    Vishal Kulkarni

  • CRM ONLINE 2013: On Approval Of Quotation, Run Report, Generate PDF and Send an Email With PDF as attachment

    Hi,
    I am using CRM ONLINE 2013.
    How to automate below process?
    1. On Approval Of Quotation, Run Report.
    2. Generate PDF.
    3. Send an Email With PDF as attachment.
    As i have gone through many forums for this topic, but creating a plugin code for generating Report PDF is not possible in CRM ONLINE.
    So, What is the alternate way to do this..?
    Thanks.

    This is my entire code mentioned below:-
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
        <script type="text/javascript">
            if (typeof (SDK) == "undefined")
            { SDK = { __namespace: true }; }
            SDK.JScriptRESTDataOperations = {
                _context: function () {
                    if (typeof GetGlobalContext != "undefined")
                    { return GetGlobalContext(); }
                    else {
                        if (typeof Xrm != "undefined") {
                            return Xrm.Page.context;
                        else { return new Error("Context is not available."); }
                _getServerUrl: function () {
                    var serverUrl = this._context().getServerUrl()
                    if (serverUrl.match(/\/$/)) {
                        serverUrl = serverUrl.substring(0, serverUrl.length - 1);
                    return serverUrl;
                _ODataPath: function () {
                    return this._getServerUrl() + "/XRMServices/2011/OrganizationData.svc/";
                _errorHandler: function (req) {
                    return new Error("Error : " +
      req.status + ": " +
      req.statusText + ": " +
      JSON.parse(req.responseText).error.message.value);
                _dateReviver: function (key, value) {
                    var a;
                    if (typeof value === 'string') {
                        a = /Date\(([-+]?\d+)\)/.exec(value);
                        if (a) {
                            return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
                    return value;
                Create: function (object, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 201) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send(JSON.stringify(object));
                Retrieve: function (id, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("GET", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 200) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                Update: function (id, object, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.setRequestHeader("X-HTTP-Method", "MERGE");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 204 || this.status == 1223) {
                                successCallback();
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send(JSON.stringify(object));
                Delete: function (id, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.setRequestHeader("X-HTTP-Method", "DELETE");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 204 || this.status == 1223) {
                                successCallback();
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                RetrieveMultiple: function (type, filter, successCallback, errorCallback) {
                    if (filter != null) {
                        filter = "?" + filter;
                    else { filter = ""; }
                    var req = new XMLHttpRequest();
                    req.open("GET", this._ODataPath() + type + "Set" + filter, true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 200) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d.results);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                __namespace: true
        </script>
        <script type="text/javascript">
            //Create Email and link it with Order as Regarding field
            var Xrm;
            var email = new Object();
            var ownerID = "";
            var CustomerId = "";
            if (window.opener) { Xrm = window.opener.Xrm; }
            else if (window.parent) { Xrm = window.parent.Xrm; }
            //Get ownerid who send email of quotation to customer
            function GetOwnerID() {
                var owner = Xrm.Page.getAttribute("ownerid").getValue();
                ownerID = owner[0].id;
                var ownerName = owner[0].name;
                var entityType = owner[0].entityType;
                GetToEmailGUID();
            //Get customerid who receive email of quotation from owner
            function GetToEmailGUID() {
                var Customer = Xrm.Page.getAttribute('customerid').getValue();
                CustomerId = Customer[0].id;
                var CustomerName = Customer[0].name;
                var entityType = Customer[0].entityType;
                //if CustomerId is type of "Account" then get Primary Contact id of that account
                if (entityType == "account") {
                    var contact = Xrm.Page.getAttribute("customerid").getValue();
                    if (contact === null) return;
                    var serverUrl = Xrm.Page.context.getClientUrl();
                    var oDataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" + contact[0].id + "')?$select=PrimaryContactId";
                    var req = new XMLHttpRequest();
                    req.open("GET", oDataSelect, false);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
                    req.onreadystatechange = function () {
                        if (req.readyState === 4) {
                            if (req.status === 200) {
                                var retrieved = JSON.parse(req.responseText).d;
                                CustomerId = retrieved.PrimaryContactId.Id;
                            else {
                                alert(this.statusText);
                    req.send();
            function CreateEmail() {
                GetOwnerID();
                email.Subject = "Email with Report Attachment";
                //Set The current order as the Regarding object
                email.RegardingObjectId = {
                    Id: Xrm.Page.data.entity.getId(),    //Get the current entity Id , here OrderId
                    LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
                //Create Email Activity
                SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
            // Email Call Back function
            function EmailCallBack(result) {
                email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
                var activityPartyFrom = new Object();
                // Set the From party of the ActivityParty to relate an entity with Email From field
                activityPartyFrom.PartyId = {
                    Id: CustomerId, //"79EBDD26-FDBE-E311-8986-D89D6765B238",  // id of entity you want to associate this activity with.        
                    LogicalName: "contact"
                // Set the "activity" of the ActivityParty
                activityPartyFrom.ActivityId = {
                    Id: result.ActivityId,
                    LogicalName: "email"
                // Now set the participation type that describes the role of the party on the activity).
                activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
                // Create the from ActivityParty for the email
                SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
                var activityPartyTo = new Object();
                // Set the From party of the ActivityParty to relate an entity with Email From field
                activityPartyTo.PartyId = {
                    Id: ownerID, //"79EBDD26-FDBE-E311-8986-D89D6765B238",  // id of entity you want to associate this activity with.        
                    LogicalName: "systemuser"
                // Set the "activity" of the ActivityParty  
                activityPartyTo.ActivityId = {
                    Id: result.ActivityId,
                    LogicalName: "email"
                // Now set the participation type that describes the role of the party on the activity).    
                activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
                // Create the from ActivityParty
                SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
            //ActivityParty From Callback
            function ActivityPartyFromCallBack(result) {
            //ActivityParty To Callback
            function ActivityPartyToCallBack(result) {
                GetReportId('ABM_Infotech_SalesQuote');
            //Create attachment for the created email
            function CreateEmailAttachment() {
                //get reporting session and use the params to convert a report in PDF
                var params = getReportingSession();
                //Email attachment parameters
                var activitymimeattachment = Object();
                activitymimeattachment.ObjectId = Object();
                activitymimeattachment.ObjectId.LogicalName = "email";
                activitymimeattachment.ObjectId.Id = email.ActivityId;
                activitymimeattachment.ObjectTypeCode = "email",
                    activitymimeattachment.Subject = "File Attachment";
                activitymimeattachment.Body = encodePdf(params);
                activitymimeattachment.FileName = "Report1.pdf";
                activitymimeattachment.MimeType = "application/pdf";
                //Attachment call
                SDK.JScriptRESTDataOperations.Create(activitymimeattachment, "ActivityMimeAttachment", ActivityMimeAttachmentCallBack, function (error) { alert(error.message); });
            //ActivityMimeAttachment CallBack function
            function ActivityMimeAttachmentCallBack(result) {
                var features = "location=no,menubar=no,status=no,toolbar=no,resizable=yes";
                var width = "800px";
                var height = "600px";
                window.open(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", features);
                // To open window which works in outlook and IE both
                //openStdWin(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", width,
    height, features);
            //This method will get the reportId based on a report name that will be used in            getReportingSession() function
            function GetReportId(reportName) {
                var oDataSetName = "ReportSet";
                var columns = "ReportId";
                var filter = "Name eq '" + reportName + "'";
                retrieveMultiple(oDataSetName, columns, filter, onSuccess);
            function retrieveMultiple(odataSetName, select, filter, successCallback) {
                var serverUrl = Xrm.Page.context.getServerUrl();
                var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
                var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";
                if (select) {
                    odataUri += "$select=" + select + "&";
                if (filter) {
                    odataUri += "$filter=" + filter;
                $.ajax({
                    type: "GET",
                    contentType: "application/json; charset=utf-8",
                    datatype: "json",
                    url: odataUri,
                    beforeSend: function (XMLHttpRequest) {
                        XMLHttpRequest.setRequestHeader("Accept", "application/json");
                    success: function (data) {
                        if (successCallback) {
                            if (data && data.d && data.d.results) {
                                successCallback(data.d.results);
                            else if (data && data.d) {
                                successCallback(data.d);
                            else {
                                successCallback(data);
                    error: function (XmlHttpRequest, errorThrown) {
                        if (XmlHttpRequest && XmlHttpRequest.responseText) {
                            alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
            function onSuccess(data) {
                reportId = data[0].ReportId.replace('{', ").replace('}', ");
                CreateEmailAttachment(); // Create Email Attachment
            //Gets the report contents
            function getReportingSession() {
                var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
                var retrieveEntityReq = new XMLHttpRequest();
                var Id = Xrm.Page.data.entity.getId();
                var quotationGUID = Id.replace('{', ""); //set this to selected quotation GUID
                quotationGUID = quotationGUID.replace('}', "");
                var reportName = "ABM_Infotech_SalesQuote"; //set this to the report you are trying to download
                var reportID = "751089AA-74B8-E211-B52F-D8D3855B253B"; //set this to the guid of the report you are trying to download
                var rptPathString = ""; //set this to the CRMF_Filtered parameter
                var strParameterXML = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='quote'><all-attributes /><filter type='and'><condition
    attribute='quoteid' operator='eq' uitype='quote' value='" + quotationGUID + "' /> </filter></entity></fetch>";
                retrieveEntityReq.open("POST", pth, false);
                retrieveEntityReq.setRequestHeader("Accept", "*/*");
                retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                rptPathString = "id=%7B" + reportID + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName="
    +
                                reportName + "&isScheduledReport=false&p:ABMFilteredQuote=" + strParameterXML;
                //remove the part starting from &p:salesorderid if your report has no parameters
                retrieveEntityReq.send(rptPathString);
                var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
                var ret = new Array();
                ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
                x = retrieveEntityReq.responseText.indexOf("ControlID=");
                ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
                return ret;
            var bdy = new Array();
            var bdyLen = 0;
            function concat2Bdy(x) {
                bdy[bdyLen] = x;
                bdyLen++;
            function encodePdf(params) {
                bdy = new Array();
                bdyLen = 0;
                var retrieveEntityReq = new XMLHttpRequest();
                var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] +
                "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] +
                "&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
                retrieveEntityReq.open("GET", pth, false);
                retrieveEntityReq.setRequestHeader("Accept", "*/*");
                retrieveEntityReq.send();
                BinaryToArray(retrieveEntityReq.responseBody);
                return encode64(bdy);
            var StringMaker = function () {
                this.parts = [];
                this.length = 0;
                this.append = function (s) {
                    this.parts.push(s);
                    this.length += s.length;
                this.prepend = function (s) {
                    this.parts.unshift(s);
                    this.length += s.length;
                this.toString = function () {
                    return this.parts.join('');
            var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
            function encode64(input) {
                var output = new StringMaker();
                var chr1, chr2, chr3;
                var enc1, enc2, enc3, enc4;
                var i = 0;
                while (i < input.length) {
                    chr1 = input[i++];
                    chr2 = input[i++];
                    chr3 = input[i++];
                    enc1 = chr1 >> 2;
                    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
                    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
                    enc4 = chr3 & 63;
                    if (isNaN(chr2)) {
                        enc3 = enc4 = 64;
                    } else if (isNaN(chr3)) {
                        enc4 = 64;
                    output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
                return output.toString();
        </script>
        <script type="text/vbscript">
        Function BinaryToArray(Binary)
               Dim i
               ReDim byteArray(LenB(Binary))
               For i = 1 To LenB(Binary)
                     byteArray(i-1) = AscB(MidB(Binary, i, 1))
                     concat2Bdy(AscB(MidB(Binary, i, 1)))
             Next
              BinaryToArray = byteArray
       End Function     
        </script>
    </head>
    <body>
        <input type="button" onclick="CreateEmail();" value="Attach Report" />
    </body>
    </html>

  • Generate pdf and html(urgent)

    can anybody tell how to generate pdf and html from a single report,
    thanks in adv

    From a single report, you can generate outputs to html, htmlcss, pdf, rtf, XML and text formats.
    If you use rwclient, rwrun or rwservlet methods, specify desformat=pdf/html and the destination file name in desname command line parameters.
    If you use Reports Builder, open a report, select File->Generate to file and select html/pdf. Then give the file name.
    For more details, Refer to Reports Tutorial / Publishing Reports document from this site.
    http://otn.oracle.com/docs/products/reports/content.html
    Thanks,
    The Oracle Reports team

Maybe you are looking for

  • I keep getting error 1004 when trying to download apps

    I keep trying to download new apps and keep getting this error

  • Steps to reverse stock in warehouse

    Hi All, Please explain how to reverse the stock in warehouse. I.e By mistake i have placed the stocki n warehouse but now i want to reverse that stock. Please help me. This is urgent. Thanks in advance

  • F4 for field in clasical report

    Hi abapers i have one clasical report in that selection screen field crhd-arbpl(work center) d't have serch help. i wrote a program for it in that i used 'F4IF_INT_TABLE_VALUE_REQUEST' function module. but it is displaying output directly. when i pre

  • Address Book "Edit Distribution List" not working in Lion 10.7.2

    I have been told by people in my "Groups" that I am sending to the wrong e-mail addresses.  I checked and sure enough so I went to edit the distribution list for that group and it's greyed out. It worked prior to this update. My wifes is still using

  • Output type works different when VF01 and VF02 ,why?

    For Invoices related to a B2B order the output type ZB01 does not always come up during invoice creation time. If we go into the invoice via VF02 it will pop up immediate. But invoices are created by batch jobs and then not 100% of the ZB01 get creat