Search Results init_who_cols




Overview

PA_ALLOC_RUN is the core PL/SQL package that implements the Allocation Run process within Oracle Projects (PA). Its primary business purpose is to distribute indirect or pooled project costs and amounts across source and target projects, tasks, and general ledger accounts according to allocation rules defined by the user. The package reads the allocation rule definitions, determines which source transactions qualify for allocation, computes the allocation basis, generates the corresponding target and offset transactions, and records the results in the allocation run detail and GL distribution tables. It also captures exceptions and error conditions that arise during processing so that users can review and correct the input data. In EBS 12.1.1 and 12.2.2, the header identifies the source as PAXALRNS.pls, and the package is registered under the APPS schema with an API classification of OTHER. The main entry point, ALLOCATION_RUN, is explicitly documented as being called through a report, confirming that the package is driven from a concurrent program rather than an online form.

Key Procedures and Functions

The documented interface exposes fifty procedures and functions. The central routine, ALLOCATION_RUN, accepts processing, debug, run mode, rule, run period, and expenditure item date parameters, returning a run identifier along with a return code and error buffer. CHECK_LAST_RUN_STATUS verifies whether the selected allocation rule is in DRAFT or RELEASE status and returns the current and previous run identifiers. VALIDATE_RULE performs validation before processing begins. The source-side routines INSERT_ALLOC_RUN_SOURCES, EXCLUDE_CURR_PROJ_TASK, and POPULATE_RUN_SOURCES identify and store the pool of transactions eligible for allocation. On the target side, INSERT_ALLOC_RUN_TARGETS and POPULATE_RUN_TARGETS establish the recipients of the allocated amounts.

The calculation and posting logic is handled by CALCULATE_SRC_GL_AMOUNTS, INSERT_ALLOC_RUN_GL_DET, GET_TRG_LINE_PROJ_TASK_COUNT, GET_SUNK_COST, GET_PREVIOUS_ALLOC_AMNT, INSERT_ALLOC_TXN_DETAILS, CREATE_TARGET_TXNS, CREATE_OFFSET_TXNS, and ALLOCATE_REMNANT. Supporting routines include INSERT_ALLOC_RUNS, which creates the parent allocation run row, INS_ALLOC_EXCEPTIONS and ALLOC_ERRORS, which record exception and error information during execution.

Tables Accessed

The package reads and writes a defined set of allocation and GL tables. Rule definitions are read from PA_ALLOC_RULES_ALL, while PA_ALLOC_RESOURCES defines the resources involved in the allocation. Run headers and results are persisted in PA_ALLOC_RUNS_ALL, PA_ALLOC_RUNS, PA_ALLOC_RUNS_S, PA_ALLOC_RUN_SOURCES, PA_ALLOC_RUN_BASIS_DET, PA_ALLOC_RUN_GL_DET, and PA_ALLOC_RUN_RESOURCE_DET. Detail transaction output is written to PA_ALLOC_GL_LINES. Exception handling draws on PA_ALLOC_EXCEPTIONS and PA_ALLOC_MISSING_COSTS. General ledger period and balance information is obtained from GL_BALANCES, GL_PERIODS, and GL_PERIOD_STATUSES to determine the correct accounting period and amounts used during allocation.

Usage Notes

PA_ALLOC_RUN is normally invoked through the Allocation Run concurrent program, which calls ALLOCATION_RUN with a rule identifier, run mode, and run period. Because the package operates under the APPS schema and is referenced by four other packages, it also serves as a callable utility layer for related allocation flows. The user search term init_who_cols reflects the standard who-column initialization pattern (created_by, creation_date, last_updated_by, last_update_date, last_update_login) used by routines such as INS_ALLOC_EXCEPTIONS. Custom code that calls these procedures must populate those who-columns correctly to preserve audit integrity. Run this process after period-end cost collection and before GL transfer, and review PA_ALLOC_EXCEPTIONS for any records requiring correction before rerunning.