Search Results po_attr_values_int_n1




Overview

APPS.PO_R12_CAT_UPG_UTL is a utility package body in the Oracle E-Business Suite Procurement schema. Its designation (R12_CAT_UPG) identifies it as a supporting component of the R12 catalog upgrade and interface-processing infrastructure, which migrates and validates purchasing document data — requisitions, purchase orders, sourcing rules, and associated attribute values — from legacy structures into the Release 12 interface tables. The package operates alongside the private package PO_R12_CAT_UPG_PVT and the shared type definitions in PO_R12_CAT_UPG_TYPES, and it depends on PO_R12_CAT_UPG_DEBUG for diagnostic logging.

The package is classified as a general utility (API classification OTHER) rather than a public application programming interface. It concentrates on three concerns: centralizing error handling for interface rows, translating interface data into the pre-validation structures consumed by the upgrade processor, and initializing session-level setup values such as language configuration and processing identifiers.

Key Procedures and Functions

  • ADD_FATAL_ERROR — Records a fatal error condition against the relevant interface record so that processing halts and the row is reported to the user. This is the shared error-emission point used by the other rejection routines.
  • REJECT_HEADERS_INTF — Marks purchase order header rows in PO_HEADERS_INTERFACE as rejected when validation or conversion fails.
  • REJECT_LINES_INTF — Applies the equivalent rejection logic to purchase order line rows in PO_LINES_INTERFACE.
  • REJECT_ATTR_VALUES_INTF — Rejects attribute value interface rows, typically when the parent header or line has already failed validation.
  • REJECT_ATTR_VALUES_TLP_INTF — Performs rejection handling for attribute values governed by the two-level/template (TLP) attribute model.
  • CONSTRUCT_SUBSCRIPT_ARRAY — Builds a PL/SQL index-by table of subscript values, used to process attribute value sets that are keyed by position or sequence.
  • ASSIGN_PROCESSING_ID — Allocates a processing identifier from PO_PDOI_PROCESSING_ID_S and stamps interface rows so that a batch of records can be tracked, correlated, and purged as a unit.
  • INIT_STARTUP_VALUES — Establishes the runtime context for an upgrade session, including organization and system parameter defaults used throughout the conversion.
  • GET_BASE_LANG — Returns the base language identifier, resolved against FND_LANGUAGES, for multi-language attribute and description handling.
  • GET_NUM_LANGUAGES — Returns the number of installed languages, used to size language-dependent loops and arrays.

Tables Accessed

The package reads and writes the standard Procurement interface tables: PO_HEADERS_INTERFACE, PO_LINES_INTERFACE, PO_ATTR_VALUES_INTERFACE, and PO_ATTR_VALUES_TLP_INTERFACE, which hold the inbound upgrade payload. Error conditions are persisted through PO_INTERFACE_ERRORS and its sequence PO_INTERFACE_ERRORS_S, and processing batches are numbered from the PO_PDOI_PROCESSING_ID_S sequence. Setup data is drawn from PO_SYSTEM_PARAMETERS_ALL, FINANCIALS_SYSTEM_PARAMS_ALL, MTL_PARAMETERS, and RCV_PARAMETERS, while FND_LANGUAGES supplies language metadata. DUAL and the PLITBLM package support low-level PL/SQL operations.

Usage Notes

PO_R12_CAT_UPG_UTL is not invoked directly from forms. It is called internally by the catalog upgrade concurrent programs and by the sibling packages PO_R12_CAT_UPG_PVT, PO_R12_CAT_UPG_TYPES, and PO_R12_CAT_UPG_DEBUG during the R12 conversion of purchasing data. Developers diagnosing upgrade failures commonly inspect PO_INTERFACE_ERRORS — frequently through the PO_INTERFACE_ERRORS_S sequence — to determine why a header, line, or attribute value row was rejected, making the rejection routines in this package the origin of most user-visible upgrade errors. Because the body is marked VALID and has no dependent database objects, it may be safely recompiled without invalidating downstream code. Custom extensions should treat the package as internal and unsupported rather than building direct dependencies upon it.