Search Results fun_trx_pvt_w




Overview

FUN_TRX_PVT_W is a private PL/SQL package body owned by the APPS schema in Oracle E-Business Suite, documented across releases 12.1.1 and 12.2.2. Its prefix associates it with the Financials transaction foundation layer (FUN), and its name identifies it as the workflow-facing sibling of FUN_TRX_PVT, the core private API for Oracle Payables transaction processing. The trailing "_W" convention denotes a wrapper package exposing the underlying transaction logic to Oracle Workflow and to the Approval Management Engine. In practice, FUN_TRX_PVT_W provides the callable interface through which invoice validation and distribution generation are initiated, and through which reverse transactions are created. It also carries a family of ROSETTA_TABLE_COPY procedures, which are generated transfer routines used by the Oracle table-handling (Rosetta) framework to move PL/SQL collections between calling layers without requiring shared global state.

Key Procedures and Functions

The documented interface exposes twenty-three procedures and functions. The initialization routines drive the principal business flows:

  • INIT_BATCH_VALIDATE — entry point for batch-level invoice validation, seeding the validation context for a set of transactions.
  • INIT_TRX_VALIDATE — initializes validation for an individual transaction, applying matching and validation rules.
  • INIT_DIST_VALIDATE — prepares the context for validating existing distribution lines against accounting and tax rules.
  • INIT_IC_DIST_VALIDATE — the intercompany counterpart to the above, validating distributions that cross operating units.
  • INIT_GENERATE_DISTRIBUTIONS — initiates creation of accounting distributions from invoice line detail.
  • CREATE_REVERSE_TRX — constructs a reversing transaction from an existing invoice, preserving the linkage required for audit and accounting.
  • RECIPIENT_VALIDATE — validates the recipient or payee party associated with a transaction.
  • MODIFIED — a change-detection function used to determine whether a record has been altered since it was last read.

The remaining documented members are the ROSETTA_TABLE_COPY_IN_P5 through _P10 and ROSETTA_TABLE_COPY_OUT_P5 through _P10 procedures. These paired routines copy JTF collection types into and out of the Rosetta parameter table at positions five through ten, allowing complex PL/SQL table structures to traverse the workflow and API boundaries.

Tables Accessed

FUN_TRX_PVT_W operates against a small set of documented objects. FUN_DIST_LINES is the principal persistent table, holding the distribution lines that the validation and generation routines read and write. WF_ITEM_ACTIVITY_STATUSES is queried to establish the current workflow activity state of a transaction, which governs whether a given validation or generation step may proceed. PLITBLM, the standard Oracle PL/SQL table type, is referenced for collection handling within the Rosetta copy routines. All access is made through APPS synonyms. The package does not reference these tables directly in isolation; it delegates much of the substantive work to FUN_TRX_PVT, which it calls extensively.

Usage Notes

FUN_TRX_PVT_W is a private, internal package. It is not referenced by any other database object in the documented dependency graph, confirming that it is invoked directly by the Oracle Payables forms and by Oracle Workflow rather than being called by other PL/SQL units. The dependency list identifies AME_API2, AME_API3, AME_UTIL, FND_GLOBAL, FUN_TRX_PVT, WF_ENGINE, and the JTF collection types, which together indicate that the package participates in invoice approval routing, workflow transitions, and globalization setup. The ROSETTA_TABLE_COPY procedures are typically generated artifacts; while they may appear in the source, they should not be modified manually. Customizations should be implemented only through the supported public APIs in FUN_TRX_PVT or through Oracle's documented extension points, never by altering this wrapper directly.