Search Results clear_from_person_list
Overview
HR_SECURITY_INTERNAL is the internal security engine of Oracle Human Resources and Oracle Advanced Benefits/People Management in EBS 12.1.1 and 12.2.2. It implements the row-level security model that governs which people, assignments, organizations, positions, and payrolls a given application user may see or modify. The package is owned by APPS and is classified as OTHER, meaning it is not a published public API; it is a supporting library used by Security Profile forms, list-generation routines, and numerous downstream packages.
The package exposes a set of global user-defined types and constants that encode the security model. Constants such as g_NONE, g_ALL, g_ORG_SEC_ONLY, g_POS_SEC_ONLY, g_PAY_SEC_ONLY, and g_PER_SEC_ONLY classify the scope of a security profile, while debug constants g_NO_DEBUG, g_PIPE, and g_FND_LOG govern diagnostic output. Global PL/SQL collection variables (g_org_tbl, g_pos_tbl, g_pay_tbl, g_per_tbl, and the g_asg_tbl assignment-to-person index) cache accessible identifiers for the duration of a session, so that repeated access checks avoid redundant queries against PER_SECURITY_PROFILES.
Key Procedures and Functions
The package documents 36 procedures and functions. The most prominent is EVALUATE_CUSTOM, the routine the user searched for. Its inline comment block describes it as "Routine to evaluate whether custom restriction is valid for the assignment," with prerequisites requiring a person record to have an assignment, and inputs comprising a custom restriction text (VARCHAR2), an assignment id, and an effective date.
- EVALUATE_CUSTOM — validates a user-defined custom restriction clause against a specific assignment, returning whether that assignment passes the restriction.
- POPULATE_NEW_PAYROLL, POPULATE_NEW_CONTACT, POPULATE_NEW_PERSON — seed newly created payroll, contact, and person records into the relevant security collections.
- CLEAR_FROM_PERSON_LIST, ADD_TO_PERSON_LIST, CLEAR_FROM_PERSON_LIST_CHANGES, RE_ENTER_PERSON_LIST_CHANGES, COPY_TO_PERSON_LIST_CHANGES — manage the incremental person list maintained during security profile processing.
- GRANT_ACCESS_TO_PERSON, REVOKE_ACCESS_FROM_PERSON — explicitly add or remove a person from a user's accessible set.
- GET_ASSIGNMENTS — main retrieval routine returning assignments visible to the current user.
- ORG_ACCESS_KNOWN, POS_ACCESS_KNOWN, PAY_ACCESS_KNOWN, PER_ACCESS_KNOWN — predicate functions testing whether an organization, position, payroll, or person is accessible.
- SHOW_ORGANIZATION, SHOW_POSITION, SHOW_PAYROLL, OP — display/verification helpers used by the security forms.
Tables Accessed
The package reads and writes the core HR security and person tables through APPS synonyms. PER_SECURITY_PROFILES supplies the profile definitions, and PER_ALL_ASSIGNMENTS_F (plus its PERF variant) and PER_ALL_PEOPLE_F supply the assignment and person records being filtered. Organization scope is resolved via HR_ALL_ORGANIZATION_UNITS and PER_ORGANIZATION_LIST; position scope via HR_ALL_POSITIONS_F; payroll scope via PAY_ALL_PAYROLLS_F, PAY_PAYROLL_LIST, and PAY_SECURITY_PAYROLLS. FND_USER identifies the executing user, PER_APPLICATIONS links users to applications, and PER_ASSIGNMENT_LIST and PER_CONTACT_RELATIONSHIPS support list and relationship processing. IRC_REC_TEAM_MEMBERS supports recruiting team visibility.
Usage Notes
HR_SECURITY_INTERNAL is invoked indirectly rather than by end users. It is called from Oracle Forms-based Security Profile and People Management screens, from concurrent programs that generate password/security lists, and by 24 other PL/SQL packages that depend on it for access decisions. Customization should not call it directly where a supported API exists; EVALUATE_CUSTOM, however, is frequently referenced by custom code that must reproduce the security engine's handling of user-defined restriction text. Because global collections are session-scoped, the package assumes a consistent effective date and user context throughout a session.