Search Results psb_concurrency_control_pub
Overview
PSB_CONCURRENCY_CONTROL_PUB is a public PL/SQL package in the APPS schema that provides the application programming interface for enforcing concurrency control within Oracle E-Business Suite. It belongs to the PSB (Public Sector / Human Resources and payroll-related) product family and is classified as a PUB API, meaning it is intended for supported external invocation rather than internal-only use. Its business purpose is to prevent conflicting concurrent operations from acting on the same maintenance or business entity simultaneously, thereby protecting transactional integrity and preventing lost updates or deadlock conditions.
The package body follows the standard Oracle EBS PLS API pattern: it validates API compatibility, optionally initializes the FND message list, delegates business logic to a private package (PSB_CONCURRENCY_CONTROL_PVT), and performs standard message count and retrieval before returning a status code to the caller. This separation of public wrapper from private implementation is consistent with Oracle's recommended API layering.
Key Procedures and Functions
The package exposes two documented procedures:
- ENFORCE_CONCURRENCY_CONTROL — Requests and validates a concurrency lock for a specified entity. The body excerpt shows it accepts an API version, initialization flag, validation level, and a concurrency class (defaulting to 'MAINTENANCE'), along with a concurrency entity name and entity ID. It performs the standard FND_API.Compatible_API_Call check, raises G_EXC_UNEXPECTED_ERROR on incompatibility, initializes the message stack when requested, then delegates to the private package and returns message count and data. Return status is propagated through the standard FND_API return codes.
- RELEASE_CONCURRENCY_CONTROL — The counterpart operation that releases a previously enforced concurrency lock for a given entity. This is the procedure targeted by the user search term "release_concurrency_control." It allows callers to explicitly free the concurrency reservation once processing of the entity is complete, avoiding stale locks that would otherwise block subsequent maintenance operations.
Both procedures use NOCOPY OUT parameters for status, count, and message data, consistent with the performance guidance for 11g and later database releases.
Tables Accessed
The documented metadata does not enumerate specific tables referenced through APPS synonyms. Based on the concurrency control pattern, the underlying private package would typically interact with concurrency-control and entity-locking infrastructure tables to record the active lock holder, the concurrency class, and the entity identifier. Because the public package body simply wraps the private package, the table access is performed indirectly through PSB_CONCURRENCY_CONTROL_PVT rather than from the public layer itself. Consumers should not assume a direct dependency on any specific base table from the public entry points.
Usage Notes
This package is the supported integration point for external callers — Oracle Forms, concurrent programs, OAF pages, or custom PL/SQL — that need to serialize work against a maintenance entity. The standard invocation sequence is to call ENFORCE_CONCURRENCY_CONTROL before starting the protected operation and RELEASE_CONCURRENCY_CONTROL when it finishes, including in exception handlers to guarantee the lock is freed.
Callers should check p_return_status against FND_API constants (G_RET_STS_SUCCESS, G_RET_STS_ERROR, G_RET_STS_UNEXP_ERROR) and inspect p_msg_count and p_msg_data for diagnostics. The metadata records that this package is referenced by four other packages, indicating it is a shared utility within the PSB product family. No changes to the concurrency class default of 'MAINTENANCE' should be made without confirming the private package supports the alternate class values. The header revision (120.2, dated 2005) indicates the interface has been stable across 11i and R12 releases, including 12.1.1 and 12.2.2.
-
PACKAGE BODY: APPS.PSB_CONCURRENCY_CONTROL_PUB
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PSB_CONCURRENCY_CONTROL_PUB, status:VALID,
-
PACKAGE: APPS.PSB_CONCURRENCY_CONTROL_PUB
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PSB_CONCURRENCY_CONTROL_PUB, status:VALID,
-
PACKAGE BODY: APPS.PSB_CONCURRENCY_CONTROL_PUB
12.1.1
-
PACKAGE: APPS.PSB_CONCURRENCY_CONTROL_PVT
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PSB_CONCURRENCY_CONTROL_PVT, status:VALID,
-
PACKAGE BODY: APPS.PSB_CREATE_BR_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PSB_CREATE_BR_PVT, status:VALID,
-
PACKAGE BODY: APPS.PSB_LD_POS_DEFAULTS_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PSB_LD_POS_DEFAULTS_PVT, status:VALID,
-
PACKAGE BODY: APPS.PSB_WS_ACCT_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PSB_WS_ACCT_PVT, status:VALID,
-
PACKAGE BODY: APPS.PSB_WS_OPS_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PSB_WS_OPS_PVT, status:VALID,
-
PACKAGE: APPS.PSB_CONCURRENCY_CONTROL_PUB
12.1.1
-
12.1.1 DBA Data
12.1.1
-
12.1.1 DBA Data
12.1.1
-
APPS.PSB_CONCURRENCY_CONTROL_PUB dependencies on PSB_CONCURRENCY_CONTROL_PUB
12.1.1
-
APPS.PSB_LD_POS_DEFAULTS_PVT dependencies on PSB_CONCURRENCY_CONTROL_PUB
12.1.1
-
APPS.PSB_WS_ACCT_PVT dependencies on PSB_CONCURRENCY_CONTROL_PUB
12.1.1
-
APPS.PSB_CREATE_BR_PVT dependencies on PSB_CONCURRENCY_CONTROL_PUB
12.1.1
-
APPS.PSB_WS_OPS_PVT dependencies on PSB_CONCURRENCY_CONTROL_PUB
12.1.1
-
PACKAGE: APPS.FND_MSG_PUB
12.1.1
owner:APPS, object_type:PACKAGE, object_name:FND_MSG_PUB, status:VALID,
-
PACKAGE: APPS.FND_API
12.1.1
owner:APPS, object_type:PACKAGE, object_name:FND_API, status:VALID,
-
12.1.1 DBA Data
12.1.1
-
12.1.1 DBA Data
12.1.1
-
PACKAGE: SYS.STANDARD
12.1.1
owner:SYS, object_type:PACKAGE, object_name:STANDARD, status:VALID,