Search Results igs_sc_gen_001




Overview

IGS_SC_GEN_001 is a PL/SQL package body owned by the APPS schema in Oracle E-Business Suite, classified in the ETRM repository as an "OTHER" API. The "IGS_SC" prefix identifies it as belonging to the Oracle Student System (formerly known as the Student Information Management / Student Records family of modules), where the "SC" component relates to the security and access-control framework that governs who may view, insert, update, or delete student-related records. The package supplies the generic security engine used by the broader IGS_SC security infrastructure: it evaluates the grants, conditional grants, object-level grants, user attributes, and attribute-method bindings that together determine a user's effective privileges against a given secured object.

The package is marked VALID and is internally consumed rather than exposed as a public entry point; ETRM notes that it is referenced by 129 other packages, indicating it functions as a shared, low-level utility layer on which many higher-level IGS_SC APIs depend. It is not listed as referenced by any database object other than through those dependent packages, confirming its role as a supporting engine rather than a business-facing entry point.

Key Procedures and Functions

The documented API surface contains six program units, all oriented toward establishing security context and performing authorization checks:

  • SET_CTX — Establishes the session-level security context used by subsequent checks, typically initializing package state and database session context so that later evaluation is consistent within a transaction or session.
  • UNSET_CTX — Tears down or resets the security context established by SET_CTX, preventing context leakage across session reuse or pooled connections.
  • CHECK_INS_SECURITY — Validates insert privileges for a user against a secured object.
  • CHECK_SEL_UPD_DEL_SECURITY — Performs the combined select, update, and delete privilege evaluation, the core authorization routine for read/modify access.
  • CHECK_PERSON_SECURITY — Applies person-level (individual) security rules, translating user or person attributes into a grant decision.
  • CHECK_USER_POLICY — Evaluates the overall user policy, aggregating grants and conditional grants into a final determination.

No parameter lists are documented, so the signatures must be confirmed from the actual source before invocation.

Tables Accessed

The package operates against the IGS_SC security data model plus foundation tables. It reads and writes the grant tables IGS_SC_GRANTS and IGS_SC_GRANT_CONDS, which hold grants and their conditional qualifiers, and IGS_SC_OBJ_GRANTS and IGS_SC_OBJ_GROUPS, which map grants to objects and grouping constructs. Object and attribute definitions come from IGS_SC_OBJECTS, IGS_SC_OBJ_ATTRIBS, IGS_SC_OBJ_ATT_MTHS, and IGS_SC_OBJ_ATT_VALS; user-side attribute data comes from IGS_SC_USR_ATTRIBS and IGS_SC_USR_ATT_VALS. User and role resolution depends on FND_USER, FND_OBJECTS, and WF_LOCAL_USER_ROLES. The package also depends on the FND_API, FND_DSQL, FND_GLOBAL, FND_LOG, and FND_MESSAGE foundation packages, and on DBMS_SESSION and DBMS_SQL for session context management and dynamic SQL. Grants are validated through IGS_SC_GRANTS_PVT.

Usage Notes

IGS_SC_GEN_001 is invoked indirectly by the 129 dependent packages that call into the security framework, rather than being called from forms or concurrent programs directly. Typical lifecycle usage is: a caller invokes SET_CTX to seed the session context, then calls CHECK_SEL_UPD_DEL_SECURITY, CHECK_INS_SECURITY, CHECK_PERSON_SECURITY, or CHECK_USER_POLICY to obtain an authorization result, and finally calls UNSET_CTX to clear the context. Because the package manipulates session state, callers should avoid interleaving it with unrelated session-context usage and should always pair SET_CTX with UNSET_CTX. Customizations should treat it as an internal dependency and avoid direct modification; the package is unsupported at the base and any extension should occur in a wrapper.