Search Results pvt_debug




Overview

PN_LEASE_PVT is the private implementation package for Oracle Property Manager (also referenced under the EBS Real Estate / Lease Management module) in Oracle E-Business Suite 12.1.1 and 12.2.2. It encapsulates the core business logic that governs the creation, validation, update, and status management of lease records and their associated terms. As a private (PVT) package, it is not intended to be called directly by external consumers through the standard public API surface; instead it is invoked internally by the public lease API layer. The package carries the source header identifier PNLSPVTB.pls and declares a set of package-level constants that fix the operation context, including the package name, the base table name (PN_LEASES_ALL), the responsibility application, responsibility, user, login, and ORG_ID values sourced from FND_GLOBAL and FND_PROFILE. It also defines a comprehensive set of lookup type constants such as PN_LEASE_TYPE, PN_LEASE_CLASS, PN_LEASE_STATUS_TYPE, PN_LEASESTATUS_TYPE, PN_PRORATION_RULE, PN_LEASE_ROLE_TYPE, PN_TENANCY_USAGE_TYPE, and multiple payment, note, and rights lookup types. These constants centralize the reference data used during lease processing, promoting consistency across validation and update operations.

Key Procedures and Functions

The package exposes seven documented procedures and functions, each covering a discrete stage of the lease lifecycle:

  • VALIDATE_LEASE_REC — Performs validation of a lease record prior to persistence, checking that the supplied attributes satisfy the lease business rules.
  • CREATE_LEASE — Inserts a new lease header into the lease tables, applying defaulting and validation logic.
  • UPDATE_LEASE — Modifies an existing lease header record with revised attribute values.
  • CREATE_TERMS — Creates new lease term records associated with a lease, capturing the financial and operational conditions of the agreement.
  • UPDATE_TERMS — Updates existing lease term records when terms are renegotiated or corrected.
  • PVT_DEBUG — Provides internal debug logging and diagnostic output used to trace execution during development or troubleshooting.
  • UPDATE_STATUS — Changes the status of a lease, driving it through its defined lifecycle states.

The naming convention follows the Oracle private API standard, with public wrappers delegating to these implementations.

Tables Accessed

The package operates against a broad set of Property Manager tables accessed through APPS synonyms. The central table is PN_LEASES_ALL, which stores lease headers. Related lease structures include PN_LEASE_CHANGES_ALL (change history), PN_LEASE_MILESTONES_ALL (milestone tracking), PN_OPTIONS_ALL (lease options), PN_RIGHTS_ALL (rights and obligations), PN_TENANCIES_ALL (space occupancy), and PN_PAYMENT_TERMS_ALL and PN_PAY_GROUP_RULES (financial terms and payment grouping). Supporting reference and detail tables include PN_COMPANIES_ALL and PN_COMPANY_SITES_ALL (lessor/company entities), PN_INSURANCE_REQUIREMENTS_ALL, PN_LANDLORD_SERVICES_ALL, PN_NOTE_HEADERS and PN_NOTE_DETAILS (free-form notes), and FND_USER for user context. These tables are read and written in the course of validating, creating, and updating leases and terms.

Usage Notes

PN_LEASE_PVT is typically invoked indirectly through the public Property Manager lease API and from Oracle Forms-based lease entry screens rather than by direct custom calls. Because it is a private package, custom code should call the corresponding public API instead of referencing PN_LEASE_PVT directly. The PVT_DEBUG procedure, which is the object that users frequently search for, is a diagnostic aid intended for tracing internal execution; it is not a business function and should not be relied upon in production integrations. The package is referenced by one other package in the documented metadata, confirming its role as an internal dependency within the Property Manager module. In 12.1.1 and 12.2.2, the header timestamp (120.6.12020000.4) indicates the source line is shared across these releases, so behavior is consistent between both versions.