Search Results pa_utils2




Overview

PA_UTILS2 is a shared PL/SQL utility package body in the APPS schema of Oracle E-Business Suite, belonging to the Projects (PA) application. It is classified as an "OTHER" API in the ETRM metadata for release 12.2.2 and is validated in both 12.1.1 and 12.2.2 environments. The package provides low-level helper logic used throughout Oracle Projects to resolve period names, validate organizational and project state conditions, and return implementation- and setup-related configuration values. It is not an end-user-facing API; rather it functions as an internal service layer that other Projects packages call to avoid redundant coding of common lookups and validation checks.

The dependency listing confirms that PA_UTILS2 is tightly integrated with the Projects core. It references PA_UTILS, PA_PERIOD_PROCESS_PKG, PA_COSTING, PA_GMS_API, GMS_PA_API2, PA_INTEGRATION, PA_DEBUG, and PA_PLSQL_DATATYPES, as well as standard Oracle technology stack packages such as FND_API, FND_GLOBAL, FND_PROFILE, FND_PRODUCT_GROUPS, and the GL period tables. The metadata records 44 documented procedures and functions in total, and the package is referenced by 41 other database objects, indicating its role as a high-fan-in dependency within the Projects schema. Notably, PA_UTILS2 is not referenced by any database object outside APPS, confirming that its consumers sit within the Oracle Projects codebase and its extensions.

Key Procedures and Functions

The documented routines fall into several functional groups:

  • Period resolution: GET_GL_DT_PERIOD, GET_PERIOD_NAME, and PA_PERIOD_NAME_PROFILE derive GL and PA period names, typically converting a date into the corresponding accounting or project period for a given ledger or organization.
  • Date helpers: GET_PA_DATE and GET_RECVR_PA_DATE return project accounting dates using configured calendar rules, supporting transaction and receivables date derivation.
  • Organization and setup checks: CHECKEXPORG validates expenditure organization setup, GETPRJORGID returns the owning project organization identifier, and CHECKSYSLINKFUNCACTIVE verifies that a system link function is active before a dependent process proceeds.
  • Adjustment and release flags: CHECKADJFLAG evaluates adjustment indicators, while GETPRODUCTRELEASE returns the current product release level.
  • Project state predicates: ISPROJECTCLOSED, ISPROJECTINPURGESTATUS, ISDESTPURGED, ISSOURCEPURGED, ISACTIVEPRJTXNSPURGED, ISPROJECTTXNSPURGED, ISPROJECTCAPITALPURGED, ISPROJECTBUDGETSPURGED, and ISPROJECTSUMMARYPURGED are boolean-style functions that test whether a project, or a specific category of its data (transactions, capital, budgets, summaries), has been closed or purged. These are used to guard downstream processing against invalid state.
  • Value derivation: GETLABORCOSTMULTIPLIER returns the labor cost multiplier used in costing calculations.

Tables Accessed

PA_UTILS2 reads from a focused set of Projects and Oracle common tables, generally through APPS synonyms. Project and task context is obtained from PA_PROJECTS_ALL, PA_PROJECT_TYPES_ALL, PA_TASKS, and PA_ORGANIZATIONS_EXPEND_V. Period and calendar information is read from PA_PERIODS, PA_PERIODS_ALL, GL_PERIODS, GL_PERIOD_STATUSES, GL_DATE_PERIOD_MAP, and GL_SETS_OF_BOOKS. Expenditure and costing data comes from PA_EXPENDITURES, PA_EXPENDITURE_ITEMS, PA_EXPENDITURE_ITEMS_ALL, PA_EXPENDITURE_TYPES_EXPEND_V, PA_EXPEND_ITEM_ADJ_ACTIVITIES, PA_COST_DISTRIBUTION_LINES, and PA_COST_DISTRIBUTION_LINES_ALL. Revenue context is read from PA_DRAFT_REVENUES_ALL, and transaction source logic uses PA_TRANSACTION_SOURCES. Implementation and configuration values are retrieved from PA_IMPLEMENTATIONS, PA_IMPLEMENTATIONS_ALL, and FND_PRODUCT_GROUPS. Human resources lookups use HR_ALL_ORGANIZATION_UNITS, PER_ALL_ASSIGNMENTS_F, PER_PEOPLE_F, and PER_ASSIGNMENT_STATUS_TYPES. Lookup codes are resolved through PA_LOOKUPS. The package is primarily a read-oriented utility; state predicate functions query the tables above to determine purge or close conditions rather than writing to them.

Usage Notes

PA_UTILS2 is invoked indirectly rather than directly by end users. Projects forms, concurrent programs such as period processing and costing, and other Projects PL/SQL packages call these routines when they need a canonical answer to questions such as "which PA period contains this date," "is this project closed," or "is this expenditure organization valid." Because the package is referenced by 41 other objects and itself depends on PA_UTILS, PA_COSTING, PA_PERIOD_PROCESS_PKG, and the GMS integration APIs, it executes within the standard Projects transaction and batch flows. Custom extensions should call the documented functions rather than duplicating their logic, so that behavior remains consistent with Oracle-maintained period, purge, and organization rules. The presence of PA_DEBUG in the dependency list indicates the package supports diagnostic logging controlled by the Projects debug profile option. As with all APPS schema utilities, it should not be modified or wrapped in a way that alters its published signatures, and any custom code should be validated against both 12.1.1 and 12.2.2 since the metadata confirms validity in both releases.