Search Results g_wbs_num_tbl




Overview

PA_STRUCT_UPGR_PUB is a public PL/SQL package in the Oracle E-Business Suite Projects (PA) module, owned by the APPS schema and classified as a PUB API. Its documented purpose is to support the structural upgrade and rendering of project Work Breakdown Structure (WBS) hierarchies. Specifically, it supplies the numbering and ordering logic used when displaying or rebuilding WBS trees, deriving each task's WBS number from its parent and sibling sequence, and returning the display sequence used to lay out those tasks in the correct visual order. The package is therefore a utility layer that supports components presenting WBS data, most notably upgrade and display routines that must reproduce the hierarchical numbering scheme used throughout Oracle Projects.

Key Procedures and Functions

  • GET_WBS_NUMBER — Calculates and returns the WBS number for a task at a given WBS level. It is intended to be called in display sequence order, so that each successive call derives the next number from the previously stored value at that level. The function maintains an in-memory table of WBS numbers keyed by level, increments the trailing segment when a peer task exists at the same level, and appends a new segment when a first child is created at a deeper level. It also accepts an optional project identifier so that numbering can be scoped per project, an enhancement referencing Bug No. 4049574.
  • GET_DISP_SEQUENCE — Returns the display sequence value used to order WBS tasks within the hierarchy. It supports the assumption that callers process tasks in display sequence order, which is essential for GET_WBS_NUMBER to produce correct peer and child numbering.
  • CLEAR_GLOBALS — Resets the package-level global state, including the stored WBS number table and related level counters. Callers invoke it before starting a new project so that numbering does not carry over from a previously processed hierarchy. This dependency is reinforced by the project-id handling in GET_WBS_NUMBER.

Tables Accessed

The package metadata lists PLITBLM as the single referenced table (via an APPS synonym). PLITBLM is a generic PL/SQL index-by table storage structure used to persist transient collections. In this package, the WBS number table (G_WBS_NUM_TBL) that tracks the numbering state per WBS level is the principal internal collection, and the PLITBLM reference reflects that in-memory, session-scoped storage pattern. The package does not directly insert, update, or delete project structure base tables; WBS numbering is computed from the maintained collection rather than from direct DML against PA_PROJECT_STRUCTURE or similar entities.

Usage Notes

PA_STRUCT_UPGR_PUB is not a user-facing form package. It is typically invoked by upgrade routines and by other internal packages that reconstruct WBS hierarchies during release upgrades or structural conversions. The metadata notes it is referenced by one other package, confirming its role as a supporting API rather than a standalone entry point. Callers must honor the documented protocol: invoke CLEAR_GLOBALS before beginning a new project hierarchy, supply the project identifier to GET_WBS_NUMBER so that global state is re-scoped when the project changes, and call the numbering function in display sequence order so that peer increments and child appends compute correctly. Because the header is marked "noship" and version 120.0, this code corresponds to older Projects structural logic carried forward into the 12.1.1 and 12.2.2 code lines. Custom code should treat it as an internal utility and should not assume additional public entry points beyond the three documented routines.