Search Results check_delete_project_ok




Overview

PON_PROJECTS_INTEGRATION_GRP is a public PL/SQL package owned by the APPS schema in Oracle E-Business Suite, shipped with the Oracle Sourcing (PON) application family. Declared with AUTHID CURRENT_USER, the package executes with the privileges of the calling session rather than the definer, which is the expected pattern for integration APIs that must respect the caller's security context. The package exposes a single, narrowly scoped entry point and serves as the integration surface between Oracle Sourcing and Oracle Projects.

Its business purpose is referential-integrity enforcement. When a user attempts to delete a project in Oracle Projects, Oracle Projects must first determine whether that project is still referenced by any sourcing activity — including auctions, auction lines, and auction-related payments. The package provides that verification so that Projects can block the deletion of projects that would otherwise orphan sourcing transactions. The header comment, dated 2005 with version 120.0, identifies this as an original 11i-era component carried forward unchanged into Release 12.1.1 and 12.2.2.

Key Procedures and Functions

The documented API surface consists of one procedure:

  • CHECK_DELETE_PROJECT_OK — Validates whether a given project is referenced in any auction header, auction line, or auction payment. It accepts an API version, an initialization-of-message-list flag, and the project identifier to be checked. It returns the standard Oracle API return status (success, error, or unexpected error), a message count, and the first message from the message stack. The procedure is invoked by Oracle Projects prior to the deletion of a project. Because it is a check rather than a mutation, it performs no DML; it is a read-only validation routine, and callers are expected to inspect x_return_status and the associated message stack before proceeding with the delete.

Tables Accessed

The package references four objects through APPS synonyms:

  • PON_AUCTION_HEADERS_ALL — examined to detect whether the project is associated with an auction header, typically through the project or task reference columns used for cost and funding defaults.
  • PON_AUCTION_ITEM_PRICES_ALL — examined for auction line-level associations, so that a project referenced only on a single auction line is still detected.
  • PON_AUC_PAYMENTS_SHIPMENTS — examined for auction payment and shipment records tied to the project.
  • DUAL — used as the standard PL/SQL select source, consistent with the package returning a status code and message stack rather than a result set.

All access is read-only; the procedure exists to confirm the existence of references, not to remove them.

Usage Notes

CHECK_DELETE_PROJECT_OK is an internal integration hook rather than an end-user-facing API. It is called by Oracle Projects at delete time — the standard cross-application pattern in which a dependency check is delegated to the owning application's group package. Because the ETRM metadata records the package as being referenced by one other package, callers should treat the signature as stable: Oracle Projects invokes it directly, and any change to out-parameter semantics could affect that caller.

Custom code should invoke the procedure only when it needs to reproduce Oracle Projects' pre-delete validation, for example in custom purge or data-migration routines. Callers must pass a valid API version and initialize the message list as needed, then inspect x_return_status: a success status indicates the project is free of sourcing references, while an error status indicates at least one auction header, line, or payment still references it. Because the routine is read-only and inexpensive, it can be called repeatedly without side effects, but it should not be relied upon as a locking mechanism — concurrent sourcing activity could create a new reference after the check completes.