Search Results del_all_unwanted_sec_prof
Overview
APPS.PER_DELETE_UNWANTED_SEC_PROF is a housekeeping and administrative utility package in the Oracle E-Business Suite Human Resources (PER) product. Its purpose is to identify and remove orphaned or obsolete security profiles held in the PER_SECURITY_PROFILES table, together with the dependent assignments and any associated list-based definition rows that they reference. Security profiles are the central bridge between users, responsibilities, and the data-securing constructs of Oracle HRMS — organizations, positions, payrolls, people, and person lists. Over time, reorganizations, terminated implementations, test-to-production copies, and ad hoc profile creation leave behind profiles that are no longer assigned to any responsibility or user. These records degrade the performance of the security profile assignment forms and can produce confusing selections in the security profile lists. The package exists to let an administrator detect and clean up such records in a controlled manner. It is classified as a package of type OTHER under the APPS schema and is not referenced by any other database package, meaning it is invoked directly rather than as part of a larger programmatic call chain. The package is declared AUTHID CURRENT_USER, so it executes with the privileges of the invoking user rather than as a definer-rights object.
Key Procedures and Functions
- CONCURRENT_PROCESS — The concurrent program entry point. It follows the standard concurrent manager interface conventions, accepting the OUT error buffer and return code used by the concurrent manager to determine request completion status. It additionally accepts parameters that control whether a report of candidates is produced, whether all unwanted profiles should be processed, and the name of a specific security profile to target. This is the public interface most commonly associated with the "concurrent_process" search term.
- SHOW_UNWANTED_SEC_PROF — Diagnostic procedure that reports the security profiles classified as unwanted. It is used to review candidates before deletion.
- DEL_SEC_PROF — Deletes a single security profile identified by its security profile name or ID, with a flag determining whether a strong (forced/cascading) delete is performed.
- STRONG_DELETE_SEC_PROF — Performs the forced deletion path for a single profile, removing the profile and its dependent definition rows where a normal delete would be blocked by referential integrity.
- DEL_ALL_UNWANTED_SEC_PROF — Bulk cleanup procedure that removes all profiles classified as unwanted, with a strong-delete flag. It exists primarily for scripted or scheduled maintenance.
- CHECK_UNWANTED_SEC_PROF — Boolean-style function returning a flag indicating whether a given security profile is unwanted. It is the internal predicate on which the reporting and deletion procedures operate.
Tables Accessed
PER_SECURITY_PROFILES is the primary table read and written, holding the security profile header rows. PER_SEC_PROFILE_ASSIGNMENTS, PER_SECURITY_ORGANIZATIONS, and PER_SECURITY_USERS store the profile-to-entity assignments and are inspected to determine whether a profile is still in use. FND_RESPONSIBILITY and FND_USER are checked for remaining assignments to responsibilities and users, since a profile still referenced there must not be deleted. The profile definition rows held via APPS synonyms in FND_PROFILE_OPTIONS and FND_PROFILE_OPTION_VALUES, and the list definition tables PER_ORGANIZATION_LIST, PER_POSITION_LIST, PER_PERSON_LIST, PER_PERSON_LIST_CHANGES, PER_ASSIGNMENT_LIST, PAY_PAYROLL_LIST, and PAY_SECURITY_PAYROLLS, are examined and, on strong delete, purged together with the profile.
Usage Notes
The package is normally invoked through a concurrent program registered against CONCURRENT_PROCESS, with parameters used to run in report-only mode, to target one named profile, or to process all unwanted profiles. Manual remediation of an individual orphan is performed by calling DEL_SEC_PROF or STRONG_DELETE_SEC_PROF directly from SQL*Plus or a custom script, after confirmation via SHOW_UNWANTED_SEC_PROF or CHECK_UNWANTED_SEC_PROF. Because a strong delete removes assignment and list rows irreversibly, it should be preceded by a full database backup or schema-level export, and executed only when no responsibility or user assignment remains. No outbound package dependencies are recorded, so the package can be called safely from ad hoc administrative code.
-
PACKAGE: APPS.PER_DELETE_UNWANTED_SEC_PROF
12.2.2
-
PACKAGE BODY: APPS.PER_DELETE_UNWANTED_SEC_PROF
12.2.2
-
APPS.PER_DELETE_UNWANTED_SEC_PROF SQL Statements
12.2.2
-
APPS.PER_DELETE_UNWANTED_SEC_PROF dependencies on PER_SECURITY_PROFILES
12.2.2
-
APPS.PER_DELETE_UNWANTED_SEC_PROF dependencies on HR_UTILITY
12.2.2
-
APPS.PER_DELETE_UNWANTED_SEC_PROF dependencies on FND_FILE
12.2.2
-
APPS.PER_DELETE_UNWANTED_SEC_PROF dependencies on PER_SECURITY_PROFILES
12.2.2