Search Results mass_assignment_approval




Overview

PA_ASSIGNMENT_APPROVAL_PUB is the public approval API for project assignment records in Oracle E-Business Suite Projects (PA). Its central responsibility is to place newly created or modified project team assignments into the appropriate approval workflow, set the corresponding approval status on the assignment row, and revert or cancel those approvals when required. The package therefore mediates the interaction between the assignment data model in PA_PROJECT_ASSIGNMENTS and the Oracle Workflow-driven approval process that governs resource assignments on projects.

The package is documented in both ETRM 12.1.1 and 12.2.2 as an APPS-owned PUB package. The 12.2.2 metadata records nine documented procedures and references to fourteen underlying application tables. The source excerpt shows the package header revision as 120.7.12010000.5 (June 2010), and confirms that the wrapper API Start_Assignment_Approvals is intended for invocation from the Submit for Approval page when a user presses Submit, Approve, Reject, or the Cancel button on the team list. The documented action codes are APPROVE, SUBMIT, REJECT, and CANCEL.

Key Procedures and Functions

  • START_ASSIGNMENT_APPROVALS — Wrapper API that sets the approval status and determines which workflow to launch for a single assignment. It accepts the assignment identifier, a new-assignment flag, the action code, an optional note to the approver, a record version number for optimistic locking, approval person details, and an overcommitment check flag.
  • REVERT_TO_LAST_APPROVED — Restores an assignment to its previous approved state, discarding pending changes that were not approved.
  • POPULATE_CHANGED_ITEMS_TABLE — Builds the set of changed assignment attributes that must be presented to approvers and carried into the approval record.
  • CHANGE_ASSIGNMENT_STATUS — Updates the approval status of an assignment, serving as the common status-write routine used by the other procedures.
  • GET_CURRENT_APPROVER — Retrieves the identity of the approver currently responsible for an assignment, used for notification and display purposes.
  • CANCEL_ASSIGNMENT — Cancels an in-flight approval for an assignment and returns it to a non-pending status.
  • MASS_SUBMIT_FOR_ASGMT_APRVL — Submits multiple assignments for approval in a single operation.
  • MASS_ASSIGNMENT_APPROVAL — Performs approval or rejection processing across a set of assignments, which is the entry point matched by the search term mass_assignment_approval.
  • MASS_PROCESS_APPROVAL_RESULT — Processes the outcome of a mass approval run, applying results to each affected assignment.

A private log_message helper writes diagnostic output through PA_DEBUG when the profile option PA_DEBUG_MODE is set to Y.

Tables Accessed

The package operates primarily on PA_PROJECT_ASSIGNMENTS, which holds the assignment records whose approval status is being set or reverted. PA_PROJECTS_ALL and PA_PROJECT_STATUSES supply project context and lifecycle state; PA_PROJECT_SUBTEAMS, PA_ROLE_LISTS, and PA_LOCATIONS supply team, role, and location attributes used in the changed-items and approver determination logic. PA_ACTION_SETS provides the configuration that binds approval actions to workflow definitions.

Approver and organizational resolution rely on PER_JOBS, PER_JOB_GROUPS, PER_ORGANIZATION_STRUCTURES, and HR_ALL_ORGANIZATION_UNITS_TL, together with FND_USER for the approving user account. FND_TERRITORIES_TL and JTF_CALENDARS_TL provide territorial and calendar reference data, while FND_NEW_MESSAGES supports message generation for notifications and error handling.

Usage Notes

The package is normally invoked indirectly. The Submit for Approval page calls Start_Assignment_Approvals for single-assignment Submit, Approve, Reject, and Cancel actions, while the mass procedures support the team-list multi-select flows exposed to project managers and staffing administrators. Custom code should call only the documented PUB procedures, pass a valid record version number to preserve optimistic locking, and avoid direct updates to the approval status columns on PA_PROJECT_ASSIGNMENTS. Because nine other packages reference this API, changes to its behavior can propagate through assignment approval, staffing, and project-team maintenance flows, so any extension should be validated against those dependent packages. Setting PA_DEBUG_MODE to Y enables PA_DEBUG tracing for troubleshooting.