Search Results default_sleep




Overview

FND_CP_OPP_REQ is a server-side PL/SQL package body owned by the APPS schema that implements the Oracle Output Post Processor (OPP) request-handling layer within the Oracle E-Business Suite concurrent processing architecture. It is part of the broader FND_CP (Concurrent Processing) family of packages and is classified as OTHER in the ETRM API registry, indicating that it is not exposed as a public, customer-facing API but rather serves as internal infrastructure consumed by the concurrent manager and the OPP service.

The package coordinates the interaction between a submitted concurrent request and the OPP service that produces formatted output. Its responsibilities include determining whether a given request has publishing (post-processing) actions associated with it, coordinating the recording of those actions in the FND_CONC_PP_ACTIONS table, identifying the appropriate post-processor, executing that post-processing step, and adjusting the output file produced by the concurrent program. In releases 12.1.1 and 12.2.2 this package underpins output generation for concurrent programs that emit formatted documents such as reports using the publishing layout technology.

Key Procedures and Functions

  • PUBLISHED_REQUEST — Given a concurrent request identifier, this function determines whether the request carries publishing actions. It queries FND_CONCURRENT_REQUESTS joined to FND_CONCURRENT_PROGRAMS and FND_APPLICATION to resolve the concurrent program name and application short name. Requests corresponding to the FNDREPRINT program in the FND application are treated as publishing requests, and otherwise the decision is delegated to FND_CONC_SSWA.LAYOUT_ENABLED for the resolved application and program.
  • UPDATE_ACTIONS_TABLE — Used by the OPP service to record processing ownership in FND_CONC_PP_ACTIONS. It conditionally stamps the PROCESSOR_ID column for all post-processing actions belonging to a request, but only if another process has not already claimed those rows. An output parameter reports whether the update succeeded or whether the table had already been updated.
  • SELECT_POSTPROCESSOR — Determines which post-processor should handle the request's output, resolving against the configured post-processing services.
  • POSTPROCESS — Executes the post-processing step for a request, orchestrating the invocation of the selected post-processor against the request's output.
  • ADJUST_OUTFILE — Adjusts or finalizes the output file associated with the request after post-processing, ensuring the delivered artifact reflects the correct content and location.

Internal constants govern service behavior: TIMEOUT1 (120 seconds), TIMEOUT2 (300 seconds), and DEFAULT_SLEEP (30 seconds), the last being used while the OPP service is still initializing.

Tables Accessed

  • FND_CONCURRENT_REQUESTS, FND_CONCURRENT_PROGRAMS, FND_APPLICATION — used by PUBLISHED_REQUEST to resolve program and application identity for a request.
  • FND_CONC_PP_ACTIONS — the central post-processing action table, read and updated by UPDATE_ACTIONS_TABLE and referenced by SELECT_POSTPROCESSOR and POSTPROCESS.
  • FND_CONCURRENT_PROCESSES and FND_CONCURRENT_QUEUES — supply processor and queue context for the OPP service.
  • FND_CONC_REQ_OUTPUTS — stores the output produced for a request and is adjusted by ADJUST_OUTFILE.
  • FND_CP_SERVICES — provides the service configuration used when selecting and invoking the post-processor.
  • DBMS_LOCK — used for serialization when claiming actions in FND_CONC_PP_ACTIONS.

Usage Notes

FND_CP_OPP_REQ is not intended for direct invocation by end users or by custom application code. It is invoked indirectly by the concurrent manager and by the OPP service process as part of normal request processing. In 12.1.1 and 12.2.2, users trigger this code path by submitting a concurrent program that has publishing actions enabled, or by using the Reprint (FNDREPRINT) flow. The package is referenced by zero other documented packages, confirming its role as a leaf-level infrastructure component. Users searching the term "pp_error" are typically encountering the post-processing error designation surfaced in the concurrent request log or in FND_CONC_PP_ACTIONS when this package's post-processing path returns a failure status.