Search Results path_preference_root_only




Overview

APPS.CZ_MODEL_UTIL_PVT is a private (PVT) PL/SQL utility package within the Oracle E-Business Suite Configure-to-Order (CTO) and Oracle Configurator (CZ) schema. It provides the underlying model-navigation and explosion-resolution primitives used to traverse configuration model hierarchies. Its central responsibility is to resolve relationships between a root model and the child models it references, translating user-supplied name paths into concrete model node records, enumerating referenced models and referenced user interface definitions, and correlating explosion identifiers that exist in parallel across parent and descendant models. The package is declared AUTHID CURRENT_USER, executes with the privileges of the invoking session, and restricts result sets through PRAGMA RESTRICT_REFERENCES (WNDS, WNPS) on its path and reference functions, confirming that these functions perform no database writes or package-state modification. As a private package it is not intended to be called directly by customer extensions; it is consumed by other CZ model-processing packages, four of which reference it in Oracle EBS 12.2.2.

Key Procedures and Functions

  • FIND_NODES_BY_PATH — Returns a collection of model node records that match a supplied name path within a specified model. Used to locate one or more nodes in the model hierarchy by descriptive path rather than by internal identifier.
  • FIND_UNIQUE_NODE_BY_PATH — Resolves a name path to a single, deterministic node, applying a path-preference setting (constants PATH_PREFERENCE_DISABLED, PATH_PREFERENCE_ROOT_ONLY, and PATH_PREFERENCE_ROOT_KIDS) to control whether the root, its descendants, or neither are eligible candidates.
  • GET_REFERENCED_MODELS — Returns an ordered array of distinct referenced model identifiers beneath a specified top-level model, giving the caller the full set of child models reachable from the root.
  • GET_UI_REFS_UNDER_MODEL — Returns all referenced user interface definitions, together with their explosion IDs, in the context of a root UI's model, bounded by a maximum traversal depth.
  • GET_PARALLEL_EXPLS — Takes an enclosing explosion ID in a root model and a descendant explosion ID in a child model and walks the corresponding referenced-explosion subtrees, matching explosion nodes to return each pair of parallel explosion IDs. Explosion IDs do not cross models; only explosions owned by the models that own the argument explosion IDs participate.

Tables Accessed

The package operates across the core CZ model and explosion tables through APPS synonyms:

  • CZ_MODEL_REF_EXPLS — Stores referenced-model explosion relationships; central to GET_REFERENCED_MODELS and GET_PARALLEL_EXPLS.
  • CZ_PS_NODES — Model node definitions, traversed by the path-resolution functions.
  • CZ_UI_DEFS — User interface definition headers referenced by GET_UI_REFS_UNDER_MODEL.
  • CZ_UI_REFS — UI reference records linking UIs to model contexts.
  • PLITBLM — The PL/SQL index table support object used by the collection-based return types.

Usage Notes

CZ_MODEL_UTIL_PVT is a private utility layer, so it is invoked indirectly. In EBS 12.1.1 and 12.2.2 it is typically called from within other CZ packages during model explosion, configurator UI rendering, and referenced-model resolution—for example, when validating a configuration against its model structure or expanding a root model's referenced UIs for display in Oracle Configurator. Because the functions rely on RESTRICT_REFERENCES and return PL/SQL collections, callers must consume the return values in PL/SQL rather than plain SQL. Direct invocation from custom code is discouraged; site-specific logic should instead use the documented public CZ APIs. The GET_PARALLEL_EXPLS function specifically supports correlation of explosion identifiers across model boundaries and is meaningful only when the descendant explosion ID lies on the CHILD_MODEL_EXPL_ID chain of the enclosing explosion ID.