Search Results ssqr_security_predicate




Overview

QA_SECURITY_PKG is a PL/SQL package in the APPS schema that implements the Oracle E-Business Suite security and grant model for Oracle Quality. The package is declared AUTHID CURRENT_USER and defines a package-level constant, pv_group_type, fixed to the value 'QA', identifying the security group type managed by the package. Its source header dates to 2006 and carries the "noship" designation, indicating a component that is not directly shipped as a standalone product capability but underpins the Quality application's authorization layer.

The package addresses two related concerns. The first is the creation and maintenance of FND_GRANTS records for Quality plans and related entitlement objects, exposing a dedicated API for each of the four standard grant operations: setup, enter, view, and update, with a corresponding create-grant entry point. The second is the construction of groups, persons, and inter-party relationships, which mirrors the Oracle Trading Community architecture by creating and maintaining HZ_PARTIES records and the relationships between them. Together these facilities allow Quality to express who may see or act upon a plan or plan object, and to build the party model through which those permissions are held.

Key Procedures and Functions

  • CREATE_GRANT — Creates a single grant row (for example within FND_GRANTS), returning GUID handles for the requested setup, enter, view, update, and delete permission flags. It is the primary entry point for granting object-level access.
  • SECURITY_PREDICATE — Produces a predicate string and a return status for a given function, object name, and user name. The predicate is used to restrict queries so that only rows the user is authorized to see are returned.
  • CHILD_SECURITY — Evaluates the security entitlements of child plans under a supplied parent plan and returns the applicable plan identifiers. Its signature was revised to accept a check-immediate flag and to treat the child plan identifier list as an in-out parameter.
  • CREATE_GROUP — Creates a QA security group, returning the generated party identifier together with status and message information.
  • CREATE_PERSON — Creates a person party used as a grantee within the security model, returning the party identifier along with status and message outputs.
  • CREATE_RELATIONSHIP — Creates a relationship between a subject party and an object party, returning status, message, party identifier, and relationship identifier.
  • UPDATE_GROUP — Updates an existing QA security group, identified by party identifier, including its effective date.
  • UPDATE_PERSON — Updates an existing person party in the security model.
  • UPDATE_RELATIONSHIP — Updates an existing relationship record, for example to modify its dates or type, identified through the relationship or party identifiers returned by CREATE_RELATIONSHIP.
  • DELETE_RELATIONSHIP — Removes a relationship that is no longer required, terminating the subject-to-object association.
  • SSQR_SECURITY_PREDICATE — A variant of the security predicate routine used in the SSQR security context, returning a predicate and status for restricted data access.

Tables Accessed

  • FND_GRANTS — stores the individual grants produced by CREATE_GRANT, including the setup, enter, view, update, and delete permissions.
  • HZ_PARTIES — holds the group and person parties created and updated by the group, person, and relationship APIs.
  • QA_PC_PLAN_RELATIONSHIP — records the association between Quality plans used by the child-security logic.
  • FND_USER — supplies the user identity against which predicates and grants are evaluated.
  • PLITBLM — a generic PL/SQL message table used to return status and error message data from the APIs.

Usage Notes

QA_SECURITY_PKG is an internal supporting API rather than a business-facing entry point. It is referenced by no other documented packages, so it is normally invoked directly by Quality forms, by security-resolution code executing behind those forms, or by concurrent programs that must evaluate and refresh plan entitlements. The predicate functions are the most frequently exercised members: they are called at query time to append authorization clauses to Quality queries, ensuring a user sees only permitted plans and plan objects. The create, update, and delete routines are called when administrators assign access, define groups and persons, or restructure relationships. Because the package is AUTHID CURRENT_USER and manipulates core FND and HZ tables, custom code invoking it should pass valid party identifiers, use the returned status and message outputs to detect failure, and avoid direct DML against the underlying grant and relationship tables.