Search Results get_dtd




Overview

ECX_UTILS is the shared utility package body for the Oracle E-Business Suite XML Gateway / e-Commerce Gateway (ECX) module. It provides the low-level plumbing used across the ECX runtime: it builds and parses XML documents, loads XML DTD metadata from the database into PL/SQL memory structures, resolves Document Type Definitions into node hierarchies, and maintains mappings between XML message elements and the base application tables that supply or consume their values. The package also exposes supporting infrastructure such as debugging entry points, file and line separator helpers, error registration, and DOM/CLOB conversion routines.

The body is stored in the APPS schema and is classified as an "OTHER" API within the ETRM repository. It is referenced by 28 other packages, confirming its role as a foundational dependency rather than an end-user-facing component. The global variables declared at the top of the body (l_procedure, l_statement, l_unexpected and their enabled flags) show that the package participates directly in the ECX_DEBUG tracing framework, allowing the level of diagnostic logging to be controlled at runtime.

Key Procedures and Functions

The ETRM metadata documents 17 procedures and functions in this package:

  • LOAD_DTD_NODES — loads DTD node definitions into the in-memory node structure used to describe an XML document's element hierarchy.
  • GETNODEPATH — returns the path of a node within the DTD hierarchy, used when resolving element locations during message processing.
  • LOAD_MAPPINGS, LOAD_OBJECTS, LOAD_PROCEDURE_MAPPINGS, LOAD_PROCEDURE_DEFINITIONS — populate the various mapping and object caches that drive message translation.
  • BUILD_PROCEDURE_CALL — constructs the dynamic procedure invocation used to execute a mapped action against a transaction.
  • GET_TRAN_STAGE_DATA — retrieves staged transaction data, providing the input feed for outbound message generation.
  • INITIALIZE — initializes the package's internal state before processing begins.
  • CLOSE_PROCESS — performs cleanup after a processing cycle.
  • SET_ERROR — records an error condition for later reporting.
  • CONVERTPARTYTYPETOCODE — converts a party type value into its stored code representation.
  • GETLOGDIRECTORY, GETFILESEPARATOR, GETLINESEPARATOR — return environment-specific file system and logging path details for message file I/O.
  • XMLVERSION — reports the XML parser version in use.
  • CLOBTODOMNODE — converts a CLOB payload into a DOM node for parsing or manipulation.

The body's excerpt additionally shows a select_clause private procedure that builds SELECT statements against ECX "ec_views" on base application tables, converting every column to VARCHAR2 with date formatting applied.

Tables Accessed

Through APPS synonyms, the package reads and writes the following documented tables:

Usage Notes

ECX_UTILS is never invoked directly by end users. Instead it is called internally by XML Gateway message processing — typically when a new inbound or outbound transaction is initiated through the ECX concurrent programs or the workflow-driven message dispatch, and during map/DTD loading. Applications that register custom XML messages, or that extend ECX_ACTIONS behavior, may call its utility routines from custom PL/SQL to reuse its DTD, mapping, and DOM helpers. The inclusion of debug flags at the package level means DBAs can enable tracing by setting ECX_DEBUG globals before processing runs. Because 28 packages depend on it, changes to its public interface should be treated as high-impact and assessed against all referencing components.