Search Results get_period_mask_start




Overview

PA_DISPLAY_PERIOD_MASKS is an internal PL/SQL package in the APPS schema that supports the Oracle Projects (PA) period-mask display framework. A period mask defines a relative set of accounting periods arranged around an "anchor" period, allowing Oracle Projects to present project and budget data across before-anchor, anchor, and after-anchor time buckets. The package translates period masks stored in PA_PERIOD_MASK_DETAILS into concrete GL period spans, so that reporting and inquiry forms can display the correct period sequence for a given planning period, period set, and time-phasing configuration.

The package is classified as OTHER in the ETRM metadata, indicating that it is not a published public API. It is a supporting internal utility invoked by other Oracle Projects code rather than being called directly by end users or external integrations. Its $Header comment (PAFPPMKS.pls 120.0) reflects an early-2000s vintage that has been carried forward through EBS 12.1.1 and 12.2.2.

Key Procedures and Functions

The package exposes 14 documented procedures and functions. The core retrieval functions resolve mask boundaries:

  • GET_PERIODS — The primary driver that populates a PL/SQL table with period records, assembling before-anchor and after-anchor periods from GL_PERIODS based on mask start and end values.
  • GET_CURRENT_PERIOD_START_DATE — Returns the start date of the current planning period; it requires the current planning period, period set name, time phase code, and either the accounted period type (for GL) or the PA period type (for PA).
  • GET_PERIOD_MASK_START — Returns the minimum from-anchor-start value from PA_PERIOD_MASK_DETAILS, excluding the sentinel values -99999 and 99999 that flag preceding and succeeding buckets.
  • GET_PERIOD_MASK_END — Returns the maximum from-anchor-end value, applying the same sentinel exclusion.
  • GET_MIN_START_PERIOD / GET_MAX_END_PERIOD — Resolve the earliest and latest period identifiers covered by a mask.
  • GET_MIN_START_DATE / GET_MAX_END_DATE — Return the corresponding earliest start date and latest end date for the resolved period span.
  • START_PERIOD / END_PERIOD — Provide the boundary period values for the active mask.
  • START_DATE / END_DATE — Provide the boundary dates associated with the mask.
  • DISPLAY_NAME — Returns a formatted display label for a period, used by the UI layer.
  • UPDATE_CURRENT_PP — Updates the current planning period, maintaining state used by the mask resolution logic.

The package maintains global package variables including g_preceeding_end, g_suceeding_start, g_period_mask_id, g_get_mask_start, and g_get_mask_end to cache mask context across calls within a session.

Tables Accessed

All tables are referenced through APPS synonyms and are read-only inputs, with the exception of planning-period state:

  • PA_PERIOD_MASK_DETAILS — The primary source of mask definitions, including from_anchor_start and from_anchor_end offsets that determine bucket boundaries.
  • GL_PERIODS — Supplies concrete period names and dates used to populate the PL/SQL table during mask expansion.
  • GL_SETS_OF_BOOKS — Provides the period set name and accounted period type for GL-based masks.
  • PA_BUDGET_VERSIONS — Supplies the current planning period for budget-related mask resolution.
  • PA_IMPLEMENTATIONS_ALL — Provides the PA period type used when resolving PA-based masks.
  • PA_PROJ_FP_OPTIONS — Supplies the cost time-phased code that shapes which periods are returned.
  • PA_PROJECTS_ALL, PA_RESOURCE_ASSIGNMENTS — Provide project and resource context for mask usage.
  • PLITBLM — The PL/SQL table type used to return the assembled period collection.

Usage Notes

PA_DISPLAY_PERIOD_MASKS is invoked internally by Oracle Projects inquiry and reporting forms, and by concurrent programs that render period-mask-based layouts. It is not a documented public API and is not referenced by any other package according to ETRM metadata. Custom code should not depend directly on this package, since its 14 procedures carry no committed interface guarantee across releases. The "-99999" and "99999" sentinel values in PA_PERIOD_MASK_DETAILS indicate relative preceding and succeeding buckets and must be excluded when computing absolute mask boundaries — behavior that GET_PERIOD_MASK_START and GET_PERIOD_MASK_END already enforce.