Search Results oki_disco_util_pvt




Overview

OKI_DISCO_UTIL_PVT is a private PL/SQL package in the APPS schema of Oracle E-Business Suite, classified as a PVT (private) API. It forms the internal implementation layer of the Disco (Discrete/Service Contracts) utility functionality associated with Oracle's OKI module, which supports service contracts and their associated coverage, billing, and revenue recognition logic. The package is designated VALID in both Oracle EBS 12.1.1 and 12.2.2, indicating that it has compiled successfully against the current database release.

The package provides reusable computational utilities that convert raw contract coverage line data into periods, durations, and revenue amounts. These utilities are consumed by the corresponding public package OKI_DISCO_UTIL_PUB rather than being invoked directly by external callers, which is the standard Private/Public pattern for Oracle EBS APIs. In practice, this package encapsulates the date-arithmetic and period-derivation rules that govern how service contract coverage lines are translated into accounting periods and recognized revenue.

Key Procedures and Functions

The package exposes seven documented procedures and functions, each addressing a specific computational need:

  • GET_NUM_PERIODS — Determines the number of accounting periods spanned by a contract coverage line or a given date range, providing the period count needed for allocation and revenue spreading.
  • GET_ORDER_NUMBER — Retrieves the order number associated with the contract or coverage being processed, linking the service contract context back to the originating order.
  • GET_PERIOD — Returns the accounting period corresponding to a supplied date, typically by deriving the period name from GL_PERIODS based on the calendar and period set in use.
  • GET_DURATION — Calculates the duration (in days, periods, or both) of a contract coverage line, supporting proration and mid-period adjustments.
  • GET_ANNUALIZED_AMOUNT — Converts a line amount to an annualized figure, enabling consistent comparison and revenue spreading across contracts of differing lengths.
  • GET_CUR_MONTH_REV — Computes the revenue attributable to the current month for the coverage line, used in periodic revenue recognition.
  • GET_BACKDATED_REV — Computes revenue that must be recognized for periods already elapsed when a coverage line is backdated, ensuring correct catch-up accounting.

Tables Accessed

The package references two documented tables, accessed through APPS synonyms:

  • GL_PERIODS — The General Ledger period definitions table. It is queried to map dates to accounting periods and to establish the period boundaries used by GET_PERIOD, GET_NUM_PERIODS, and the revenue calculations.
  • OKI_COV_PRD_LINES — The service contract coverage period lines table, which stores the period-by-period breakdown of coverage amounts. It supplies the source amounts and dates on which duration, annualization, and current-month and backdated revenue computations operate.

Usage Notes

As a PVT package, OKI_DISCO_UTIL_PVT is not intended for direct invocation by forms, concurrent programs, or customer extensions. The ETRM dependency data confirms this: the package is referenced only by OKI_DISCO_UTIL_PUB and by itself. All external access therefore flows through the public package, which acts as the sanctioned entry point and is responsible for validation, initialization, and error handling before delegating to these private utilities.

Typical invocation occurs during service contract coverage processing — when coverage lines are created, amended, or renewed and revenue must be spread across accounting periods. The utilities return derived values rather than persisting data themselves, so callers remain responsible for any inserts or updates to OKI_COV_PRD_LINES. Because the package depends only on SYS.STANDARD and the two documented tables, it is lightweight and stable across 12.1.1 and 12.2.2, though customers should always route calls through OKI_DISCO_UTIL_PUB to remain supported.