Search Results pa_ic_inv_cnl




Overview

PA_IC_INV_CNL is a PL/SQL package in the Oracle E-Business Suite (EBS) Applications schema (APPS) that supports the Oracle Projects intercompany invoicing process. Its documented purpose is to delete unreleased and error draft invoices associated with a specific project. In the Oracle Projects intercompany workflow, draft invoices are staged in the PA_DRAFT_INVOICES and related tables before they are released and transferred to Oracle Receivables as actual invoices. When a draft intercompany invoice is generated incorrectly, or when it remains in an error or unreleased state, it must be removed so that the invoice generation process can be corrected and re-run without leaving orphaned or duplicate draft records.

PA_IC_INV_CNL therefore functions as a housekeeping and corrective utility within the intercompany billing cycle. It is declared with AUTHID CURRENT_USER, meaning it executes with the privileges of the calling user rather than the definer, which requires that the invoking session have the appropriate grants on the underlying Project Accounting tables. The package header carries an early version stamp (115.1, dated 2002), indicating a long-standing, relatively stable component of the Projects intercompany invoice architecture.

Key Procedures and Functions

The ETRM metadata documents a single procedure in this package:

  • CANCEL_INVOICE — Deletes an unreleased or error draft intercompany invoice for a given project. Based on the documented source excerpt, it accepts the project identifier and the draft invoice identifier to locate and remove the target draft invoice. No other procedures or functions are documented for this package.

Because only this one procedure is exposed, the package is narrow in scope: it performs a targeted cancellation (deletion) operation rather than a broad invoice management API. The caller is expected to supply both the project and the draft invoice number so that exactly one draft invoice is removed.

Tables Accessed

The package reads from and writes to the core Oracle Projects intercompany and draft invoicing tables, referenced through APPS synonyms:

  • PA_DRAFT_INVOICES — The header table for draft invoices; the target invoice record is deleted here.
  • PA_DRAFT_INVOICE_DETAILS — Line-level draft invoice detail rows associated with the invoice.
  • PA_DRAFT_INVOICE_ITEMS — Draft invoice item rows linked to the invoice and its details.
  • PA_EXPENDITURE_ITEMS — Expenditure item records that were drawn into the draft invoice; these are typically referenced to release the amounts back for re-invoicing.
  • PA_PROJECTS — Used to validate and identify the project to which the draft invoice belongs.

Collectively, these tables represent the complete footprint of a draft intercompany invoice, so the procedure must clear the detail and item rows together with the header to avoid referential inconsistency.

Usage Notes

PA_IC_INV_CNL is an internal Oracle Projects utility rather than a documented public API, so it is generally invoked by Oracle Projects forms logic and by standard concurrent or batch processes that manage intercompany draft invoices, rather than being called directly by end users. In practice, it is reached when an intercompany draft invoice in unreleased or error status must be discarded before regeneration.

Because the package is classified as OTHER and is referenced by no other packages, custom integrators should treat it as a low-level internal routine. Any custom invocation should be undertaken cautiously, ensuring the draft invoice is genuinely unreleased or in error, since the procedure deletes records associated with the invoice and its expenditure lines. Direct calls should be limited to controlled corrective scenarios, ideally following Oracle-supported intercompany invoice cancellation routes, and should be validated in a test environment before use in production.