Search Results delete_periods




Overview

APPS.PN_INDEX_RENT_PERIODS_PKG is an Oracle Property Manager (PN) package responsible for generating and maintaining index rent periods for index leases. Index leases are leases whose rent is periodically escalated by a published price index, and the calculation of periodic rent amounts depends on a correctly established sequence of basis periods and term dates. This package encapsulates the business logic that constructs those basis periods, validates that the underlying lease term data is complete, and adjusts generated periods when the lease term, termination date, or payment terms change.

The package header carries a creation date of 27-MAR-2001 and evolved through several bug-driven enhancements. The addition of PROCESS_PAYMENT_TERM_AMENDMENT, the modification of the signature of PROCESS_MAIN_LEASE_TERM_DATE (Bug 4931780), and the introduction of HANDLE_TERM_DATE_CHANGE via Bug 5960582 illustrate that the package is the central maintenance point for term-date-driven recalculation of index rent periods. In EBS 12.1.1 and 12.2.2 the package is owned by APPS and is classified as OTHER in the ETRM repository, meaning it is an internal implementation package rather than a formally published public API.

Key Procedures and Functions

  • GENERATE_PERIODS_BATCH — Concurrent-program entry point. Accepts an index lease number and a regenerate flag, and reports status through the standard errbuf/retcode pair.
  • GENERATE_PERIODS — Core generation routine that builds index rent periods for a single index lease identified by its internal ID.
  • GENERATE_BASIS_DATA_CHECK — Validation routine that verifies the lease data required for basis period generation is present and consistent.
  • PRINT_BASIS_PERIODS — Diagnostic procedure that outputs the basis periods associated with an index lease.
  • UNDO_PERIODS — Reverses previously generated index rent periods for an index lease, typically in preparation for regeneration.
  • DELETE_PERIODS — Removes index rent period records for an index lease.
  • PROCESS_NEW_TERMINATION_DATE — Recomputes index rent periods when a new termination date is applied to the index lease.
  • PROCESS_MAIN_LEASE_TERM_DATE — Propagates changes to the main lease term dates down to the index lease periods; its signature was modified under Bug 4931780.
  • PROCESS_PAYMENT_TERM_AMENDMENT — Handles amendments to payment terms that affect how index rent periods are generated or recalculated.
  • HANDLE_MTM_ACT — Supports mark-to-market activity adjustments affecting index rent period data.
  • HANDLE_TERM_DATE_CHANGE — Added under Bug 5960582, this procedure manages the ripple effect of a term date change across the index rent periods of an index lease, ensuring generated periods remain aligned with the revised lease term.

Tables Accessed

The package operates across the Property Manager lease and payment schema. PN_INDEX_LEASES and PN_INDEX_LEASES_ALL hold the index lease header, while PN_INDEX_LEASE_TERMS_ALL and PN_INDEX_LEASE_PERIODS_ALL are the primary targets for term and period data maintenance. PN_INDEX_LEASE_CONSTRAINTS_ALL and PN_INDEX_EXCLUDE_TERM_ALL provide the exclusion and constraint rules that govern which periods may be generated. The main lease side is represented by PN_LEASES_ALL, PN_LEASE_DETAILS_ALL, PN_LEASE_DETAILS_HISTORY, and PN_LEASE_CHANGES_ALL, which supply term dates and amendment history. Payment information is drawn from PN_PAYMENT_TERMS, PN_PAYMENT_TERMS_ALL, PN_PAYMENT_SCHEDULES_ALL, PN_PAYMENT_ITEMS_ALL, and PN_DISTRIBUTIONS_ALL. The package is referenced by three other packages, confirming its role as an internal dependency rather than a standalone API.

Usage Notes

PN_INDEX_RENT_PERIODS_PKG is invoked primarily from Property Manager forms when users define or amend index leases, and from concurrent programs registered against GENERATE_PERIODS_BATCH for bulk period generation. Term date and termination date changes made in the lease forms trigger the PROCESS_* and HANDLE_* procedures to keep index rent periods synchronized. Custom code should treat this package cautiously: it is not a published API, its procedure signatures have changed historically, and direct invocation bypasses form-level validation. Where customization is required, calling the package through the supported concurrent program or form flow is preferred.