Search Results check_network_exists




Overview

The APPS.BOM_RTG_NETWORK_API package body provides the programmatic interface for querying and traversing routing networks defined in Oracle Bills of Material. Routing networks extend the standard routing model by capturing predecessor and successor relationships between operations, allowing manufacturing users to model complex flow, rework, and convergent routing structures. The package is classified as an API in the ETRM repository and is owned by the APPS schema, positioning it as a supported integration point for external and internal callers rather than a private implementation detail.

Its central business purpose is to resolve a routing sequence identifier from an assembly, organization, and optional alternate routing designator, and then to walk the resulting operation network in both forward and backward directions. The user search term get_routing_sequence_id corresponds directly to the first documented function in the package body header, which is the entry point most callers use before invoking the traversing routines.

Key Procedures and Functions

The package exposes seven documented routines. The following describes each without restating signature details beyond what is published in the excerpt.

  • GET_ROUTING_SEQUENCE_ID — Returns the routing sequence identifier for a given assembly item, organization, and optional alternate routing designator. It queries BOM_OPERATIONAL_ROUTINGS and normalizes null alternate designators to the literal 'NONE'. No data found resolves to null rather than raising an error, so callers must handle the null return explicitly.
  • GET_ALL_PRIOR_LINE_OPS — Populates an operation table with every predecessor operation reachable from a current line operation. It uses a hierarchical CONNECT BY traversal over BOM_OPERATION_NETWORKS, walking backward from a starting operation and excluding transition type 3 rows.
  • GET_PRIMARY_PRIOR_LINE_OPS — Returns the primary prior operations, filtering the backward traversal to the principal network path rather than all reachable predecessors.
  • GET_ALL_LINE_OPS — Returns the full set of line operations belonging to a routing network, providing the complete traversal for a routing sequence.
  • GET_ALL_PRIMARY_LINE_OPS — Returns the primary line operations only, excluding secondary or alternate network branches.
  • GET_ALL_NEXT_LINE_OPS — Returns all successor operations reachable from a current operation, performing the forward equivalent of the prior-operation traversal.
  • GET_NEXT_LINE_OPERATION — Returns the immediate next line operation, used where the caller requires only the single subsequent step.
  • CHECK_LAST_LINE_OP — Determines whether a given operation is terminal within the network, supporting end-of-routing detection.

Tables Accessed

The package reads BOM_OPERATIONAL_ROUTINGS, which holds the routing header keyed by assembly, organization, and alternate designator and supplies the routing sequence identifier. BOM_OPERATION_NETWORKS stores the directed predecessor and successor relationships and drives all hierarchical traversals; the excerpt also references the BOM_OPERATION_NETWORKS_V view for network existence checks. BOM_OPERATION_SEQUENCES supplies operation sequence details for the operations identified during traversal. DUAL is used for existence-style queries returning a constant. PLITBLM is the standard EBS PL/SQL table index-by table used to carry collection data between calls.

Usage Notes

BOM_RTG_NETWORK_API is typically invoked in three contexts. First, from Bills of Material and Work in Process forms and their supporting logic, where routing network relationships must be displayed or validated. Second, from concurrent programs that report or process routing structures. Third, from custom PL/SQL, where the standard pattern is to call GET_ROUTING_SEQUENCE_ID first, optionally verify the network with CHECK_NETWORK_EXISTS, and then pass the returned sequence identifier into the traversal routines to populate a PLITBLM-backed operation table. Because the function returns null when no routing is found, defensive null handling is required. The package is referenced by four other packages, indicating it is a shared dependency and should be treated as a stable interface. All calls execute under APPS schema synonyms, so no additional grants are required for standard users.