Search Results ece_out_file_path




Overview

APPS.ICX_POR_EXT_UTL is a utility package body in the Oracle E-Business Suite iProcurement/Procurement module. Its header signature dates from 2006 and is marked noship, indicating it is an internal support package rather than a shipped public API. The package provides the shared plumbing required by iProcurement external processing routines: debug-level control, an in-memory error stack, file and log handling, transaction commit/rollback management, and environment helpers for schema and version detection. It is a low-level infrastructure package; it does not implement procurement business rules itself but is consumed by higher-level packages. The ETRM catalogue classifies it as API classification OTHER and records that it is referenced by 16 other packages, confirming its role as a common dependency across the iProcurement external processing stack.

Key Procedures and Functions

The documented interface comprises the following procedures and functions:

  • SETDEBUGLEVEL — establishes the active debug verbosity for the session.
  • DEBUG — emits a debug message subject to the configured debug level.
  • PUSHERROR — appends a message to the global error stack (gErrorStack), which is an associative array indexed by BINARY_INTEGER.
  • PRINTSTACKTRACE — dumps the accumulated contents of the error stack for diagnostic review.
  • SETFILEPATH — resolves and stores the output file path. The source shows it interrogates V$PARAMETER for utl_file_dir, uses the ECE_OUT_FILE_PATH profile option, or accepts a literal path.
  • GETFILEPATH — returns the currently configured file path.
  • SETUSEFILE — toggles output between the concurrent log and a physical file; initialised at declaration as gUseFile := USE_CONCURRENT_LOG.
  • OPENLOG / CLOSELOG — open and close the UTL_FILE log handle (gFileHandle).
  • EXTCOMMIT, EXTAFCOMMIT, EXTROLLBACK — manage transaction boundaries for external processing, including an "AF" (analysis/after-forms) variant of commit.
  • GETTABLEELEMENT — extracts a named element from a table structure.
  • GETICXSCHEMA — returns the ICX schema name held in gIcxSchema.
  • GETTIMESTAMP — returns a formatted timestamp, typically for log lines.
  • GETDATABASEVERSION — reports the database version via DBMS_UTILITY.

Tables Accessed

The package does not read or write application business tables. Its documented data access is limited to infrastructure objects:

  • V$PARAMETER — queried by SETFILEPATH to retrieve the utl_file_dir setting.
  • DUAL — used for scalar environment queries.
  • UTL_FILE — the Oracle-supplied file I/O package used through gFileHandle and gReportHandle.
  • DBMS_SQL and DBMS_UTILITY — Oracle-supplied packages referenced for dynamic SQL and utility services.
  • PLITBLM — internal PL/SQL table access referenced through APPS synonyms.

Because these are referenced via APPS synonyms, no direct grants on the base views are required for the calling schema.

Usage Notes

ICX_POR_EXT_UTL is invoked indirectly. A caller typically sets the debug level, pushes errors as it proceeds, and uses EXTCOMMIT/EXTROLLBACK to control transactional scope around external processing jobs. Logging behaviour is governed by the USE_CONCURRENT_LOG constant assigned to gUseFile at package initialisation; when file-based output is required, SETFILEPATH resolves the directory (honouring the ECE_OUT_FILE_PATH profile or utl_file_dir) before OPENLOG is called. Output file naming and the directory must satisfy the database utl_file_dir constraints, or the ECE profile must supply a valid path. The package accumulates an error stack rather than raising immediately, so callers should call PRINTSTACKTRACE after failures and clearErrorStack before reuse. Given its noship designation and internal-only classification, customisations should not call this package directly; supported integration points are the 16 dependent packages that consume it.