Search Results qa_security_pkg




Overview

QA_SECURITY_PKG is a PL/SQL package body owned by the APPS schema in Oracle E-Business Suite. It belongs to the Oracle Quality (QA) application and is classified as an OTHER API within the ETRM repository for releases 12.1.1 and 12.2.2. The package implements the security infrastructure used by Oracle Quality to control which users can view and manipulate Quality collection plans, specifications, and related records. Rather than delegating entirely to generic data security, QA_SECURITY_PKG bridges Oracle Quality with the Oracle Trading Community Architecture (TCA) and the Oracle Application Object Library (AOL) security model, dynamically creating grants, groups, persons, and relationships that determine visibility of Quality entities. The object is reported as VALID in the ETRM inventory and is documented with eleven procedures and functions. It is not referenced by any other database object, indicating that it is invoked at runtime by Oracle Quality forms and business logic rather than called from dependent PL/SQL units.

Key Procedures and Functions

The package exposes the following documented routines:

  • CREATE_GRANT — establishes a security grant, typically by calling FND_GRANTS_PKG, so that a user or role receives access to a Quality security object.
  • SECURITY_PREDICATE — returns or applies the security predicate used to filter Quality queries according to the current user's grants and group membership.
  • SSQR_SECURITY_PREDICATE — a specialized variant of the predicate, associated with the SSQR (Quality results/collection plan) security context.
  • CHILD_SECURITY — resolves inherited or hierarchical security for child entities within a Quality security group.
  • CREATE_GROUP — creates a Quality security group that aggregates users or organizations for shared access.
  • UPDATE_GROUP — modifies the attributes or membership of an existing security group.
  • CREATE_PERSON — registers a person in TCA through the HZ_PARTY_V2PUB public API so that the individual can participate in Quality security relationships.
  • UPDATE_PERSON — updates the corresponding TCA person record when Quality security data changes.
  • CREATE_RELATIONSHIP — creates a TCA relationship (via HZ_RELATIONSHIP_V2PUB) linking parties for security purposes.
  • UPDATE_RELATIONSHIP — maintains an existing party relationship as security assignments evolve.
  • DELETE_RELATIONSHIP — removes a party relationship when access is revoked or a group is dissolved.

Parameter lists are not reproduced here; callers must consult the package specification for exact signatures.

Tables Accessed

The package references the following tables through APPS synonyms: FND_GRANTS, which stores the security grants it creates and reads; FND_USER, used to identify and validate the EBS user account associated with a person; HZ_PARTIES, the TCA master table for persons and organizations manipulated through the HZ public APIs; QA_PC_PLAN_RELATIONSHIP, which maps collection plans to security relationships and drives predicate generation; and PLITBLM, the standard PL/SQL integer table type used for in-memory collections. Indirect dependencies include FND_DATA_SECURITY, APP_EXCEPTION, FND_API, HZ_PARTY_V2PUB, HZ_RELATIONSHIP_V2PUB, and the view QA_HZ_PARTY_RELATIONSHIPS_V.

Usage Notes

QA_SECURITY_PKG is normally invoked indirectly. Oracle Quality setup and collection plan forms call its routines when administrators define security groups, assign persons, or establish plan-level access. The security predicate functions are applied by Quality query logic at runtime to restrict rows to those the signed-on user may see. Because the package writes to TCA through the HZ public APIs, changes ripple into the Trading Community data model, and relationship or person updates should be performed through this package rather than by direct table manipulation. Custom integrations that need to provision Quality security programmatically should call the documented public routines, honoring FND_API error-handling conventions, and should not modify FND_GRANTS or QA_PC_PLAN_RELATIONSHIP directly. As no other database object references the package, it functions purely as an entry point from the application layer.