Search Results get_change_id




Overview

PA_ASSIGNMENT_APPROVAL_PVT is the private implementation package body that supports the public assignment approval API, PA_ASSIGNMENT_APPROVAL_PUB, within the Oracle E-Business Suite Projects (PA) module. Its business purpose is to manage the approval workflow lifecycle for project team member assignments: determining whether an assignment requires approval, sequencing and validating the designated approvers, tracking approval status transitions, and recording the resulting status changes in the assignment history. Because it is classified as a PVT package, it is not intended as a public integration point; it encapsulates the internal logic invoked by the public API layer and by the Oracle Workflow-driven approval process.

The header comment indicates a long-standing code line (last touched in the 2007/11/23 revision), and the package carries debug instrumentation gated by the PA_DEBUG_MODE profile option, writing trace messages via PA_DEBUG.write_log and initializing the error stack with PA_DEBUG.set_err_stack. Error and warning messages are surfaced through PA_UTILS.Add_Message, and status values are drawn from the FND_API standard return status constants.

Key Procedures and Functions

  • VALIDATE_APPROVER_ORDERS — Validates the ordered list of approvers held in the public package's global approver table. It ensures at least one approver exists, sorts approvers sequentially, and rejects duplicate ordering. Reuses a bubble-sort routine to arrange records by order.
  • IS_NEW_ASSIGNMENT — Determines whether a given assignment is newly created, a prerequisite for deciding whether approval routing is required.
  • GET_CHANGE_ID — Retrieves the change identifier associated with an assignment or approval record. This is the procedure most commonly targeted by the search term "get_change_id," and it supports callers needing to correlate an approval action with its assignment history entry.
  • GET_LOOKUP_MEANING — Resolves lookup code values to their display meanings, typically for status or action labels.
  • CHECK_APPROVAL_REQUIRED — Evaluates business rules to determine whether an assignment must pass through approval before becoming effective.
  • UPDATE_APPROVAL_STATUS — Writes changes to the approval status of an assignment.
  • GET_NEXT_STATUS_AFTER_ACTION — Computes the resulting approval status following a given approver action (for example, approve, reject, or return).
  • INSERT_INTO_ASSIGNMENT_HISTORY — Inserts an audit record into the assignment history table capturing the status transition.
  • ABORT_ASSIGNMENT_APPROVAL — Terminates an in-flight approval for an assignment, withdrawing it from the workflow.
  • GET_ASMT_AND_ASMT_HISTORY_REC — Fetches the current assignment record together with its corresponding history record for processing.

Tables Accessed

  • PA_PROJECT_ASSIGNMENTS — Core assignment records whose approval status is read and updated.
  • PA_ASSIGNMENTS_HISTORY — Audit trail written by INSERT_INTO_ASSIGNMENT_HISTORY and read by GET_ASMT_AND_ASMT_HISTORY_REC.
  • PA_PROJECT_STATUSES — Project-level status context used in approval decisions.
  • PA_PROJECT_SUBTEAM_PARTIES — Subteam membership data supporting approver determination.
  • PA_WF_PROCESSES — Workflow process linkages for the approval routing.
  • PLITBLM — PL/SQL table messaging utility used for error message assembly.

Usage Notes

This package is invoked indirectly through PA_ASSIGNMENT_APPROVAL_PUB and is referenced by seven other packages. Typical callers include the project team assignment form, assignment approval workflow activities, and any custom code that routes assignment approvals. Direct invocation is discouraged; developers should call the public API instead. Debug tracing can be enabled by setting the PA_DEBUG_MODE profile option to 'Y'.