Search Results check_structure_used
Overview
The APPS.PA_COST_BASE_EXP_TYPES_PKG package body is a component of the Oracle E-Business Suite Projects (PA) module, specifically responsible for maintaining and validating the configuration that links cost base types, cost plus structures, and expenditure types. In Oracle Projects, a cost plus structure governs how burden and rate schedules are applied to eligible costs, while cost base expenditure types define which categories of expenditure are captured under a given cost base. This package enforces data integrity rules around that configuration and provides supporting validation logic used elsewhere in the costing and rate schedule flow. Its internal constant NO_DATA_FOUND_ERR (value 100) is consistently used as a return status code to signal a "not found" outcome to callers. The package is owned by APPS and is classified as OTHER (not a public API), meaning it is intended for internal module use rather than as a supported external interface.
Key Procedures and Functions
- CHECK_UNIQUE — Validates that a given combination of cost base type, cost plus structure, and expenditure type does not already exist in the PA_COST_BASE_EXP_TYPES table. It uses a SELECT FROM SYS.DUAL with a NOT EXISTS subquery; when no matching row exists (i.e., the combination is unique), the NO_DATA_FOUND exception is trapped and the status is set to NO_DATA_FOUND_ERR (100). Any other error returns the SQLCODE. The status parameter is an OUT NOCOPY variable, reflecting a caller-supplied result indicator.
- CHECK_STRUCTURE_USED — The procedure associated with the user's search term "check_structure_used." Its purpose, as documented in the source header, is to determine whether a cost plus structure has been used, where "used" is defined as having existing costed expenditure items within that structure. The procedure opens a cursor over PA_IND_RATE_SCH_REVISIONS for the given structure and iterates each revision, delegating further validation to PA_COST_PLUS.CHECK_REVISION_USED. If a nonzero status is returned, it sets the stage indicator to 100 and exits the loop. The original authorship and creation date (07-MAY-94, S Lee) are recorded in the source history.
- GET_DESCRIPTION — Returns the description associated with a given expenditure type, accepting the expenditure type as input and returning the description through an OUT NOCOPY parameter.
Tables Accessed
- PA_COST_BASE_EXP_TYPES — Stores the association between cost base types, cost plus structures, and expenditure types; queried by CHECK_UNIQUE to detect duplicate configurations.
- PA_IND_RATE_SCH_REVISIONS — Holds indirect rate schedule revisions keyed to a cost plus structure; read by CHECK_STRUCTURE_USED to enumerate revisions for usage validation.
- PA_EXPENDITURE_TYPES — The repository of expenditure type definitions; used in support of GET_DESCRIPTION lookups.
Usage Notes
Because CHECK_STRUCTURE_USED safeguards against modifying or deleting rate structures that are already in use by costed transactions, it is typically invoked during setup and maintenance activities — for example, from Projects setup forms or validation logic before a cost plus structure configuration change is committed. The procedure does not perform a direct table scan for costed items itself; instead it relies on PA_COST_PLUS.CHECK_REVISION_USED, iterating across all rate schedule revisions tied to the structure and short-circuiting on the first failure with a stage value of 100. Custom code should treat the status and stage OUT parameters as the authoritative result indicators rather than assuming success. As an OTHER-classified, non-API package, it is not a supported extension point, and direct calls from custom code carry upgrade risk. According to ETRM metadata, no other packages reference this package, indicating it is a leaf-level utility within the Projects costing configuration layer.
-
PACKAGE BODY: APPS.PA_COST_BASE_EXP_TYPES_PKG
12.2.2
-
PACKAGE BODY: APPS.PA_COST_BASE_EXP_TYPES_PKG
12.1.1
-
PACKAGE: APPS.PA_COST_BASE_EXP_TYPES_PKG
12.1.1
-
PACKAGE: APPS.PA_COST_BASE_EXP_TYPES_PKG
12.2.2
-
PACKAGE: APPS.PA_COST_PLUS
12.1.1
-
PACKAGE: APPS.PA_COST_PLUS
12.2.2
-
PACKAGE BODY: APPS.PA_COST_PLUS
12.2.2
-
PACKAGE BODY: APPS.PA_COST_PLUS
12.1.1