Search Results ben_all_tab_columns




Overview

BEN_ALL_TAB_COLUMNS is a dictionary-style view owned by the APPS schema in Oracle E-Business Suite, registered under the BEN (Advanced Benefits) product family. In the ETRM repository it carries the status VALID and is annotated as "Retrofitted," indicating that it was reconstructed or re-registered during the ETRM documentation pass rather than being a purpose-built application object. Functionally, the view presents a filtered projection of the database data dictionary's column metadata: table name, column name, data type, data length, and nullability. It does not store benefit plan, enrollment, or eligibility data itself. Its role in EBS reporting and integration is therefore meta-level — it exposes column-level structural information about database tables so that developers, DBAs, and integration routines can introspect schema definitions from within the APPS session context.

Underlying Base Objects

The documented view text is a single, unqualified SELECT over ALL_TAB_COLUMNS:

ALL_TAB_COLUMNS is a static data dictionary view owned by SYS that describes the columns of all tables, views, and clusters accessible to the current user. Because BEN_ALL_TAB_COLUMNS selects from it without a WHERE clause, the view is effectively a pass-through with no filtering, renaming, or join logic. The relationship is one-to-one: every row emitted by ALL_TAB_COLUMNS that is visible to the APPS session appears in BEN_ALL_TAB_COLUMNS. The appearance of USER_SYNONYMS in the dependency metadata reflects synonym resolution for the underlying dictionary object rather than a join in the view definition. The absence of a WHERE predicate also means there is no implicit restriction to BEN-prefixed tables despite the view's naming convention.

Key Columns

The view exposes exactly five columns, mirroring the projection list:

  • TABLE_NAME — Name of the table, view, or cluster to which the column belongs.
  • COLUMN_NAME — Name of the individual column within that object.
  • DATA_TYPE — Declared datatype of the column (for example VARCHAR2, NUMBER, DATE).
  • DATA_LENGTH — Declared length of the column in bytes. This is the attribute most frequently queried, since it answers sizing questions such as VARCHAR2 byte capacity or NUMBER precision storage.
  • NULLABLE — Whether the column permits null values, expressed as Y or N.

Because the view performs no aliasing, column semantics are identical to their ALL_TAB_COLUMNS counterparts as defined by Oracle's data dictionary reference.

Common Use Cases and Queries

Typical usage centers on schema introspection and impact analysis, particularly when locating columns by name or verifying declared sizes before data migration, interface development, or extension build. A representative query retrieving length information for a named column is:

  • SELECT table_name, column_name, data_type, data_length, nullable FROM apps.ben_all_tab_columns WHERE column_name = 'PERSON_ID' ORDER BY table_name;
  • SELECT table_name FROM apps.ben_all_tab_columns WHERE data_length > 2000 AND data_type = 'VARCHAR2';

Practitioners also use it to enumerate all columns of a specific table, to detect excessively wide VARCHAR2 definitions prior to an upgrade, or to confirm nullability constraints when designing interfaces. Given the absence of filtering, results depend entirely on the APPS user's object privileges, so partially visible schemas will yield partial output. Where a scoped or BEN-specific listing is required, an explicit WHERE clause on TABLE_NAME is necessary. For new development, direct querying of ALL_TAB_COLUMNS or the DBMS_METADATA package is generally preferred; BEN_ALL_TAB_COLUMNS is best understood as a legacy retrofitted convenience view retained for compatibility.