Search Results apply_ppd




Overview

OKL_PROCESS_PPD_PVT is a private PL/SQL package in the Oracle E-Business Suite Lease and Finance Management (formerly Oracle Leasing) module, owned by the APPS schema. The package supports the processing of "PPD" (Periodic Payment Distribution / payment-related lease adjustments) within the OKL (Lease Contracts) subsystem. Its documented API classification is PVT (private), indicating that it is an internal helper package rather than a public, supported API intended for direct customer invocation. The header declares AUTHID CURRENT_USER, so the package executes with the privileges of the invoking user rather than the definer, which is a standard pattern for internal EBS processing units.

The package exposes a single global constant and a single documented procedure. The constant, G_UNEXPECTED_ERROR, is the gateway to the user's search term. It is defined as VARCHAR2(1000) := 'OKL_UNEXPECTED_ERROR' — this is the literal message text that propagates through the API's exception handling whenever an unhandled or unexpected condition occurs during PPD processing. When this message surfaces, it signals that OKL_PROCESS_PPD_PVT encountered an error that was not anticipated by its explicit exception handlers, and the underlying cause must be traced through the call stack.

Key Procedures and Functions

The package documents one procedure:

  • apply_ppd — The core processing routine for applying a PPD amount to a lease or contract context. Its signature accepts a standard EBS API envelope of parameters (API version, initialization message list indicator, and the x_return_status / x_msg_count / x_msg_data output trio used by Oracle's API error-handling convention). It additionally takes a contract/header identifier (p_chr_id), a collection of lease-level records (p_kle_tbl), a transaction occurrence date, the PPD amount, a PPD reason code sourced from FND_LOOKUPS, a payment stream collection, and a PPD transaction ID. This parameter surface confirms that apply_ppd is responsible for posting and distributing a periodic payment adjustment across the affected contract lines and payment streams.

No public functions are documented for this package, consistent with its PVT classification.

Tables Accessed

Per documented metadata, the package references the following underlying objects through APPS synonyms:

  • OKL_TRX_CONTRACTS — The lease transaction contracts table. The procedure's p_transaction_date parameter matches the column DATE_TRANSACTION_OCCURRED in this table, indicating the package reads and/or writes transaction contract records to anchor the PPD to the correct transaction date and contract.
  • PLITBLM — A standard EBS temporary/PL-SQL table (PL/SQL Index-by Table storage) used internally to stage or buffer collection data during processing, particularly for the lease and payment-stream table types passed into the procedure.

The procedure also receives rich collection types defined in OKL_MASS_REBOOK_PVT (kle_tbl_type, strm_lalevl_tbl_type) and derives its reason code from FND_LOOKUPS, reinforcing its dependency on the broader OKL mass-rebook infrastructure.

Usage Notes

Because OKL_PROCESS_PPD_PVT is a private package (PVT), it is not intended for direct invocation from custom code, concurrent programs, or forms. It is invoked internally by public OKL APIs and mass-rebook processing flows — metadata confirms it is referenced by one other package. Typical invocation occurs during PPD application and mass rebooking operations, where a public wrapper validates inputs and then delegates to apply_ppd.

When OKL_UNEXPECTED_ERROR is raised, the practical troubleshooting path is to enable FND debug/logging, inspect the x_msg_data returned by the calling public API, and verify that the contract ID, transaction date, reason code, and collection contents passed to apply_ppd are consistent with the underlying contract and transaction records. Because the constant is a package-level literal, the message alone rarely identifies the root cause; the caller's message stack and the transaction/contract data state must be examined.