Search Results set_prsid_grp_holds




Overview

The APPS.IGS_PE_SET_REM_HOLDS package is a component of the Oracle E-Business Suite Student System (formerly Oracle Student System, now part of the Oracle Higher Education product family). It belongs to the IGS_PE module namespace, which covers Person Encumbrance and holds functionality. The package provides the core business logic for applying and releasing group-level holds against person identifier groups, a common administrative requirement in student and constituent management.

Holds (also referred to as encumbrances) are administrative restrictions placed on a person record that prevent or flag specific activities, such as registration, transcript issuance, or graduation clearance. The IGS_PE_SET_REM_HOLDS package automates the mass assignment and removal of such holds across an entire person ID group rather than requiring individual processing. It was authored by Sanil Madathil (Oracle IDC) and first created on 21-SEP-2001, with a significant revision on 07-OCT-2002 (Bug 2600842) that removed the p_authorising_id parameter from both documented procedures.

The package is declared with AUTHID CURRENT_USER, meaning its procedures execute with the privileges of the calling user rather than the package owner. This design choice reinforces the reliance on Oracle EBS responsibility-based security, since the calling context must already possess the appropriate grants to the underlying IGS_PE tables.

Key Procedures and Functions

The package specification exposes two public procedures:

  • SET_PRSID_GRP_HOLDS — Applies a hold of a specified hold type to all persons belonging to a given person identifier group. It accepts a hold type, a person ID group identifier, a start date, a term, and an operating unit (p_org_id), and returns the standard concurrent program error buffer and return code. Its purpose is to create person encumbrance records en masse.
  • REL_PRSID_GRP_HOLDS — Releases (removes) a previously applied hold of a given hold type from all persons in a person identifier group. It extends the setting procedure by accepting an additional expiry date (p_expiry_dt) alongside the start date and term, and likewise returns the standard errbuf/retcode concurrent program interface parameters. Its purpose is to terminate person encumbrances en masse.

Both procedures follow the Oracle concurrent program calling convention: an errbuf OUT NOCOPY VARCHAR2 for error messaging and a retcode OUT NOCOPY NUMBER for completion status. The remaining parameters bind the hold type, group, date range, term, and organization. Per the documented change history, neither procedure accepts an authorising identifier parameter as of the 2002 revision.

Tables Accessed

The package's documented table references, exposed through APPS synonyms, include:

  • IGS_PE_PERS_ENCUMB — the primary person encumbrance table. This is where hold records are inserted by SET_PRSID_GRP_HOLDS and updated or removed by REL_PRSID_GRP_HOLDS. The hold type parameter draws its valid values from the encumbrance_type column of IGS_PE_PERS_ENCUMB_V, the view over this table.
  • IGS_PE_PERSID_GROUP_V — the person identifier group view. Membership in group_id determines which persons are affected by the mass hold operation.
  • HZ_PARTIES — the Trading Community Architecture party registry, used to resolve the person identities associated with a group.
  • HZ_PERSON_PROFILES — the person-specific extension of the party record, providing person-level attributes needed to validate or locate the target individuals.
  • FND_USER and FND_RESPONSIBILITY — the standard Oracle EBS security tables, reflecting the package's reliance on the authenticated application user and responsibility for authorization within the AUTHID CURRENT_USER execution model.

Usage Notes

Because both entry points conform to the errbuf/retcode concurrent program interface, IGS_PE_SET_REM_HOLDS is typically invoked from an Oracle EBS concurrent program and registered accordingly in FND_CONCURRENT_PROGRAMS. An administrator selects a hold type, a person identifier group, relevant dates, and a term, then submits the request; the procedure iterates the group membership and applies or releases the encumbrances in a single batch.

The procedures may also be called directly from custom PL/SQL, form-based triggers, or workflow business event subscriptions, provided the calling schema has EXECUTE privilege on the package and the appropriate table grants, since AUTHID CURRENT_USER bypasses the package owner's privileges. The package is referenced by zero other packages per the documented metadata, so it functions as a leaf-level integration point rather than part of a larger internal call chain. The p_org_id parameter enforces multi-org context, and callers should ensure the correct operating unit is initialized before invocation.