form:http://blog.csdn.net/x_focus/article/details/25345307
All on Output Post Processor (OPP) in Oracle applications
The integration of XML Publisher within Concurrent processing is do by means of a specialized Concurrent manager called The Output Post Processor (OPP). If a request is submitted which have an XML Publisher template specified as a layout for the output and then after the Concurr ENT Manager finishes running the concurrent program, it would contact the OPP to apply the XML Publisher template and creat E The final output.
An overview of the actions involved:
1.An application user submits a XML Publisher based report.
2.The standard concurrent manager processes the request.
3.The XML data file is generated by the concurrent manager. This can is done by various methods:
o Oracle reports-report Definition File (RDF)
o XML Publisher data template-xml data Template linked to the data Definition
o Any other process that produces XML output
4. A Post processing action defines that the output needs to being generated by the output post Processor hence it's tri Ggered by the standard manager.
5. The Output Post Processor generates the final report and informs, the standard concurrent manager whether this was S Uccessful.
6. The standard concurrent manager finalizes the concurrent request.
Processes in OPP:
There should always is at least one OPP process active in the system. If No OPP service is available to process concurrent requests,
Completed requests that require OPP post-processing would complete with a status of Warning.one service instance of the OPP Service is seeded by default.
This seeded OPP service instance have one workshift with one process.
a concurrent manager contacts an available OPP process When a running concurrent request needs a OPP post-processing action.
Concurrent managers use a local OPP process (on the same node) by default, but would choose a remote OPP if no local opp PR Ocess is available.
Threads in OPP:
The OPP Service is multi-threaded and would start a new thread for each concurrent request it processes. You can control the number of simultaneous threads for a OPP Service Instance by adjusting the threads per Process parame ter for the instance.
If all the OPP process have reached their respective maximum number of threads, the requests waiting to be processed remain In a queue to be processed as soon as threads become available. If request throughput have become slow, you may want to increase the number of Threads per Process for the OPP.
The number of concurrent requests, the Output Post Processor can handle in parallel depends upon:
· The number of Processes
· The number of Threads Per Process
The default values is 2 Processes and 5 Threads per Process so a total of ten reports can be processed in parallel.
Issues with OPP:
1. Timeout issue with OPP:
Example:
There is 1 OPP process with 2 threads. Hence 4 reports can is processed at any time.
-In case there is other concurrent requests running which has already invoked the OPP then it might happen that no addi tional requests can is picked up for a period of time. The pending request is picked up as soon as one of the running jobs completes.
By default a timeout would occur if it takes longer than seconds (2 min.) for the Output Post Processor to pick up the Request from the concurrent manager process. In this case, the concurrent request would complete with status Warning.
-once the output Post Processor picks up the request, the BI Publisher engine was invoked to generate the final Output file .
The time that this takes would depends on various elements such as:
· size of the XML Data File
· complexity of the template
· performance of the server
By default a timeout would occur if it takes longer than seconds (5 min.) for the BI Publisher engine to generate the O Utput file.
The concurrent request would complete with status Warning
Solution:
There is 2 new profiles options that can is used to control the timeouts.
Profile Option: concurrent:opp Response Timeout
Internal Name:conc_pp_response_timeout
Description:specifies The amount of time a manager waits for OPP to respond to its request for post processing
Profile Option: concurrent:opp Process Timeout
Internal Name:conc_pp_process_timeout
Description:specifies The amount of time the manager waits for the OPP to actually process the request.
The value for the above profiles options can increased to avoid timeouts.
The number of processes/threads for OPP can also is increased; However the concurrent manager have to is restarted for the changes to take effect.
2. Output Post processing fails Due to Java.lang.ThreadDeath
-increase the value of the Concurrent:opp Timeout profile option to 10800 seconds.
-enable the scalability feature of XML Publisher:
a. Login as SYSADMIN
B. Responsibility : XML Publisher Administrator
C. function:administration
D. Set The following properties:
E. temporary Directory
F. use XML Publisher ' s XSLT processor:true
G. Enable scalable feature of XSLT Processo R:true
H. Enable XSLT runtime optimization:true
- Restart the Concurrent Managers So, changes take effect
3. Output Post Processor is down with Actual process are 0 and Target process is 1
This can happen on a cloned instance.
- fndsvc should exist under Fnd_top/bin
- bring down all application services and relink the FNDSVC through adadmin or using the below command:
adrelink.sh force=y ranlib=y "FND fndsvc"
- Restart All applications services and restest the issue.
4. Output Post Processor (OPP) Log Contains Error "Java.lang.OutOfMemoryError:Java Heap space
-Determine what's the heap size per OPP process is currently:
Select from where= (Selectfromwhere=' Fndcpopp ');
-The default should be:
J:oracle.apps.fnd.cp.gsf.gsmservicecontroller:-mx512m
-Increase the Heap Space per Process to 1024:
update fnd_cp_services set developer_parameters " Span style= "color: #ff0000;" >j:oracle.apps.fnd.cp.gsf.gsmservicecontroller:-mx1024m " where service_id = (select Manager_type from fnd_concurrent_queues where concurrent_queue_name = Span style= "color: #ff0000;" > '
-Bring the Concurrent managers down.
-Run cmclean.sql script from Note 134007.1-cmclean. SQL non-destructive Script to clean Concurrent Manager Tables.
-Bring the managers up again.
OR
-Log into applications with the System Administrator responsibility.
-Navigate to Concurrent, program-Define
-Query the XML Publisher Template re-generator Program
-Set The following value for the executable Options:-xmx1024m
-Save changes.
-Retest The program.
"Go" output Post Processor (OPP)/output Submit Handler