Search Results request_error




Overview

The APPS.WIP_INTERFACE_ERR_UTILS package is a shared error-handling utility within the Oracle E-Business Suite Work in Process (WIP) module. Its business function is to collect, stage, and persist error records generated during the processing of open WIP interface transactions. WIP interfaces, such as those that load discrete jobs, move transactions, and resource transactions from external systems or feeder programs, frequently encounter validation failures. Rather than writing each error directly to the persistent error table one row at a time, this package buffers errors in an in-memory PL/SQL table and flushes them to the database in a controlled manner.

The package is declared with AUTHID CURRENT_USER, meaning its procedures execute with the privileges of the invoking user rather than the package owner, and it is registered with an API classification of OTHER in the ETRM metadata for release 12.2.2. It is referenced by twelve other packages, indicating that it serves as a common error-reporting substrate for the wider WIP interface program family.

Key Procedures and Functions

Two documented procedures comprise the public interface of this package:

  • ADD_ERROR — The common procedure for error handling. It accepts an interface identifier, a text message, and an error type, and appends the resulting error record into the package-level PL/SQL table current_errors. This is the entry point that calling interface programs invoke whenever a transaction fails a validation or processing rule.
  • LOAD_ERRORS — Copies all records currently held in the current_errors PL/SQL table into the persistent WIP_INTERFACE_ERRORS database table. This procedure effectively commits the buffered errors to disk so that they can be queried, reported, or reprocessed by the user.

The package also declares internal data structures that support these procedures: a record type request_error (with fields interface_id, error_type, and error), a PL/SQL table type error_list indexed by binary_integer, the package-level collection current_errors, and a boolean flag any_current_request. These are implementation constructs rather than callable APIs, but they explain the two-phase buffer-then-flush design.

Tables Accessed

The package accesses two documented tables through APPS synonyms:

  • WIP_INTERFACE_ERRORS — The persistent target table. LOAD_ERRORS inserts rows here, and the request_error record type derives its error_type and error field datatypes from this table via %TYPE anchoring.
  • PLITBLM — The PL/SQL table management table used by Oracle's PL/SQL table APIs to persist and manipulate the contents of package collections such as current_errors.

Usage Notes

The package is invoked programmatically rather than through a dedicated form. Interface programs, concurrent programs, and custom integration code call ADD_ERROR as each validation failure is detected, accumulating errors in the session's current_errors collection. At the conclusion of processing, the caller executes LOAD_ERRORS to persist the buffered rows into WIP_INTERFACE_ERRORS. Because the buffer is package state, it is scoped to the database session, and callers should ensure LOAD_ERRORS is reached before the session terminates or the transaction completes. Users subsequently review the persisted errors through the standard WIP interface error inquiry and correction functionality, then resubmit the corrected records.