Search Results ahl_routes_pkg




Overview

APPS.AHL_ROUTES_PKG is a PL/SQL package body in the Oracle E-Business Suite Applications (APPS) schema that encapsulates the core data manipulation logic for routing records within the Oracle Complex Maintenance, Repair and Overhaul (CMRO) / Enterprise Asset Management (EAM) module family. The AHL prefix identifies the object as belonging to the Oracle Asset Lifecycle / maintenance application component, and the ROUTES suffix indicates that the package manages route definitions — the ordered sequences of operations, resources, and steps used to define how maintenance and repair work is performed.

The package functions as a low-level table handler rather than a business-process API. Its responsibility is to provide insert, lock, update, delete, and translation-maintenance operations against the base route tables. It is classified in the ETRM documentation as API classification OTHER, confirming that it is an internal support package rather than a formally published public API intended for direct customer invocation. The package body is documented as VALID in the ETRM repository.

Key Procedures and Functions

The ETRM metadata documents five procedures within this package body:

  • INSERT_ROW — Creates a new route record by inserting a row into the base route table, populating the identifying and descriptive columns required for a new route definition.
  • LOCK_ROW — Obtains a row-level lock on an existing route record, typically used to serialize concurrent updates and to detect whether the row has been modified by another session before an update is applied.
  • UPDATE_ROW — Applies changes to an existing route record, updating the columns held on the base route table for the identified route.
  • DELETE_ROW — Removes a route record from the base table, generally after the delete operation has been validated at the form or business-logic layer.
  • ADD_LANGUAGE — Inserts a translated row into the translatable (TL) table for a route, enabling the multilingual description or name of the route to be stored per language.

This set of five procedures follows the standard Oracle EBS pattern of a table-handler package that mirrors the DML operations required by an associated maintenance form. No public function signatures or parameter lists are exposed in the ETRM documentation, and none should be assumed.

Tables Accessed

The documented table dependencies are:

  • AHL_ROUTES_B — The base (non-translatable) table holding route header attributes. INSERT_ROW, UPDATE_ROW, DELETE_ROW, and LOCK_ROW operate against this table.
  • AHL_ROUTES_TL — The translation table holding language-specific route text. ADD_LANGUAGE writes to this table; the other procedures reference it for the translated view support.
  • FND_LANGUAGES — The Oracle Application Object Library language registry, consulted to validate the language code supplied to ADD_LANGUAGE. FND_MESSAGE and APP_EXCEPTION are additionally referenced to raise and format error conditions.

All tables are accessed through APPS synonyms, consistent with the package being compiled in the APPS schema.

Usage Notes

APPS.AHL_ROUTES_PKG is invoked indirectly rather than by end users. Its typical callers are the Oracle Forms-based route maintenance user interface and any internal CMRO/EAM processing that must create, amend, or delete route definitions. The presence of LOCK_ROW indicates that the package is designed for optimistic concurrency control in an interactive form context.

The ETRM metadata records that the package is not referenced by any database object other than itself, while the documented package-level summary notes it is referenced by one other package. Customizations that must maintain route data should prefer invoking the surrounding business API where one exists, or the route form itself, rather than calling these internal procedures directly, since the procedure signatures are not published and may change between patch levels. Because the package depends on AHL_ROUTES_B, AHL_ROUTES_TL, and FND_LANGUAGES, any invalidation of those objects — for example after a language installation or a table DDL change — will cause the package body to be recompiled at first use.