Search Results get_current_sponsored_flag




Overview

PA_BURDEN_COSTING is an Oracle EBS Projects (PA) package that encapsulates the burden cost accounting logic used when applying indirect cost multipliers, also referred to as burden schedules, to project expenditures. Its principal business responsibility is to summarize eligible expenditure items, calculate the applicable burdened amounts from compiled multipliers, and generate the resulting burden expenditure items and their cost distribution lines. The package also supports commitment (CMT) burden transactions, allowing burdened commitment costs to be created alongside actual expenditures. Because it isolates the burden calculation, this package is a foundational component of the Project Costing sub-ledger and is referenced by six other packages within the APPS schema.

A distinctive feature of this package is its use of package-level session state. Procedures such as SET_CURRENT_PROJECT_ID, SET_CURRENT_RUN_ID, and SET_CURRENT_SPONSORED_FLAG populate internal variables that are subsequently read back through matching getter functions. This design pattern allows the burden process to carry the project context, the burden summary run identifier, and the sponsored-project indicator across multiple procedure calls within a single database session. The sponsored flag is significant because it drives behavior for award-funded (sponsored) projects and integrates with Grants Management (GMS) award distributions.

Key Procedures and Functions

  • SET_CURRENT_PROJECT_ID / GET_CURRENT_PROJECT_ID — The setter caches the current project identifier in a package variable; the getter returns that cached identifier for use by downstream burden routines.
  • SET_CURRENT_RUN_ID / GET_CURRENT_RUN_ID — Stores and retrieves the current burden summary run identifier (based on the burden_sum_source_run_id column), providing run-level context for the costing session.
  • GET_CURRENT_SPONSORED_FLAG — Returns a VARCHAR2 flag indicating whether the current project is sponsored. This value is established via the sponsored flag setter, which accepts a project identifier and derives the sponsored status for that project. It is the entry point most commonly referenced by developers seeking to determine sponsored project behavior during costing.
  • CREATE_BURDEN_EXPENDITURE_ITEM — The core procedure that summarizes expenditures and creates burden expenditure items across a range of projects delimited by start and end project numbers. It accepts a request identifier and an end date, and returns status, stage, and run identifier values as OUT parameters, allowing callers to monitor processing progress.
  • CREATE_BURDEN_CMT_TRANSACTION — Creates burden transactions against commitment data, returning status, stage, and run identifier as OUT parameters for progress tracking.
  • INSBURDENAUDIT, POPULATE_GTEMP, UPDATE_GTEMP — Supporting procedures that populate temporary staging structures and record burden audit information, supporting the transfer and validation of cost distribution lines during the burden run.

Tables Accessed

The package reads expenditure data from PA_EXPENDITURE_ITEMS_ALL and PA_EXPENDITURES_ALL (with PA_EXPENDITURES as the earlier base object) and writes resulting cost distribution records to PA_COST_DISTRIBUTION_LINES_ALL and PA_COST_DISTRIBUTION_LINES. Project definitions are obtained from PA_PROJECTS_ALL. Burden multipliers are drawn from PA_COMPILED_MULTIPLIERS, while the valid combinations of cost bases are defined by PA_COST_BASE_COST_CODES and PA_COST_BASE_EXP_TYPES. Run-level sequencing is managed through PA_BURDEN_SUM_RUN_S and PA_COMMITMENT_TXNS_S. Commitment burden processing uses PA_COMMITMENT_TXNS. Sponsored-project handling reads GMS_AWARD_DISTRIBUTIONS. Burden audit records are maintained in PA_AUD_COST_DIST_LINES, and the PL/SQL table PA_EI_CDL_CM_GTEMP is used as a temporary staging structure during processing.

Usage Notes

PA_BURDEN_COSTING is ordinarily invoked from the Projects concurrent program infrastructure rather than from a form directly. The CREATE_BURDEN_EXPENDITURE_ITEM and CREATE_BURDEN_CMT_TRANSACTION procedures are designed for the Distributed Burden Costing and commitment burden concurrent processes, where the request identifier and OUT parameters support standard concurrent manager status reporting. Custom extensions that need burden logic should call these procedures in the documented sequence and set the project, run, and sponsored flag context before invoking the creation routines. Because project, run, and sponsored-flag values are held in package variables, callers must explicitly set them at the start of a session; failing to do so can cause the getter functions, including GET_CURRENT_SPONSORED_FLAG, to return stale or null values. Oracle recommends invoking the package only through supported entry points, as direct DML against the underlying expenditure and cost distribution tables bypasses the burden calculation and audit logic.