Search Results po_hold_document




Overview

APPS.PO_DOCUMENT_ACTIONS_SV is a server-side PL/SQL package within the Oracle E-Business Suite Purchasing module. Its primary business function is to serve as the programmatic interface between Purchasing documents and the Document Action Manager, a server-side transaction manager that awaits processing requests and dispatches document actions such as submission, return, hold, and cancellation. The _SV suffix indicates a server-side view-layer package that shields callers from the underlying Document Action Manager internals, exposing a stable API for requesting actions against requisitions, purchase orders, and related drafts.

The package header carries the identifier POXDORAS.pls with a header revision attributed to the 2005 development cycle, confirming its presence in both the 12.1.1 and 12.2.2 code lines. In the ETRM 12.2.2 metadata the package is classified under API classification "OTHER" and exposes five documented entry points. It is referenced by three other packages, which reinforces its role as a shared utility for document workflows across the Purchasing schema.

Key Procedures and Functions

The documented procedures and functions are:

  • PO_REQUEST_ACTION_BULK — The bulk entry point. It iterates over a collection of requisition header identifiers and invokes the single-record action request for each line requiring an action. It accepts the API version, a reason for returning the document, the employee to whom notifications are directed, and the request grouping method selected in the UI. It returns a result code, an error message, a collection of generated online report identifiers, and a collection of successfully processed header identifiers.
  • PO_REQUEST_ACTION — Described as the main document action interface for interacting with the Document Action Manager. It encapsulates the request sent to the server-side transaction manager, which then executes the action asynchronously or synchronously depending on the document type.
  • PO_HOLD_DOCUMENT — Applies a hold to a purchasing document. This is invoked from the hold and release flows on requisitions and purchase orders.
  • NAME — A helper entry listed in the documented procedure set, typically used for name resolution or descriptor lookup within the package's internal logic.
  • The package also exposes supporting logic that coordinates with the Document Action Manager for the return-and-resubmit cycle.

Tables Accessed

The package reads and writes the following documented tables through APPS synonyms:

  • PO_REQUISITION_HEADERS_ALL and PO_REQUISITION_LINES_ALL — The primary requisition entities against which document actions are requested.
  • PO_DOCUMENT_TYPES_ALL — Supplies document type and action configuration used to validate which actions are permissible for a given document.
  • PO_DRAFTS and PO_LINES_DRAFT_ALL — Store in-progress, unsubmitted changes for documents that are being edited before action submission.
  • PO_SESSION_GT — A global temporary table used to stage session context and identifiers during the action request.
  • PLITBLM — A PL/SQL index-by table structure used internally to hold collections passed between the bulk and single-record procedures.

Usage Notes

PO_DOCUMENT_ACTIONS_SV is typically invoked from the Purchasing forms (for example, the Requisitions and Purchase Orders windows) when a user submits, returns, holds, or cancels a document. The form calls PO_REQUEST_ACTION_BULK with the selected header identifiers and reads back the successful headers and online report identifiers to drive UI feedback and concurrent report generation. Because it is referenced by three other packages, custom extensions and concurrent programs can also call these procedures directly, provided they pass the correct API version, employee identifier, and grouping method. When troubleshooting the search term e_timeout, note that this package does not itself define a timeout parameter; timeout behaviour in document actions originates in the Document Action Manager and the concurrent manager, so an "e_timeout" error encountered during an action request generally points to the underlying server transaction rather than to this package's parameter list. Custom code should treat x_result and x_error_message as the authoritative outcome of each call.