Search Results update_field




Overview

PON_FIELDS_PVT is a private PL/SQL package body in the APPS schema that provides the core data-manipulation logic for maintaining user-defined descriptive fields used within Oracle Purchasing and the Pon/ETRM (Enterprise Transaction Resource Management) forms framework. These fields allow implementers to extend the standard purchasing document entry forms with additional, customer-specific data elements beyond the seeded columns. The package encapsulates the insert, update, and delete operations against the translation-enabled fields table, as well as the logic required to maintain language rows when a new field is defined. It is classified as a PVT (private) API, meaning it is intended to be called by other purchasing-layer packages and forms plumbing rather than directly by external integrations. The single-digit constant g_fnd_debug and the module-prefix constants confirm that the package follows the standard Oracle Application Object Library debugging and instrumentation conventions.

Key Procedures and Functions

The ETRM metadata documents four procedures within this package body:

  • INSERT_FIELD — Creates a new user-defined field. When a field is created, the name and description are written into the PON_FIELDS_TL translation table, generating one row for every installed and base language. The name and description initially remain identical across all language rows. The procedure accepts the field code, name, and description as input and returns a result indicator together with error code and error message out parameters; a result of 0 denotes success while 1 denotes failure.
  • UPDATE_FIELD — Modifies the name and/or description of an existing user-defined field, persisting the changes to the translation rows for the field.
  • DELETE_FIELD — Removes a user-defined field and its associated translation rows from the repository.
  • ADD_LANGUAGE — Adds translation rows for a newly installed language, ensuring that every defined field has a corresponding row in each active language so that the fields remain visible and maintainable regardless of the session language.

Tables Accessed

The package operates against two documented tables, referenced through APPS synonyms:

  • PON_FIELDS_TL — The translation table that stores the field code, field name, description, language, and source language for each user-defined field, along with standard WHO audit columns. This is the primary table written by INSERT_FIELD, UPDATE_FIELD, and DELETE_FIELD, and it is populated one row per installed language by the insert and add-language logic.
  • FND_LANGUAGES — The Oracle Application Object Library table of installed and base languages. It is queried to determine the set of languages for which translation rows must be created, driving the multi-row insert behavior described in the insert_field comment block.

Usage Notes

PON_FIELDS_PVT is an internal (private) API and is not designed for direct invocation by external or custom code. It is typically called from the Purchasing field-definition forms and from adjacent purchasing-layer packages that manage the setup of user-defined fields. The package emits debug output through PON_FORMS_UTIL_PVT.print_debug_log when FND debug logging is enabled via the AFLOG_ENABLED profile option, which aids troubleshooting during setup configuration. Because the API is private and no other packages are documented as referencing it, customizations that need to create, change, or remove descriptive fields should invoke the supported public setup forms rather than calling these procedures directly. The multi-language row generation performed at field creation means that any customization interacting with PON_FIELDS_TL must account for multiple translation rows per field.