You are on page 1of 7

All About Output Post Processor (OPP) in Oracle Applications The integration of XML Publisher within Concurrent Processing

is done by means of a speciali ed concurrent manager called the Output Post Processor (OPP)! "f a re#uest is submitted which has an XML Publisher template specified as a layout for the output$ then after the concurrent manager finishes running the concurrent program$ it will contact the OPP to apply the XML Publisher template and create the final output!

An o%er%iew of the actions in%ol%ed&

'! An application user submits an XML Publisher based report! (! The standard concurrent manager processes the re#uest! )! The XML data file is generated by the standard concurrent manager! This can be done by %arious methods& o Oracle *eports + *eport ,efinition -ile (*,-) o XML Publisher ,ata Template + XML data template lin.ed to the ,ata ,efinition o Any other process that produces XML output /! A post processing action defines that the output needs to be generated by the Output Post Processor hence it is triggered by the standard manager! 0! The Output Post Processor generates the final report and informs the standard concurrent manager whether that was successful! 1! The standard concurrent manager finali es the concurrent re#uest!

Processes in OPP&

There should always be at least one OPP process acti%e in the system! "f no OPP ser%ice is a%ailable to process concurrent re#uests$ completed re#uests that re#uire OPP post+processing will complete with a status of 2arning!

One ser%ice instance of the OPP ser%ice is seeded by default! This seeded OPP ser%ice instance has one wor.shift with one process!

A concurrent manager contacts an a%ailable OPP process when a running concurrent re#uest needs an OPP post+processing action! Concurrent managers use a local OPP process (on the same node) by default$ but will choose a remote OPP if no local OPP process is a%ailable!

Threads in OPP&

The OPP 3er%ice is multi+threaded and will start a new thread for each concurrent re#uest it processes! 4ou can control the number of simultaneous threads for an OPP 3er%ice "nstance by ad5usting the Threads per Process parameter for the instance!

"f all the OPP process has reached their respecti%e ma6imum number of threads$ the re#uests waiting to be processed remain in a #ueue to be processed as soon as threads become a%ailable! "f re#uest throughput has become slow$ you may want to increase the number of Threads per Process for the OPP!

The number of concurrent re#uests that the Output Post Processor can handle in parallel depends upon&

7 the number of Processes 7 the number of Threads Per Process

The default %alues are ( Processes and 0 Threads per Process so a total of '8 reports can be processed in parallel!

"ssues with OPP&

'! Timeout issue with OPP&

96ample&

There is ' OPP process with ( threads! :ence / reports can be processed at any time!

+ "n case there are other concurrent re#uests running which ha%e already in%o.ed the OPP then it might happen that no additional re#uests can be pic.ed up for a period of time! The pending re#uest will be pic.ed up as soon as one of the running 5obs completes!

;y default a timeout will occur if it ta.es longer than '(8 seconds (( min!) for the Output Post Processor to pic. up the re#uest from the concurrent manager process! "n that case$ the concurrent re#uest will complete with status 2arning!

+Once the Output Post Processor pic.s up the re#uest$ the ;" Publisher engine is in%o.ed to generate the final output file! The time that this ta.es will depends on %arious elements such as&

7 si e of the XML ,ata -ile 7 comple6ity of the template 7 performance of the ser%er

;y default a timeout will occur if it ta.es longer than )88 seconds (0 min!) for the ;" Publisher engine to generate the output file! The concurrent re#uest will complete with status 2arning

3olution&

There are ( new profiles options that can be used to control the timeouts!

Profile Option & Concurrent&OPP *esponse Timeout "nternal <ame & CO<C=PP=*93PO<39=T"M9O>T ,escription & 3pecifies the amount of time a manager waits for OPP to respond to its re#uest for post processing!

Profile Option & Concurrent&OPP Process Timeout "nternal <ame & CO<C=PP=P*OC933=T"M9O>T ,escription & 3pecifies the amount of time the manager waits for the OPP to actually process the re#uest! The %alue for the abo%e profile options can be increased to a%oid timeouts!

The number of processes?threads for OPP can also be increased@ howe%er the concurrent manager has to be restarted for the changes to ta.e effect!

(! Output Post Processing -ails ,ue To 5a%a!lang!Thread,eath

+"ncrease the %alue of the Concurrent&OPP Timeout profile option to '8A88 seconds! +9nable the scalability feature of XML Publisher&

a! Login as 343A,M"< b! *esponsibility& XML Publisher Administrator

c! -unction& Administration d! 3et the following properties& e! Temporary ,irectory f! >se XML PublisherBs X3LT processor& True g! 9nable scalable feature of X3LT processor& True h! 9nable X3LT runtime optimi ation& True

+ *estart the Concurrent Managers so that changes ta.e effect

)! Output Post Processor is ,own with Actual Process is 8 And Target Process is '

This can happen on a cloned instance!

+ -<,3CC should e6ist under -<,=TOP?bin + ;ring down all application ser%ices and relin. the -<,3CC through adadmin or using the below command&

adrelin.!sh forceDy ranlibDy E-<, -<,3CCE

+ *estart all applications ser%ices and restest the issue!

/! Output Post Processor (OPP) Log Contains 9rror E5a%a!lang!OutOfMemory9rror& Fa%a heap space

+ ,etermine what the heap si e per OPP process is currently&

select ,9C9LOP9*=PA*AM9T9*3 from -<,=CP=39*C"C93 where 39*C"C9=", D (select MA<AG9*=T4P9 from -<,=CO<C>**9<T=H>9>93 where CO<C>**9<T=H>9>9=<AM9 D B-<,CPOPPB)@

+ The default should be&

F&oracle!apps!fnd!cp!gsf!G3M3er%iceController&+m60'(m

+ "ncrease the :eap 3pace per Process to '8(/&

update -<,=CP=39*C"C93 set ,9C9LOP9*=PA*AM9T9*3 D BF&oracle!apps!fnd!cp!gsf!G3M3er%iceController&+m6'8(/mB where 39*C"C9=", D (select MA<AG9*=T4P9 from -<,=CO<C>**9<T=H>9>93 where CO<C>**9<T=H>9>9=<AM9 D B-<,CPOPPB)@

+ ;ring the Concurrent managers down!

+*un cmclean!s#l script from <ote ')/88I!' + CMCL9A<!3HL <on+,estructi%e 3cript to Clean Concurrent Manager Tables!

+;ring the managers up again!

O*

+Log into applications with the 3ystem Administrator responsibility!

+ <a%igate to Concurrent +J Program +J ,efine

+Huery the XML Publisher Template *e+Generator program

+3et the following %alue for the 96ecutable Options& +Xm6'8(/m

+ 3a%e changes!

+ *etest the program!