Search Results get_class_standing




Overview

The APPS.IGS_PR_GET_CLASS_STD package is a student information system utility within the Oracle E-Business Suite higher education (IGS) product family. Its singular business purpose is to determine the class standing of a student — for example, freshman, sophomore, junior, senior, or an institution-defined equivalent — based on a combination of the student's person identifier, course, effective date, and enrollment load data. Class standing is a fundamental academic construct used throughout student records processing, governing eligibility for courses, tuition and fee tiers, financial aid awards, and academic progress evaluation. The package exposes a single documented public function, GET_CLASS_STANDING, and is declared with AUTHID CURRENT_USER, meaning it executes with the privileges of the invoking schema rather than the defining schema.

Because the package is referenced by sixteen other packages and is classified as an API (OTHER) object in the ETRM repository, it functions as a shared service component rather than as an end-user-facing program. Its source header identifies it as IGSPR28S.pls, version 115.3, last modified in October 2003, placing it among the older, stable elements of the IGS code base that continue to operate across both the 12.1.1 and 12.2.2 releases.

Key Procedures and Functions

The package documents exactly one callable program unit:

  • Get_Class_Standing — Returns a VARCHAR2 value representing the calculated class standing for a given student in a given course context. It accepts parameters identifying the person, the course, a predictive indicator (defaulting to 'N'), an effective date, a load calendar type, and a load calendar instance sequence number. A further parameter, p_init_msg_list, defaults to FND_API.G_FALSE and controls whether the PL/SQL message stack is initialized on entry. The function is defined with IN-mode parameters only and performs no direct DML against the caller's behalf, returning its result through the function return value.

Notably, the version history within the source records a behavioral change made to support Oracle Bug #3163305: the message stack is no longer initialized centrally, and the p_init_msg_list parameter was added to Get_Class_Standing so that invoking programs retain control over message handling. This makes the function composable within larger transaction flows where message-stack state must be preserved.

Tables Accessed

The ETRM metadata lists six tables accessed through APPS synonyms, reflecting the configuration-driven nature of the calculation:

  • IGS_PR_CLASS_STD — The primary class-standing definition table, holding the institution's standing rules and resulting values.
  • IGS_PR_CSS_CLASS_STD — Associates class-standing definitions with specific student or course contexts.
  • IGS_PR_CS_SCHDL — Schedules the applicability of class-standing rules over time.
  • IGS_CA_INST_REL — Calendar instance relationships, used to resolve the effective calendar context.
  • IGS_CA_TYPE — Calendar type definitions, corresponding to the load calendar type parameter.
  • IGS_EN_SPA_TERMS — Term-level enrollment or study period attributes that inform the standing determination.

The package reads from all six tables; the metadata identifies no writes, consistent with a read-only lookup and calculation function.

Usage Notes

IGS_PR_GET_CLASS_STD is a server-side utility invoked primarily by other PL/SQL packages rather than directly by users. The sixteen dependent packages indicate that callers include enrollment, progression, fee calculation, and academic standing processes that require a student's standing as an input. It may also be called from Oracle Forms-based student maintenance screens or from custom code where a standing value must be derived at runtime.

Developers invoking the function should be aware of three considerations. First, because the package is AUTHID CURRENT_USER, the calling schema must possess the necessary privileges on the underlying IGS tables and synonyms. Second, an effective date must be supplied so that the correct time-bound rule set is selected. Third, callers should manage the message stack explicitly through p_init_msg_list, since the function will not initialize it automatically following the Bug #3163305 correction. As with all IGS APIs, this package should be treated as a stable interface whose signature is preserved across 12.1.1 and 12.2.2 upgrades.