XML Publisher Report Issues, Recommendations and Errors
In this Document
Purpose |
Questions and Answers |
References |
APPLIES TO:
Oracle Process Manufacturing Financials - Version 11.5.9 to 12.1.3 [Release 11.5 to 12.1]Information in this document applies to any platform.
All reports that uses XML publisher
PURPOSE
Most of the reports in Ebusiness suite are moving towards XML reports. This note will help to debug the issues related with the XML reports
QUESTIONS AND ANSWERS
1. How to obtaining XML Publisher version ?
a) From the template/output in word/pdf format
If the output file (doc/pdf) file is generated then it can be used.Otherwise template stored inside can be used.
To get the XML Publisher version from template stored
Responsibility: XML Publisher Administrator
Tab: Templates
search for a pdf/RTF template
choose Preview
save the PDF file to locally
Open the PDF file in Adobe Acrobat
Menu File
Document Properties
Description: PDF Producer XML Publisher x.x.x.
Open the RTF file in MS Word
Menu File
Document Properties
Comments: PDF Producer XML Publisher x.x.x.
b) From Database using query
FROM ad_bugs
WHERE bug_number IN
('3554613', '3263588', '3822219', '4236958', '4206181', '4561451', '4905678‘,’5097966’,’5472959’)
Note :
If XML publisher version is lower then apply the patch and migrate the templates
•4561451 : XDO 5.6
•4905678 : XDO 5.6.1
•5097966 : XDO 5.6.2
•5472959 : XDO 5.6.3
2 How to Migrate XML Publisher Report Templates
It is required to migrate the XML Publisher Report templates after applying a patch. Submit
'Concurrent Request' XML Publisher Template Re-Generator.
(Parameter re-generation criteria as 'ALL’)
3 How to identify at which stage XML Report fails
Check the status of the concurrent request. After the request is completed wait for another 2 or 3 minutes and re query the concurrent request. If it generates an XML file with data in that, it means first step is working fine.
Run the concurrent request XML Publisher separately and pass the parameters from the above run.
If the concurrent request is not available, it has to be added separately.
XML Report Publisher
Executable:XML Report Publisher
Short Name:XDOREPPB
File name:JCP4XMLPublish
4.How to obtain the OPP debug log files
Responsibility : System Administrator
Concurrent Manager Administration
Select the Output Post Processor
Click on the Processes button
Select the process that was active during the time frame that your request ran. Select Manager Log
5 Common Errors found in OPP log
a) File not found
•[5/13/09 11:52:50 AM] [UNEXPECTED] [22867:RT327657] java.io.FileNotFoundException:
/APP/inst/apps/TEST_oratest/logs/appl/conc/out/o327657.out (No such file or directory)
Template file for Report is missing from its location.
Use the report short name or the application short name
where xl.APPLICATION_SHORT_NAME='GMF' ;
If you are on R12 make sure you have the latest XML Publisher version. If not apply the patch and regenerate XML Publisher Templates.
b) Time out issue.
java.sql.SQLException: Closed Connection at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at . oracle.jdbc.driver.PhysicalConnection.setAutoCommit(PhysicalConnection.java:10 .
Run the XML Report publisher separately / Modify timeout profiles
c) SQLException java.sql.SQLException: ORA-01722: invalid number
>> Template is old and the new version has more fields. So when a number is assigned to a character field
In the template above error message is thrown.
Apply the latest patch and migrate the template (step 2)
d) Out of Memory Exception
oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:1278)
at oracle.apps.xdo.oa.cp.JCP4XMLPublisher.runProgram(JCP4XMLPublisher.java:807)
at oracle.apps.fnd.cp.request.Run.main(Run.java:148)
Caused by: java.lang.OutOfMemoryError
1. Increase the number of Output Post Processor as follows:
* Logon to Applications with "System Administrator" responsibility
* Navigate to Concurrent -> Manager -> Define
* Query for "Output Post Processor"
* Click on "Work Shifts" and Increase the number of processes.
(If you have 2 processes then make them 4).
* make sure that you have
oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5
under Parameters.
2. Increase the value of the Concurrent:OPP Process Timeout as follows:
* Logon to Applications with "System Administrator" responsibility
* Navigate to Profile -> System
* Query for "Concurrent:OPP Response Timeout".
If the value of the Concurrent:OPP Response Timeout is 120 increase it to 240. (Value * 2)
* Query for "Concurrent:OPP Process Timeout".
Set the value to 10800 sec (3 hours)
3. Scalable Option/XSLT processor TR
Please ensure the following settings:
* Logon to Applications with "XMLPublisher Administrator" responsibility
* On the admin tab ensure the following settings:
- Use XML Publisher's XSLT processor TRUE
- Enable scalable feature of XSLT processor TRUE
- Enable XSLT runtime optimization TRUE
* Set the Temporary Directory to a valid path
Make sure that the tmp directory is at least 5GB or 20x larger than largest data file running
Access the "System Administrator" responsibility.
Navigate to Concurrent > Program > Define.
Press F11
Search for the program: Create Accounting or Short name as GMFAACCP
Press CTRL+F11
Click on Parameters button.
Move to the last parameter line and TAB through the last field.
Add a new parameter called Scalable Flag as follows:
Parameter- P_SCALABLE_FLAG
Description - ScalableFlag
Enabled - Check
Value Set - XLA_SRS_NO_VALIDATION
Default Type - Constant
Default Value - Y
Prompt - P_SCALABLE_FLAG
Token - ScalableFlag (Case sensitive. Give this exact value)
Re-run the Create Accounting.
Note that the parameter - P_SCALABLE_FLAG - has a Default Value of 'Y'.
4. Under Concurrent > Program > Define, query for concurrent program that is receiving the error.
(Only for two step method when not using the OPP)
* In the 'Options' field changed the value to -Xmx1024M. (or higher)
* Restart the concurrent manager so that changes take effect
Note: Enabling the scalability feature and changing the heap size to -Xmx1024M' is not recommended to be on the global level ,let it only on concurrent program level
6 Large Data Report Recommendations
- When the report output is more than 10,000 pages the chances are that OPP gets timed out waiting for the request to complete.
- Reduce the large data by running it for less data ( only one source at a time)
- Run the report for the whole data but keep NO report output. Most of the times customer runs this for the whole data to check for errors.
- Improve the performance of the concurrent request by using parallel processing.
- Improve the performance of the OPP Manager
- Modify the timeout parameters
7 Time out related profiles
Concurrent:OPP Response Timeout
Concurrent:OPP Process Timeout
OPP response timeout happens when the OPP is handling other requests and still running Concurrent Manager will wait for the OPP for a 2 minutes and then it will time out.
OPP Process Timeout happens when the report generation is taking more time
Modify these profile values in order to avoid timeout
For version 5 & 5.6 if the XML file output is very large (file size is above OS limit) then XSLT scalable can be used.
Use XML Publisher's XSLT processor -> True
Use scalable feature of XSLT processor à True ( By default this is False)
8 How to improve XML Reports performance
XML reports performance depends on the concurrent request that generates the XML data and the OPP Manager which calls the XML reports engine.
a) Concurrent request performance:
Either reduce the data or increase the performance by implementing parallel processing. Parallel processing allows to start multiple processes and it produces the XML output within short time. For more information about parallel processing please log a SR.
b) OPP Manager performance
The number of Concurrent Requests that the Output Post Processor can handle in parallel depends on:
- the number of Processes
- the number of Threads Per Process
The default values are 2 Processes and 5 Threads Per Process so a total of 10 reports can be processed in parallel
Maximum throughput defined as:
#processes X #threads = MAX #parallel reports
if needed, increase the default values
REFERENCES
NOTE:352518.1 - Concurrent Requests Fail Due to Output Post Processing (OPP) TimeoutNOTE:367456.1 - Why Does the 'Concurrent Program Details Report - XML Publisher' Fail with 'No corresponding LOB data found'?
NOTE:1062578.1 - Create Accounting - Cost Management Cannot Print Report out of memory
BUG:8295119 - CREATE ACCOUNTING GIVES JAVA.SQL.SQLEXCEPTION
NOTE:276691.1 - XML Publisher and Concurrent Manager Integration
NOTE:291792.1 - Concurrent Processing - Using the Concurrent Request Output Post Processor (OPP) in Oracle Applications
NOTE:791049.1 - R12 SLA/FAH: How to Improve Performance in Subledger Accounting & Financials Accounting Hub