Search Results hr_semiyear




Overview

APPS.HRICV_HR_SEMIYEAR is a read-only Oracle EBS view that generates a rolling list of semi-annual period definitions based on the HR_SEMIYEAR period set. It belongs to the Oracle HRMS period-generation family of "HRICV_" views (HR Information Calendar Views) and is shipped as part of the HR foundation schema. Rather than storing period rows in a physical table, the view synthesizes them at query time by row-multiplying the HR_LOOKUPS view, adding successive six-month offsets to the first day of the current year. The result is a virtual calendar spanning approximately one hundred years, centered on the current date, that downstream HRMS date-tracking logic can consume without requiring the HR_SEMIYEAR period set to be explicitly maintained in physical tables.

Because the view is declared WITH READ ONLY, it is strictly a query surface. It exposes metadata akin to a period-set definition (period name, start date, end date, period number in year, period year) and is commonly employed in period-to-date reporting, payroll/benefit accrual windows, and any integration that must resolve a semi-annual boundary dynamically.

Underlying Base Objects

Per the documented ETRM metadata, the view is defined over two referenced base objects: HR_LOOKUPS (VIEW) and HR_API (PACKAGE). The view text reveals that HR_LOOKUPS is used purely as a row source — the query selects from HR_LOOKUPS and applies ROWNUM arithmetic to generate one candidate date per row, then caps the output at 200 rows (WHERE ROWNUM <= 200), yielding roughly ±50 years of semi-annual periods (100 years total). No columns from HR_LOOKUPS are projected; it serves as a convenient, always-populated row generator.

HR_API is listed as referenced metadata, reflecting the HRMS convention that period-set views are documented alongside the HR_API package, which contains the PL/SQL APIs used to create and maintain period sets such as HR_SEMIYEAR. The view itself calls no HR_API function in its SELECT text; the dependency is architectural rather than inline.

Key Columns

  • ID — the period start date formatted as 'YYYY-MM-DD', serving as a unique identifier for each generated semi-annual period.
  • VALUE — the raw DATE value of the period start, useful for date comparisons and joins.
  • PERIOD_SET_NAME — a constant literal 'HR_SEMIYEAR', identifying the period set to which each row belongs.
  • PERIOD_NAME — the start date rendered as 'YYYY-MON-DD' concatenated with a suffix of the form ' (SYn)', where n is the period number within the year (1 or 2 for semi-annual).
  • START_DATE — the period start date (same as VALUE).
  • END_DATE — computed as ADD_MONTHS(START_DATE, 6) - 1, i.e., the last day of the six-month window.
  • PERIOD_NO_IN_YEAR — the semi-annual sequence number within the calendar year, derived from MONTHS_BETWEEN against the year start, divided by 6 plus 1 (typically 1 or 2).
  • PERIOD_YEAR — the calendar year of the period start, obtained via TRUNC(date,'YYYY').
  • ORGANIZATION_ID / ORGANIZATION_TYPE — exposed as NULL (TO_CHAR(NULL)), reflecting that this period set is not organization-specific.

Common Use Cases and Queries

Typical usage includes resolving the semi-annual period that contains a given date, reporting balances by semi-annual window, and populating date-tracked HRMS entities. A representative query to list the current year's semi-annual periods is:

SELECT id, period_name, start_date, end_date, period_no_in_year FROM apps.hricv_hr_semiyear WHERE period_year = TRUNC(SYSDATE,'YYYY') ORDER BY start_date;

To find the period covering today:

SELECT period_name, start_date, end_date FROM apps.hricv_hr_semiyear WHERE TRUNC(SYSDATE) BETWEEN start_date AND end_date;

These patterns make the view valuable where semi-annual reporting or accrual boundaries must be derived dynamically without maintaining a persisted period set.