Search Results user_synonyms




Overview

APPS.BEN_ALL_TAB_COLUMNS is a lightweight dictionary reporting view in the Oracle E-Business Suite APPS schema. It exposes five descriptive columns of the Oracle data dictionary view ALL_TAB_COLUMNSTABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, and NULLABLE — filtered and presented within the Applications environment. Because ALL_TAB_COLUMNS describes the columns of every table, view, and cluster accessible to the current user, this APPS-owned wrapper provides a convenient, schema-qualified entry point for queries that need to enumerate column metadata without relying on a public synonym or ambiguous name resolution.

The view is primarily a metadata and diagnostics object rather than a transactional one. It supports EBS reporting, integration development, data-conversion validation, and technical troubleshooting where the physical structure of a database object must be confirmed at runtime. It is widely used by developers and DBAs who search for "all_tab_columns" within the EBS context and need the object available under the APPS schema.

Underlying Base Objects

The view text is a direct projection:

SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE FROM ALL_TAB_COLUMNS

The documented referenced base objects are the synonyms ALL_TAB_COLUMNS and USER_SYNONYMS. ALL_TAB_COLUMNS is the Oracle data dictionary view (defined over the base tables OBJ$, COL$, and related dictionary structures) that lists columns for objects accessible to the current user; USER_SYNONYMS is the dictionary view listing synonyms owned by the current user and is referenced by the dependency metadata.

No EBS business logic, joins, or filters are applied. The view is a one-to-one pass-through of the standard data dictionary columns, which means its content is governed entirely by the invoking user's privileges: APPS, with broad access, sees a large portion of the database; a restricted user sees only objects granted to that schema. No EBS-specific columns, flexfield attributes, or descriptive flexfield metadata are added.

Key Columns

  • TABLE_NAME — Name of the table, view, or cluster to which the column belongs. This is the join key used to correlate with ALL_TABLES or ALL_OBJECTS.
  • COLUMN_NAME — Name of the column within that object.
  • DATA_TYPE — Declared datatype (for example, VARCHAR2, NUMBER, DATE, CLOB), useful for identifying datatype mismatches in interfaces and conversions.
  • DATA_LENGTH — Declared length of the column in bytes; for NUMBER this reflects the internal storage length rather than precision, so precision and scale should be obtained from DATA_PRECISION and DATA_SCALE on the full dictionary view where required.
  • NULLABLE — Indicates whether the column permits nulls ('Y') or is mandatory ('N'), a critical check when populating staging tables or validating mandatory attributes in EBS interfaces.

Because only these five columns are exposed, consumers seeking constraints, defaults, comments, identity information, or character semantics must query ALL_TAB_COLUMNS directly or join to ALL_TAB_COLUMNS from this view.

Common Use Cases and Queries

Typical uses include confirming whether a column exists before a patch or extension, verifying datatype and nullability in conversion scripts, and populating metadata-driven ETL processes. The view can also be used to detect schema drift between environments.

List all columns for a specific EBS table:

SELECT column_name, data_type, data_length, nullable
FROM apps.ben_all_tab_columns
WHERE table_name = 'BEN_PER_PERSON'
ORDER BY column_name;

Find columns of a given datatype across the schema:

SELECT table_name, column_name, data_length
FROM apps.ben_all_tab_columns
WHERE data_type = 'DATE'
ORDER BY table_name, column_name;

Identify mandatory columns prior to data load:

SELECT table_name, column_name
FROM apps.ben_all_tab_columns
WHERE table_name = 'BEN_PER_PERSON'
AND nullable = 'N';

Detect whether a specific column exists:

SELECT COUNT(*)
FROM apps.ben_all_tab_columns
WHERE table_name = 'BEN_PER_PERSON'
AND column_name = 'PERSON_ID';

For precision, scale, defaults, or character-length semantics, supplement these queries by joining to ALL_TAB_COLUMNS or ALL_TAB_COLUMNS, since the five-column projection is intentionally minimal.