Search Results pa_billing_pub




Overview

PA_BILLING_PUB is a public PL/SQL package owned by the APPS schema within Oracle E-Business Suite, residing in the Oracle Projects (PA) module. Its classification as a PUB package indicates that it exposes a supported, externally callable API surface intended for consumption by other Oracle EBS modules, extension packages, and customer-written customizations. Package status is reported as VALID in both the 12.1.1 and 12.2.2 releases.

The package supports the billing and invoicing side of the Oracle Projects suite, providing utility entry points that other billing-related packages depend upon for retrieving monetary and budgetary amounts, resolving implementation and funding flags, evaluating invoicing method overrides, and logging billing events and messages into the appropriate interface tables. It functions as a foundational service layer rather than an end-user-facing process; the actual invoice generation and revenue accrual logic resides in dependent packages such as PA_BILLING, PA_BILLING_AMOUNT, and PA_BILL_PCT, which call PA_BILLING_PUB for shared lookups and event logging.

Key Procedures and Functions

The documented package exposes eight procedures and functions. Parameter lists are not published in the ETRM metadata; the following describes each entry point by its purpose.

  • GET_BUDGET_AMOUNT — Returns a budgetary amount, resolving the correct budget version and budget type context from the Projects setup tables. Likely used by billing and revenue logic that needs to compare billed or revenue-recognized amounts against an approved budget baseline.
  • GET_AMOUNT — A generic amount retrieval function, providing a caller-supplied context lookup for monetary values used in billing calculations.
  • INSERT_MESSAGE — Writes a message row into PA_BILLING_MESSAGES, allowing billing processes to record informational, warning, or error conditions against a billing run for later review.
  • INSERT_EVENT — Inserts a billing event record into the PA_EVENTS / PA_EVENTS_S tables so that downstream revenue and invoicing logic can detect and process the event.
  • INSERT_EVENT2 — A second, extended event-insertion entry point. The presence of two insert routines typically reflects a later release adding additional context columns or arguments without breaking callers of the original API.
  • GET_MRC_FOR_FUND_FLAG — Resolves the Multiple Reporting Currencies (MRC) setting associated with a funding indicator, returning the value that governs multi-currency ledger treatment of funded projects.
  • GET_TOP_TASK_CUSTOMER_FLAG — Determines whether a customer-related flag applies at the top task of a project hierarchy, used to drive billing and revenue treatment at the highest task level.
  • GET_INV_METHOD_OVERRIDE_FLAG — Returns the invoice method override flag, indicating whether a project- or customer-level override of the default invoicing method is in effect.

Tables Accessed

The package reads and writes through APPS synonyms of the following tables: FND_CURRENCIES (currency validation for amount retrieval), PA_BILLING_EXTENSIONS (extension attributes driving billing behavior), PA_BILLING_MESSAGES (message output from INSERT_MESSAGE), PA_BUDGET_TYPES and PA_BUDGET_VERSIONS (budget context for GET_BUDGET_AMOUNT), PA_COST_BASE_EXP_TYPES, PA_CUST_REV_DIST_LINES (customer revenue distribution lines), PA_DRAFT_INVOICES and PA_DRAFT_INVOICE_ITEMS (draft invoice header and line records), PA_EVENTS and PA_EVENTS_S (billing event records, including the signalled/processed tables used by INSERT_EVENT), PA_EXPENDITURE_ITEMS_ALL (expenditure items eligible for billing), PA_FIN_PLAN_TYPES_B and PA_IMPLEMENTATIONS (implementation and planning setup), and PA_PROJECTS_ALL (project master data).

Usage Notes

PA_BILLING_PUB is referenced by eight other packages, including GMS_BILLING (Oracle Grants), PA_AGREEMENT_PVT, PA_BILLING, PA_BILLING_AMOUNT, PA_BILL_PCT, PA_MC_BILLING_PVT, and PA_REV_CA, confirming its role as a shared utility layer across Oracle Projects billing, agreements, multicurrency billing, and revenue accrual. Typical invocation paths are Oracle Projects billing concurrent programs (for example, invoice generation and revenue accrual processes), billing-related forms, and custom PL/SQL that needs to resolve amounts, flags, or log billing events and messages in the same manner as the seeded application code. Because it is a public API, customizations should call PA_BILLING_PUB rather than the underlying private packages, and should rely on the documented entry points only.