Search Results lock_model_structure




Overview

APPS.CZ_SECURITY_PVT is a private PL/SQL package belonging to the Oracle E-Business Suite Configure-to-Order (C2O) / Oracle Configurator application family, sharing the CZ object prefix with modules such as CZ_DEVELOPER_UTILS_PVT, CZ_MODELOPERATIONS_PUB, and CZ_POPULATORS_PKG. The package encapsulates the security, privilege‑grant, and locking infrastructure used across the configuration modeling schema. Its responsibilities are twofold: it enforces fine‑grained access control on configuration models, UI definitions, rule folders, and related entities, and it manages the lock and unlock lifecycle that prevents concurrent modification of those same structures. The package is classified as PVT (private), indicating that it is an internal implementation API rather than a published public interface; it is intended to be called by other CZ packages rather than directly by external consumers. As an APPS‑owned object, it executes with the privileges of the APPS schema and operates against tables reached through APPS synonyms. The ETRM report confirms the object is VALID in both 12.1.1 and 12.2.2, and it exposes 71 documented procedures and functions.

Key Procedures and Functions

The documented API falls into three functional clusters:

Tables Accessed

Through APPS synonyms the package reads and writes the core C2O metadata tables. Security and grant information is held in FND_GRANTS, FND_FORM_FUNCTIONS, FND_COMPILED_MENU_FUNCTIONS, and FND_APPLICATION, which connect the CZ objects to the standard EBS function‑security model. Lock state and audit history are persisted in CZ_LOCK_HISTORY and CZ_PUBLICATION_LOCKS. Model and structure metadata reside in CZ_DEVL_PROJECTS, CZ_MODEL_REF_EXPLS, CZ_PS_NODES, CZ_RP_ENTRIES, and CZ_RULE_FOLDERS. User interface metadata is drawn from CZ_UI_DEFS, CZ_UI_NODES, CZ_UI_REFS, and CZ_UI_TEMPLATES. It also depends on the CZ_NUMBER_TBL_TYPE collection type for array‑based parameter handling.

Usage Notes

CZ_SECURITY_PVT is invoked indirectly. ETRM shows it is referenced by eight packages, including CZ_DEVELOPER_UTILS_PVT, CZ_MODELOPERATIONS_PUB (the public model operations API), CZ_IMP_SINGLE and CZ_RULE_IMPORT (import utilities), CZ_LOGIC_GEN, CZ_PB_MGR, CZ_POPULATORS_PKG, and CZ_UIOA_PVT. A typical call sequence checks HAS_MODEL_PRIVILEGES or IS_LOCK_REQUIRED before proceeding, then calls LOCK_MODEL_STRUCTURE or LOCK_UI_DEF prior to modification, writing to CZ_LOCK_HISTORY, and finally UNLOCK_MODEL on completion. Because the package is private and APPS‑owned, custom code should prefer the public CZ APIs or shared EBS function grants; direct invocation is unsupported and may bypass validation performed by the wrapper packages. All calls run under APPS privileges, so FND_GRANTS entries must be provisioned correctly for the acting user.