Results for “program_unit_type”

16 results




AI-generated from documented ETRM metadata — verify critical details on the linked pages.

Overview

VEA_PROGRAM_UNITS is a table owned by the VEA (Automotive) schema in Oracle E-Business Suite 12.1.1 and 12.2.2. Its documented description is "Program units registered with the trading partner architecture repository." The table functions as the registration and catalog layer for program units — PL/SQL packages and their constituent programs — that participate in the Trading Partner Architecture (TPA) framework used by VEA automotive processing. Each row identifies a program unit, the package it belongs to, the layer provider that owns it, and the metadata needed by the runtime to invoke, subclass, or override that program logic.

From the documented foreign-key topology, the table is a hub in a Data Vault modeling sense: it holds a stable, uniquely identifiable business entity (a program unit) whose key is referenced by multiple surrounding tables. It also shows a self-referencing relationship, indicating hierarchical or derivative program-unit definitions (for example, an override or template program unit pointing back to an original). Because registration drives the TPA execution path, VEA_PROGRAM_UNITS is best treated as a foundational reference table rather than a transactional one.

Key Information Stored

The primary key is composite: PK_VEA_PROGRAM_UNITS is defined on LAYER_PROVIDER_CODE and PROGRAM_UNIT_ID. The metadata also documents two unique indexes that represent business-key candidates: VEA_PROGRAM_UNITS_U1 on (LAYER_PROVIDER_CODE, PROGRAM_UNIT_ID) and VEA_PROGRAM_UNITS_U2 on (LAYER_PROVIDER_CODE, PACKAGE_ID, NAME). The U2 index implies a program unit is uniquely named within a package for a given provider.

  • PROGRAM_UNIT_ID — surrogate identifier for the registered program unit, forming half of the primary key.
  • LAYER_PROVIDER_CODE — identifies the layer provider that owns the registration; part of the primary key and carried into nearly every child table.
  • PACKAGE_ID — foreign key into VEA_PACKAGES, tying the program unit to its enclosing PL/SQL package.
  • PROGRAM_UNIT_TYPE — classification of the unit (for example, procedure or function within the TPA model).
  • NAME — the program unit name, combined with PACKAGE_ID and provider code in unique index U2.
  • PUBLIC_FLAG and CUSTOMIZABLE_FLAG — govern external visibility and whether the unit may be overridden by customer or partner extensions.
  • TPS_FLAG — marks participation in the Trading Partner Server processing path.
  • LABEL and RETURN_TYPE — display/runtime metadata describing the unit's invocation signature.
  • TPA_PROGRAM_UNIT_ID — self-referencing identifier linking a derived unit to its originating unit (the table has a documented FK from LAYER_PROVIDER_CODE and TPA_PROGRAM_UNIT_ID back into VEA_PROGRAM_UNITS).
  • PROGRAM_APPLICATION_ID, PROGRAM_ID, and PROGRAM_UPDATE_DATE — identify the concurrent-program registration that generated or maintains the unit.
  • CREATED_BY, CREATION_DATE, LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN, and REQUEST_ID — standard audit columns.
  • DESCRIPTION — free-text explanation of the program unit's role.

Common Use Cases and Queries

Typical uses include auditing which program units are registered for a layer provider, identifying customizable units exposed to extensions, and tracing layer header execution back to the program unit that implements it. All queries must supply LAYER_PROVIDER_CODE, since it is part of every access path.

  • List units for a provider: SELECT PROGRAM_UNIT_ID, PACKAGE_ID, NAME, PROGRAM_UNIT_TYPE, PUBLIC_FLAG FROM VEA_PROGRAM_UNITS WHERE LAYER_PROVIDER_CODE = :provider ORDER BY NAME.
  • Resolve package membership: join VEA_PROGRAM_UNITS to VEA_PACKAGES on LAYER_PROVIDER_CODE to report which package each unit belongs to.
  • Find customizable units: filter CUSTOMIZABLE_FLAG = 'Y' to enumerate extension points.
  • Trace layer execution: join VEA_LAYER_HEADERS to VEA_PROGRAM_UNITS on PROGRAM_UNIT_LP_CODE / PROGRAM_UNIT_ID, and again for the TPS counterpart columns.
  • Detect derived units: rows where TPA_PROGRAM_UNIT_ID is populated indicate a relationship to a base unit in the same table.

For reporting, pivot counts by PROGRAM_UNIT_TYPE and PUBLIC_FLAG per provider to surface registration coverage and customization exposure.

Related Objects

The following objects reference or are referenced by VEA_PROGRAM_UNITS, based on the documented foreign-key relationships:

  • VEA_PACKAGES — referenced via LAYER_PROVIDER_CODE and PACKAGE_ID; the parent package of each program unit.
  • VEA_PROGRAM_UNITS (self) — LAYER_PROVIDER_CODE and TPA_PROGRAM_UNIT_ID define the derived-to-base relationship.
  • VEA_LAYERS — references this table through PROGRAM_UNIT_LP_CODE and NEW_PROGRAM_UNIT_ID.
  • VEA_LAYER_HEADERS — references this table twice: via PROGRAM_UNIT_LP_CODE and PROGRAM_UNIT_ID, and via TPS_PROGRAM_UNIT_LP_CODE and TPS_PROGRAM_UNIT_ID.
  • VEA_PARAMETERS — references this table through LAYER_PROVIDER_CODE and PROGRAM_UNIT_ID, holding parameter definitions for the unit.

Together these tables form the core registration and execution graph of the VEA Trading Partner Architecture, with VEA_PROGRAM_UNITS acting as the hub from which layer headers, layers, and parameter definitions hang.