Search Results po_fc_ok
Overview
APPS.PO_FUNDS_CHECKER is a server-side PL/SQL package that encapsulates the Funds Checker integration for Oracle Purchasing documents in Oracle E-Business Suite releases 12.1.1 and 12.2.2. It provides the procedural interface through which purchasing transactions — requisitions, purchase orders, releases, and their associated lines, shipments, and distributions — are validated against budgetary control rules before funds are committed or consumed. The package acts as the bridge between Oracle Purchasing and the funds control engine that ultimately relies on General Ledger budgetary control data. It determines whether a given document entity is eligible for funds checking, resolves the appropriate level at which the check should occur, enqueues the request for asynchronous processing, and dispatches the actual funds control action. The package is declared with AUTHID CURRENT_USER, meaning execution privileges and name resolution follow the invoking schema rather than the package owner, which is significant for custom integrations running under a non-APPS account. The header comment ($Header: POXPOFCS.pls 115.2 ...) confirms the package has been stable since the 11i era, with no functional signature changes carried into the 12.x family.
Key Procedures and Functions
The package exposes five documented program units, of which four are business functions and one is diagnostic:
- PO_FUNDS_CONTROL — The principal entry point. It executes the funds control action against a specific document entity, accepting identifiers for the document, its type and subtype, line, shipment, and distribution, together with the requested action and optional controls such as period override, demand recreation, and concurrent processing flag. It returns a boolean success indicator and communicates a return code through an IN OUT parameter.
- PO_FC_OK — The function the user searched for. It evaluates whether it is acceptable to invoke the Funds Checker for the given document type, line, shipment, distribution, and action. It returns a boolean result and surfaces the determination through an IN OUT boolean parameter, allowing callers to short-circuit funds checking when the transaction does not qualify (for example, when the entity is not subject to budgetary control).
- PO_FC_INS — Inserts a funds checker request into the processing queue. It accepts the same document-level, line-level, shipment-level, and distribution-level identifiers plus period override, demand recreation, and an IN OUT packet identifier that is populated when the queue record is created.
- PO_FC_LEVEL — Determines and returns the level at which funds checking should be performed for the supplied document entity. The resolved level is returned through an IN OUT parameter, enabling callers to align the check with Purchasing's configured funds control hierarchy.
- GET_DEBUG — Returns internal debug information as a VARCHAR2 string, used for troubleshooting funds checker behavior during support and diagnostics.
Tables Accessed
The package references the following objects through APPS synonyms:
- PO_DISTRIBUTIONS, PO_LINES, PO_LINE_LOCATIONS — the primary Purchasing document entities against which funds checks and level resolution are applied.
- PO_REQUISITION_LINES, PO_REQ_DISTRIBUTIONS — requisition-side entities subject to the same funds control evaluation.
- FINANCIALS_SYSTEM_PARAMETERS, FND_CURRENCIES — configuration and currency context required to interpret amounts and funds control options.
- GL_BC_PACKETS, GL_BC_PACKETS_S — the budgetary control packet tables used when requests are queued for General Ledger processing.
- PO_ONLINE_REPORT_TEXT, PO_ONLINE_REPORT_TEXT_S — storage for funds checker report and message text surfaced to users.
- DBMS_SQL, DUAL — dynamic SQL execution and single-row utility queries.
Usage Notes
PO_FUNDS_CHECKER is not a public API and is not referenced by any other documented package, so it is effectively an internal implementation layer. It is invoked by Oracle Purchasing forms and concurrent programs during document entry, approval, and change processing, and by the funds checker workflow that batches requests for General Ledger. Because the package is catalogued under API classification OTHER, Oracle does not guarantee its signature across upgrades or patches. Custom code should not call it directly; instead, the supported integration surface is Oracle Purchasing's documented open interfaces or the corresponding budgetary control APIs. Where diagnostics are required, GET_DEBUG provides limited introspection, but it is intended for Oracle Support use only. All invocations execute with the caller's privileges due to AUTHID CURRENT_USER, so grants on the underlying tables and on GL budgetary control objects must be in place for any schema attempting to execute it.