Search Results pa_cmt_utils




Overview

PA_CMT_UTILS is a PL/SQL package body owned by the APPS schema in Oracle E-Business Suite. The name reflects its role as a utility library for Cost Management Transfer (CMT) processing within Oracle Projects. Its core business function is to compute and validate the cost amounts, variances, and quantities that flow from Oracle Purchasing, Oracle Receiving, and Oracle Payables into Oracle Projects. These values are essential to the supplier cost adjustment and burdening logic that determines the true cost of project expenditures.

The package is a low-level utility layer rather than a user-facing process. It supplies shared calculation and lookup routines consumed by higher-level Project Costing programs orchestrated by PA_PJC_CWK_UTILS, allowing those programs to reconcile committed, invoiced, and received amounts against distributed project cost lines. Its status is VALID across both 12.1.1 and 12.2.2, and it is referenced by 23 other database objects, confirming its position as a widely reused dependency in the Project Costing stack.

The body depends on APPS-resident tables and views as well as PUBLIC and SYS objects such as DUAL and the PLITBLM PL/SQL table type. It does not reference any external schema objects directly, and no other database object references PA_CMT_UTILS itself; the dependency flow is one-directional, from callers into these utilities.

Key Procedures and Functions

The documented API exposes seven procedures and functions, each focused on retrieving a specific committed or invoiced quantity or amount for a given project distribution context.

  • GET_RCPT_QTY — returns the received quantity associated with a purchasing or receipt transaction, used to establish the received basis for project cost.
  • GET_INV_CMT — returns the invoiced committed amount, typically the value of supplier invoices matched to the commitment.
  • GET_INV_VAR — returns the invoice variance, expressing the difference between invoiced and committed or received values for the expenditure line.
  • GET_APDIST_QTY — returns the quantity recorded on the matching Payables invoice distribution.
  • GET_APDIST_AMT — returns the amount recorded on the matching Payables invoice distribution.
  • IS_EIB_ITEM — evaluates whether the item in context qualifies as an expense item billed (EIB) item, governing whether related adjustments apply.
  • The remaining documented routine completes the set of quantity and amount lookups used by the CMT adjustment logic; all seven are called internally by PA_PJC_CWK_UTILS rather than by end users.

No parameter lists are published in the ETRM metadata, so callers should resolve signatures through the Oracle Projects source or the data dictionary before invoking these routines directly.

Tables Accessed

The package reads from a broad set of purchasing, receiving, and Payables tables through APPS synonyms. Purchasing and receiving data comes from PO_DISTRIBUTIONS_ALL, PO_LINES_ALL, PO_LINE_LOCATIONS_ALL, RCV_RECEIVING_SUB_LEDGER, RCV_TRANSACTIONS, and MTL_SYSTEM_ITEMS. Payables data comes from AP_INVOICES_ALL, AP_INVOICE_DISTRIBUTIONS_ALL, AP_PAYMENT_HIST_DISTS, AP_PREPAY_APP_DISTS, and AP_SELF_ASSESSED_TAX_DIST_ALL.

Project-side cost data is drawn from PA_COST_DISTRIBUTION_LINES_ALL and PA_EXPENDITURE_ITEMS_ALL. PA_CURRENCY is referenced for currency conversion, and DUAL and the PLITBLM table type support internal buffering and singleton queries. These tables are read to assemble the received, invoiced, and distributed amounts and quantities that the CMT utility routines return.

Usage Notes

PA_CMT_UTILS is typically invoked indirectly. It is called by PA_PJC_CWK_UTILS, which in turn is driven by Oracle Projects concurrent programs that adjust supplier costs and burden project expenditures, including the processes that reconcile Receiving and Payables activity against project cost distribution lines. Custom extensions should invoke these routines only through supported processing flows to preserve the integrity of the cost adjustment cycle.