Search Results g_init_number




Overview

OKL_UBB_INTEGRATION_PUB is a public PL/SQL package in the Oracle E-Business Suite Applications (APPS) schema that provides the external integration surface between Oracle Lease and Finance Management (OLFM) and Oracle Service Contracts. Its stated business purpose is to create a Service Contract that corresponds to a Usage Base Line (UBB) for a given contract. In the leasing domain, a usage-based line carries a baseline consumption quantity and associated pricing; when that baseline becomes effective it must be reflected in Service Contracts so that billing, entitlement, and renewal logic are governed by the same contractual instrument. The package encapsulates that translation and is classified as an API (PUB) object, which signals that it is intended for supported invocation by other modules and by customer extensions rather than being a private implementation detail.

Key Procedures and Functions

The documented public interface consists of a single procedure, CREATE_UBB_CONTRACT. It creates the Service Contract corresponding to the Usage Base Line for a given contract, and it registers errors into the standard message stack rather than printing them directly; the responsibility for rendering error text is explicitly left to the calling module. The procedure accepts the standard Oracle API plumbing parameters (an API version, an initialization flag for the message list, and the return status, message count, and message data out-parameters) together with the identifier of the source contract passed in as p_chr_id and the identifier of the newly created Service Contract returned as x_chr_id, expressed against OKC_K_HEADERS_V.ID. Internally the procedure opens with OKC_API.START_ACTIVITY to create a savepoint, verify API compatibility, and initialize the message list, then checks the returned status and raises OKC_API.G_EXCEPTION_ERROR or OKC_API.G_EXCEPTION_UNEXPECTED_ERROR as appropriate before delegating the substantive work to the private worker OKL_UBB_INTEGRATION_PVT.CREATE_UBB_CONTRACT in its private counterpart package OKL_UBB_INTEGRATION_PVT. The header version string, the constants l_api_name, l_api_version, and G_API_TYPE, and the module-level debug and initialization globals (G_DEBUG, G_INIT_NUMBER) follow the conventions applied throughout the OKC and OKL API families.

Tables Accessed

The documented metadata does not enumerate the base tables touched through APPS synonyms; the only externally visible contract identifier type referenced in the public signature is OKC_K_HEADERS_V.ID, the Service Contracts header view, which anchors both the input lease contract reference and the returned Service Contract reference. Because the actual data manipulation is performed by OKL_UBB_INTEGRATION_PVT, the insert and update operations against the Service Contracts header, line, and usage-baseline structures occur beneath the private layer. Callers should treat the underlying tables as implementation detail and rely solely on the public procedure for data integrity.

Usage Notes

The package is referenced by three other packages, confirming its role as a shared integration entry point rather than a standalone utility. It is typically invoked in the following situations:

  • From OLFM contract lifecycle logic when a usage-based lease is booked or activated and a corresponding Service Contract must be generated for the Usage Base Line.
  • From concurrent programs or workflow activities that mass-create Service Contracts for a batch of usage-based leases.
  • From custom extensions that require the identical Service Contract creation behavior without duplicating internal logic; such code must use the public package, supply a valid p_api_version, inspect x_return_status after every call, and extract messages from the stack via the standard OKC_API message routines before committing. The p_init_msg_list flag controls whether the message list is reset on entry, and the returned x_chr_id should be persisted by the caller as the linkage to the generated Service Contract.

The package is present in both Oracle EBS 12.1.1 and 12.2.2; its behavior is unchanged between those releases, and because it is an APPS-owned published API, direct modification of the package body is not supported.