Search Results oki_disco_util_pub




Overview

The APPS.OKI_DISCO_UTIL_PUB package is a public utility package within the Oracle E-Business Suite (EBS) Service Contracts (OKI/OKC) module. In Oracle EBS 12.1.1 and 12.2.2, the OKI schema family supports the Service Contracts and subscription-based revenue functionality that underpins contract authoring, billing, and revenue recognition.

The suffix _PUB identifies this package as a public API layer within the EBS naming convention: the _PUB package exposes the endorsed, supported entry points, while the corresponding private package (OKI_DISCO_UTIL_PVT) contains the underlying implementation logic. This wrapper pattern isolates callers from internal routines and allows Oracle to modify implementation details without breaking supported invocations.

Functionally, OKI_DISCO_UTIL_PUB provides utility calculations for contract line "disco" (discount, distribution, and contract accounting) processing — specifically date, period, quantity-of-periods, and revenue amount computation used by the Service Contracts revenue engine. The ETRM metadata records the object as VALID in the APPS schema.

Key Procedures and Functions

ETRM documents eight procedures/functions in this package. Each assumes a distinct calculation role in contract revenue processing:

  • GET_NUM_PERIODS — Returns the number of accounting or billing periods between two dates, used to establish the span of a contract line for revenue spreading.
  • GET_ORDER_NUMBER — Retrieves an order number associated with a contract line or source transaction, supporting linkage between the contract and its originating order.
  • GET_PERIOD — Returns the period (typically a period name or identifier) corresponding to a given date, aligning transactions to the correct accounting period.
  • GET_DURATION — Calculates a duration, generally in days or months, for the specified contract or line interval.
  • GET_END_DATE — Derives the end date of a contract, line, or period based on a start date and a duration or number of periods.
  • GET_ANNUALIZED_AMOUNT — Converts a periodic or total contract amount into an annualized figure, supporting comparison and revenue reporting.
  • GET_CUR_MONTH_REV — Returns the current-month revenue amount for a contract line, used in revenue spreading calculations.
  • GET_BACKDATED_REV — Computes revenue attributable to backdated (retroactive) periods, used when a contract is effective earlier than its entry date.

No parameter lists are documented in ETRM; the descriptions above reflect functional intent only, and callers should inspect the package specification for exact signatures.

Tables Accessed

The ETRM excerpt documents no direct table dependencies for OKI_DISCO_UTIL_PUB. Its dependency list references APPS.OKC_API and SYS.STANDARD, indicating the package depends primarily on the OKC (Contracts Core) API layer rather than on base tables directly. Therefore, the utility functions obtain contract data through OKC_API rather than issuing SELECT statements against Service Contracts or contract line tables. Any table access occurs transitively via OKC_API and its own dependencies. This design is common in EBS: the _PUB utility package delegates data retrieval to a shared API, reducing direct coupling to the contract schema.

Usage Notes

OKI_DISCO_UTIL_PUB is referenced by two other packages — OKI_DISCO_UTIL_PUB is listed as self-referencing (a recursive/overloaded entry) and OKI_DISCO_UTIL_PVT and OKI_REFRESH_PVT reference it. OKI_REFRESH_PVT is the service contracts revenue refresh engine, suggesting these utility routines are invoked during the periodic revenue refresh and repricing runs. The package is therefore typically called from:

  • Concurrent programs that refresh or spread contract revenue (e.g., Service Contracts revenue processing).
  • The Service Contracts forms and the private _PVT implementation packages that back them.
  • Custom integrations that need consistent, supported calculations for contract periods, durations, and revenue amounts rather than reimplementing the arithmetic.

Because the public API classification is explicitly documented, customers should call OKI_DISCO_UTIL_PUB rather than OKI_DISCO_UTIL_PVT, ensuring forward compatibility across 12.1.1 and 12.2.2 patch levels.