Search Results igs_as_exam_instance_pkg




Overview

IGS_AS_EXAM_INSTANCE_PKG is an Oracle E-Business Suite PL/SQL package owned by the APPS schema, classified under the IGS (Institution of Higher Education / Student Systems) product family. Its naming convention, prefixed with IGS_AS, associates it with the Assessments subsystem, which governs the recording, scheduling, and processing of student examinations within Oracle Student Systems.

The package functions as a table-handling API (a TAPI-style wrapper) for the IGS_AS_EXAM_INSTANCE_ALL entity. This entity represents a discrete exam instance, that is, the occurrence of an examination tied to an assessment item, an exam session, a venue, and a person. Because the package encapsulates the insert, update, delete, and locking logic for this entity, it is the prescribed programmatic gateway for any process that creates or maintains exam instance records. The metadata confirms the object status as VALID in the ETRM 12.1.1 repository and classifies the API as OTHER rather than a public or private business API, indicating it is intended primarily for internal consumption by the Assessments subsystem and its dependent packages.

Key Procedures and Functions

The ETRM metadata documents thirteen procedures and functions. The core transactional procedures are ADD_ROW, INSERT_ROW, UPDATE_ROW, and DELETE_ROW, which together implement the standard create, modify, and remove operations against the exam instance entity, applying the subsystem's validation and defaulting rules. LOCK_ROW provides explicit row-level locking, typically invoked to prevent concurrent modification before an update is applied.

Supporting routines include GET_PK_FOR_VALIDATION, which resolves or verifies primary key values during validation; CHECK_CONSTRAINTS, which enforces entity-level integrity rules; and BEFORE_DML, the standard pre-DML hook that centralises WHO-column population, row versioning, and derived attribute defaults. Several foreign key accessors are also documented: GET_FK_IGS_AS_ASSESSMNT_ITM, GET_FK_IGS_AS_EXAM_SESSION, GET_FK_IGS_PE_PERSON, and GET_FK_IGS_GR_VENUE. These return the surrogate key values of the parent assessment item, exam session, person, and venue records respectively. GET_UFK_IGS_AS_EXAM_SESSION resolves the user-facing (unique) key of the exam session rather than its internal identifier. No parameter signatures are published in the metadata, and none should be assumed.

Tables Accessed

The single documented table referenced by this package is IGS_AS_EXAM_INSTANCE_ALL, accessed through an APPS synonym. This is the base table that stores exam instance records, and all DML operations described above are directed at it. The foreign key accessor routines implicitly depend on the parent entities defined for the exam instance: assessment items, exam sessions, person records, and venue records. The dependency listing records references to SYS.STANDARD only, which confirms that the package body relies on standard PL/SQL built-ins rather than additional application tables at the level captured in the ETRM extract.

Usage Notes

The package is referenced by five other IGS packages: IGS_AS_ASSESSMNT_ITM_PKG, IGS_AS_EXAM_SESSION_PKG, IGS_AS_EXM_INS_SPVSR_PKG, IGS_AS_STD_EXM_INSTN_PKG, and IGS_GR_VENUE_PKG. This dependency pattern confirms that it is invoked internally by the Assessments and Graduation subsystems rather than by end users directly. Typical invocation points include Oracle Forms based maintenance of exam instances, concurrent programs that generate seating or scheduling data, and any custom code that must insert exam instance rows while respecting the same validation and defaulting logic used by the standard product. Custom extensions should always call INSERT_ROW, UPDATE_ROW, and DELETE_ROW instead of issuing direct DML against IGS_AS_EXAM_INSTANCE_ALL, so that CHECK_CONSTRAINTS and BEFORE_DML processing remain in force. Callers performing multi-step updates should pair LOCK_ROW with UPDATE_ROW to preserve concurrency control. Because the API is classified as OTHER, its interfaces are not guaranteed stable across releases and should be referenced with appropriate caution during upgrades from 12.1.1 to 12.2.2.