Results for “per_positions”

50+ results




AI-generated from documented ETRM metadata — verify critical details on the linked pages.

Overview

PER_POSITIONS is a secure, language-aware view in the APPS schema owned by the Oracle Human Resources (PER) product module. It presents position records for reporting and integration purposes, exposing business group-scoped data through an Oracle E-Business Suite security model. The view is defined as a secure view based on the corresponding _ALL_ table, meaning that row-level access is filtered according to the responsibilities and security profiles assigned to the querying user. This differs from the underlying PER_ALL_POSITIONS table, which returns all rows regardless of security context.

PER_POSITIONS is available in both Oracle EBS 12.1.1 and 12.2.2 environments and holds a status of VALID. It is intended for direct querying in reports, interfaces, and custom extensions where position data is required subject to the caller's HR security profile.

Underlying Base Objects

The view is defined over two principal base objects, joined with supporting security and utility packages:

  • PER_ALL_POSITIONS (SYNONYM) — the base transactional table holding all position rows across business groups, aliased in the view text as PAP.
  • HR_ALL_POSITIONS_F_TL (SYNONYM) — the translated (language) table supplying the position NAME, aliased as PFT and joined on POSITION_ID and the session language.
  • HR_SECURITY (PACKAGE) — supplies VIEW_ALL and SHOW_RECORD, which enforce record-level security.
  • HR_GENERAL (PACKAGE) — supplies GET_XBG_PROFILE and GET_BUSINESS_GROUP_ID, used to filter rows to the current business group unless cross-business-group (XBG) access is enabled.

The join conditions restrict results to positions the user may see, to the active or accessible business group, and to the translation matching USERENV('LANG').

Key Columns

The view exposes the full column set of PER_ALL_POSITIONS plus the translated NAME. Notable columns include:

Common Use Cases and Queries

PER_POSITIONS is commonly used in position listing reports, headcount analysis, and integrations that must respect HR security. A basic query returns positions visible to the current user within the permitted business group:

  • List positions by organization: SELECT position_id, name, organization_id, status FROM per_positions WHERE organization_id = :org_id;
  • Retrieve effective positions: SELECT position_id, name, date_effective, date_end FROM per_positions WHERE SYSDATE BETWEEN date_effective AND NVL(date_end, SYSDATE + 1);
  • Filter by status: SELECT position_id, name FROM per_positions WHERE status = 'ACTIVE';

Because security predicates are embedded, no explicit business group filter is required; the view automatically scopes rows. Queries should not be rewritten against PER_ALL_POSITIONS unless unrestricted access is intentionally required, as doing so bypasses the security model.