Search Results pa_workplan_amg_pub




Overview

PA_WORKPLAN_AMG_PUB is a public PL/SQL API belonging to the Oracle Projects application family within Oracle E-Business Suite. It is defined with AUTHID DEFINER, meaning its database objects are resolved using the privileges of the package owner (APPS) rather than the invoking user. The package governs the administration of project workplan structures — the hierarchical organization of project elements used to plan, track, and control work on a project. Specifically, it exposes controlled operations for transitioning the lifecycle status of a workplan structure and for baselining that structure, which freezes the current approved configuration for comparison and progress measurement.

The source header identifies the package as PAPMWKPS.pls, version 115.1, last modified in December 2002 and marked "noship," a designation indicating it is not shipped standalone but is part of the broader Oracle Projects codebase. The API version constant is set to 1.0. The package declares standard WHO globals sourced from FND_GLOBAL, including G_LAST_UPDATED_BY, G_LAST_UPDATE_DATE, G_CREATION_DATE, G_CREATED_BY, and G_LAST_UPDATE_LOGIN, which support audit column population on the records it manipulates.

Key Procedures and Functions

Two documented procedures are exposed:

  • change_structure_status — Transitions a workplan structure to a specified status. It accepts the structure version identifier and project identifier to locate the target record, and a status code indicating the desired state. On successful execution it returns the identifier of the published structure version through a dedicated output parameter, together with the standard API output parameters for return status, message count, and message data.
  • baseline_structure — Creates a baseline of the identified workplan structure version for the given project. It takes the structure version identifier and project identifier and returns the standard status and message outputs.

Both procedures follow Oracle's standard API parameter convention, accepting an API version number, an initialization flag for the message list, and a commit flag, and returning a return_status of 'S', 'E', or 'U' with associated message count and data for error retrieval via FND_MSG_PUB.

Tables Accessed

The package operates on PA_PROJ_ELEM_VER_STRUCTURE, accessed through an APPS synonym. This table stores the versioned structural definitions of project workplan elements, linking project element versions into the hierarchy that constitutes the workplan. The status change and baseline procedures read and update rows in this table to reflect lifecycle transitions and baseline creation. Audit columns are populated from the package-level WHO globals.

Usage Notes

PA_WORKPLAN_AMG_PUB is a public API intended to be called programmatically rather than directly by end users. It is referenced by one other documented package, indicating it is consumed within the Oracle Projects public API layer. Typical invocation occurs from Oracle Forms workplan administration pages, from concurrent programs that process structure status changes or baselining in batch, or from custom extensions that must programmatically manage workplan lifecycle operations.

A notable feature relates to the user's search term: the package declares a ROW_ALREADY_LOCKED exception with PRAGMA EXCEPTION_INIT mapping to Oracle error -54, the "resource busy" condition raised when a session attempts to lock a row already held by another session. Callers should anticipate this exception when concurrent workplan transactions contend for the same structure version, and should trap it to present a meaningful locking message or retry after the competing transaction completes. Because these procedures modify structure records, invoking code should manage transactions appropriately — either passing p_commit = 'F' and committing within the caller's transaction, or allowing the API to commit when p_commit = 'T'. Error handling should inspect p_return_status and, on failure, retrieve details through p_msg_count and p_msg_data.