Search Results max_length




Overview

APPS.PO_UTF8TRIGGERS_PVT is a private (PVT) PL/SQL package body that supports Oracle E-Business Suite Purchasing (PO) in the Unicode UTF8 migration environment. Its business function is to manage the row-level database triggers that retain and convert character data as columns are widened during a UTF8 (or general character set) migration. Specifically, the package encapsulates the logic to create and drop the UTF8 triggers required by Purchasing tables, so the application can safely migrate data from a single-byte to a multi-byte character set without exceeding legacy column widths.

The package is part of the multi-byte migration infrastructure delivered under the source header POXVUTFB.pls. It is classified as PVT (private), meaning it is not a public application programming interface and is intended for internal use by the migration tooling rather than by customer code. The user search term "max_length" maps directly to a field maintained inside the package, reflecting the package's role in tracking the maximum column length permitted by each trigger definition during the conversion process.

Key Procedures and Functions

  • CREATE_ALL_TRIGGERS: A documented public procedure of the package. It is responsible for creating all of the UTF8 migration triggers associated with the Purchasing module. In practice this procedure iterates over the internally maintained trigger definitions and issues the DDL required to install those triggers on the target tables.
  • DROP_ALL_TRIGGERS: A documented public procedure of the package. It reverses the migration work by dropping all previously created UTF8 triggers, restoring the Purchasing tables to their original (non-migration) state. It is typically invoked when the migration has completed or has been rolled back.

The package also declares an internal record type, utf8_trg_rec_type, which stores the trigger metadata: table_name, column_name, column_display_name, max_length, and trigger_name. The max_length field holds the length used when validating or backfilling the affected column, and column_display_name is the text placed into the FND_MESSAGE when an error is generated. A private function, column_exists, verifies whether a given column exists in the database before work proceeds, and a private procedure, initialize_globals, populates the global PL/SQL table g_utf8_trigger_tbl with all required trigger definitions. Note that all columns belonging to the same table must be grouped together for correct processing, and trigger names follow a standard naming convention.

Tables Accessed

The ETRM metadata documents one referenced object via APPS synonyms: PLITBLM. This is the PL/SQL table used internally (in conjunction with the global g_utf8_trigger_tbl structure) to hold the in-memory set of trigger records that drive trigger creation and deletion. The package does not maintain a persistent application data table of its own; it operates on the Purchasing tables themselves when creating or dropping the UTF8 triggers they require. No other package is documented as referencing PO_UTF8TRIGGERS_PVT, confirming its position as a standalone migration utility invoked directly rather than by other PL/SQL APIs.

Usage Notes

PO_UTF8TRIGGERS_PVT is invoked as part of the Oracle EBS character set migration workflow, not during normal transaction processing. Its CREATE_ALL_TRIGGERS procedure is called when UTF8 triggers must be installed across the Purchasing schema, ensuring the affected columns are handled correctly as they are widened, and DROP_ALL_TRIGGERS is called upon completion or rollback of the migration. Because the package is classified PVT, it is not intended for direct invocation from customer forms, concurrent programs, or custom code; it is driven by the internal migration utilities shipped with the Purchasing module. Administrators running the documentation-set or character-set migration should allow the standard migration scripts to manage this package rather than calling it manually.