Search Results icx_util




Overview

ICX_UTIL is a shared PL/SQL utility package in the APPS schema that supports Oracle E-Business Suite's self-service web framework, particularly the Oracle iProcurement/Internet Computing Architecture (ICX) application stack. It serves as a central library of reusable procedures and functions for rendering HTML pages, generating List of Values (LOV) widgets, retrieving prompts and lookup values, managing flexfield segments, and building the standard error page used across "all of web apps" (as noted in the package header comment). The body is defined as a utility package (API classification UTIL), meaning it is not a business API with a stable public interface but a supporting infrastructure component. It is referenced by 81 other packages, indicating pervasive use throughout the EBS web layer.

Key Procedures and Functions

The documented procedures and functions are grouped into several functional areas:

  • LOV family (LOVSCRIPT, LOVBUTTON, LOV, LOVHEADER, LOVVALUES): These generate JavaScript and HTML markup for List of Values controls. LOV applet loading (via wf_lov.lovapplet) was once performed in a hidden frame during login; the package includes commented-out "No longer used" procedures (oracle, preload) that loaded the LOV applet on the configurable home page. The LOV global variables (g_LOV_region_id, g_LOV_region) are declared globally to avoid the overhead of passing large tables, since strings cannot be passed via HTML.
  • Prompt and lookup retrieval (GETPROMPTS, GETPROMPT, GETLOOKUPS, GETLOOKUP): These fetch message prompts and lookup code values from the database for display in the web UI.
  • Error handling (ERROR_PAGE_SETUP, ADD_ERROR, ERROR_COUNT, ERROR_PAGE_PRINT, NO_HTML_ERROR_PAGE_PRINT): This subsystem builds the standard error page. It uses a PL/SQL table type char2000table (TABLE OF VARCHAR2(2000) INDEX BY BINARY_INTEGER), an error_table storage unit, and a TOTAL_ERRORS counter. ERROR_PAGE_SETUP resets the table, ADD_ERROR appends error text, ERROR_COUNT returns the count, and the print procedures render the formatted page (one variant suppresses HTML).
  • Utility helpers (COPYRIGHT, GET_COLOR, PARSE_STRING, ITEM_FLEX_SEG, CATEGORY_FLEX_SEG, TRANSFER_ROW_TO_COLUMN): COPYRIGHT renders the copyright notice; GET_COLOR retrieves color definitions; PARSE_STRING performs string parsing; ITEM_FLEX_SEG and CATEGORY_FLEX_SEG handle descriptive flexfield segments for items and categories; TRANSFER_ROW_TO_COLUMN pivots a result row into columns.

Tables Accessed

The package references AK_ATTRIBUTES, AK_OBJECT_ATTRIBUTES, AK_REGIONS, AK_REGIONS_TL, AK_REGION_ITEMS, and AK_REGION_ITEMS_TL to retrieve region and attribute metadata used in the LOV and page-rendering logic. FND_LANGUAGES supports language-specific prompt and lookup retrieval. ICX_COLORS supplies color values consumed by GET_COLOR, while ICX_PARAMETERS provides ICX application configuration settings. DUAL is used for simple scalar lookups. HTF, HTP, OWA_UTIL, and PLITBLM are the Oracle Web Toolkit and PL/SQL table utilities used to emit HTML and manage the PL/SQL table structures (notably the char2000table error storage).

Usage Notes

ICX_UTIL is invoked indirectly by ICX and iProcurement web pages and JSP/PLSQL-based regions rather than through Oracle Forms or concurrent programs. Its LOV, error-page, and prompt-related procedures are called during page generation to construct the HTML and JavaScript output seen by the user. Developers extending the EBS self-service UI may call ICX_UTIL procedures from custom PL/SQL regions or JSP code, but because it is a UTIL-class package with no documented API contract, calls should be limited to the documented procedures and the package should not be modified directly. The header comment indicates the package is marked "noship," suggesting it is an internal, non-shipped utility whose interface may change between releases.