Search Results get_col




Overview

ASG_CUSTOM_PVT is a private PL/SQL package body in the APPS schema that supports the customization of "pub items" within the Oracle E-Business Suite ASG (Application Service Group / CRM-style generic data model) framework. Its central purpose is to allow a base table associated with a published item (pub item) to be re-pointed to a customer-defined table while preserving the metadata that links the original structure, the new base table, and its companion access (_acc) table. The package is classified as a PVT (private) API, meaning it is not intended as a directly callable public interface; it is invoked internally by other ASG packages and the framework code that manages pub item metadata. A diagnostic logger utility (LOG) and several query-construction and metadata-discovery helpers are included. The single documented public entry point, CUSTOMIZE_PUB_ITEM, performs the table-override operation and records the change so downstream query generation respects the new base table.

Key Procedures and Functions

  • CUSTOMIZE_PUB_ITEM — The primary driver procedure. It accepts a pub item name, a replacement base table name, primary key columns, data columns, and an optional additional filter, then re-associates the pub item with the supplied base table. It validates table existence, records the original base table metadata under the parent_table column, and renames or records the base table reference as the new table.
  • MARK_DIRTY — Flags cached or derived metadata (for example the query/view built for a pub item) as stale so that it will be regenerated on the next access after a customization or schema change.
  • EXEC_CMD — Executes a dynamic SQL command string. Used internally to perform DDL/DML operations (such as renaming or altering generated structures) that cannot be issued as static SQL.
  • GENERATE_WHERE — Constructs the WHERE clause fragment for a pub item, incorporating the primary key predicates and any additional filter supplied during customization.
  • GENERATE_QUERY — Builds the full SELECT statement for a pub item against its (possibly customized) base table, using the column and filter information assembled by the other routines.
  • FIND_NUM_PKCOLS — Determines the number of primary key columns defined for a given pub item, supporting correct predicate and query construction.
  • LOG — Writes diagnostic messages to the FND logging framework at the STATEMENT level, used for tracing and troubleshooting customizations.
  • GET_COL — Returns the name of an individual column, typically iterating over the documented column set or returning a column by position. This is the routine referenced by the search term "get_col."

Tables Accessed

  • ASG_PUB — The master table of published items; read to resolve the pub item record and to store or refresh its metadata, including the parent (original) table reference.
  • ASG_PUB_ITEM — Holds the per-item definitions, including base table name and column mappings; updated during customization to point to the new base table.
  • ALL_SYNONYMS — Used to verify that a synonym or table reference exists and is visible to APPS before applying a customization.
  • DBA_TAB_COLUMNS — Queried to enumerate the columns of the base table, confirm the existence of the primary key and data columns, and drive GET_COL and related column-processing logic.

Usage Notes

Because ASG_CUSTOM_PVT is a private package, it is not called directly from forms or concurrent programs. It is invoked by the ASG pub item infrastructure—typically during setup or customization of a pub item, or when the framework regenerates queries after metadata changes. The documented dependency indicates it is referenced by one other package, which acts as the calling layer. Administrators and developers customizing a pub item supply the replacement base table and its primary key and data columns; the package then records the override and makes the associated access table the mechanism for user-level row filtering. Logging is emitted through FND_LOG, so tracing customizations requires enabling statement-level logging for the relevant user or session. Any direct invocation should be performed through the framework's supported APIs rather than by calling the private procedures directly.