Search Results reverse_cc_dist
Overview
APPS.PA_INVOICE_DETAIL_PROCESS is a server-side PL/SQL package body within the Oracle E-Business Suite Project Billing (PA) module. Its primary business function is to process draft invoice detail records, performing the validation, insertion, update, and deletion of draft invoice lines and their associated cross-charge and cost distribution entries. The package operates on both standard and cross-charge invoice detail structures, supporting the transfer pricing and accounting distribution logic that precedes invoice generation and accounting. The header comment references RDBMS source file PAICINDB.pls (version 120.7.12000000.2), indicating the object is a core component of the Project Billing invoice stream.
The package maintains local PL/SQL collections — insertion, deletion, and update tables plus a transfer-price table parameterized by denomination and accounting currency — that buffer invoice detail rows before they are applied to the base interface tables. This set-based approach reduces row-by-row processing overhead during invoice processing.
Key Procedures and Functions
Eight documented program units are exposed. The central driver is PROCESS_INVOICE_DETAILS, which orchestrates the processing of buffered invoice detail records. INIT establishes the working environment and initializes the local collections prior to processing. APPLY_INS_CHANGES applies the staged insert operations to the underlying draft invoice detail tables. REVERSE_ROW handles the reversal of an individual invoice detail row, removing or negating the corresponding distribution. REVERSE_CC_DIST is the routine directly associated with the user search term "reverse_cc_dist": it reverses cross-charge distribution lines, typically invoked when an invoice detail row affected by cross-charge processing must be backed out or corrected. REVERSE_PRECLASS reverses pre-classified cost distribution entries, ensuring that previously generated distribution records are undone before reclassification or recalculation occurs. The remaining documented units complement these reversal and application routines, forming a balanced process of staging, applying, and rolling back invoice detail changes.
Tables Accessed
Access to the following tables occurs through APPS synonyms. PA_DRAFT_INVOICE_DETAILS, PA_DRAFT_INVOICE_DETAILS_ALL, and PA_DRAFT_INVOICE_DETAILS_S hold the draft invoice detail rows being inserted, updated, or deleted. PA_COST_DISTRIBUTION_LINES_ALL and PA_CC_DIST_LINES store cost distribution and cross-charge distribution lines targeted by REVERSE_CC_DIST and REVERSE_PRECLASS. PA_EXPENDITURE_ITEMS and PA_EXPENDITURE_ITEMS_ALL provide the expenditure source records linked to invoice details through expenditure item identifiers. PA_PROJECTS_ALL and PA_TASKS supply project and task attributes used during validation and transfer-price derivation. PLITBLM serves as the PL/SQL table buffer structure referenced in the package. The transfer-price record type confirms extensive use of currency, exchange-rate, and transfer-price columns when constructing distribution entries.
Usage Notes
PA_INVOICE_DETAIL_PROCESS is typically invoked during Project Billing invoice generation and adjustment flows, either from concurrent programs that build and maintain draft invoices or from forms-based actions that require invoice detail reprocessing. The presence of the PA_DEBUG_MODE profile check indicates that the package supports diagnostic tracing when that profile is enabled. The detailed procedure set — particularly REVERSE_CC_DIST and REVERSE_PRECLASS — makes the package relevant to correction scenarios where cross-charge or pre-classified distributions must be reversed and regenerated. Because it references interface and draft tables rather than booking-level tables, it is best characterized as an invoice preparation and adjustment utility rather than a final accounting posting routine. The package is additionally referenced by one other package, indicating it participates in a broader dependency chain within the Project Billing PL/SQL layer. Customizations should call the documented entry points as a unit rather than manipulating its underlying collections directly.
-
PACKAGE BODY: APPS.PA_INVOICE_DETAIL_PROCESS
12.1.1
-
PACKAGE BODY: APPS.PA_INVOICE_DETAIL_PROCESS
12.2.2
-
PACKAGE: APPS.PA_INVOICE_DETAIL_PROCESS
12.1.1
-
PACKAGE: APPS.PA_INVOICE_DETAIL_PROCESS
12.2.2
-
APPS.PA_INVOICE_DETAIL_PROCESS dependencies on PA_IC_INV_UTILS
12.1.1
-
APPS.PA_INVOICE_DETAIL_PROCESS dependencies on PA_IC_INV_UTILS
12.2.2