Search Results iso_language




Overview

FND_LANGUAGES_VL is a seeded, read-only view owned by the APPS schema in Oracle E-Business Suite. It belongs to the FND — Application Object Library product and is present in both release 12.1.1 and 12.2.2. The _VL suffix denotes a "validated language" view: it joins the language base table to its translation table and filters rows so that only the description matching the session's current runtime language is returned. This pattern is standard throughout EBS for reference data that must display a translated description without duplicating rows in application queries.

From a reporting and integration perspective, the view presents the definitive list of languages known to the EBS instance, together with the flags and NLS attributes that govern how each language is treated at runtime. Developers and analysts query it to enumerate installed languages, resolve a language code to its numeric identifier, or obtain ISO and NLS attributes used when building interfaces, BI Publisher reports, and outbound file extracts. Because the view is a thin, validated wrapper over low-volatility reference data, it is safe to use in custom code and is not subject to the multi-org or security-group filtering applied to transactional views.

Underlying Base Objects

The ETRM metadata documents two referenced base objects, both accessed through public synonyms: FND_LANGUAGES and FND_LANGUAGES_TL. The view text joins them as follows:

  • FND_LANGUAGES (aliased B) supplies the primary language rows, including the primary key, NLS attributes, ISO codes, the INSTALLED_FLAG, and the standard WHO audit columns (CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, LAST_UPDATE_LOGIN).
  • FND_LANGUAGES_TL (aliased T) supplies the translated DESCRIPTION. It is the translation table for the base entity, keyed by LANGUAGE_CODE and the LANGUAGE column that identifies the translation language.
  • The join predicate is B.LANGUAGE_CODE = T.LANGUAGE_CODE, with the critical filter T.LANGUAGE = USERENV('LANG'). USERENV('LANG') returns the language of the current database session, so the view always yields exactly one description per language code — the one appropriate to the session.
  • B.ROWID is exposed as ROW_ID, a surrogate identifier that is not a true column of the underlying table. Because it is based on a ROWID, it should be treated as opaque and never used as a durable foreign key.

Key Columns

  • LANGUAGE_CODE — the short language identifier (for example, US for American English) and the join key to the translation table.
  • LANGUAGE_ID — numeric surrogate key for the language.
  • NLS_LANGUAGE and NLS_TERRITORY — the Oracle NLS components that together define the session locale.
  • ISO_LANGUAGE, ISO_TERRITORY, ISO_LANGUAGE_3 — two- and three-character ISO codes used in external data interchange.
  • NLS_CODESET — the character set associated with the language.
  • INSTALLED_FLAG — indicates whether the language is installed in the instance; only installed languages are generally available to users.
  • LOCAL_DATE_LANGUAGE and UTF8_DATE_LANGUAGE — language names formatted for localized and UTF-8 display, commonly used in date-format and prompt handling.
  • DESCRIPTION — the translated display name sourced from FND_LANGUAGES_TL, resolved for the session language.

Common Use Cases and Queries

The most frequent requirement is to list the languages installed in the instance with a human-readable name:

SELECT language_code, language_id, nls_language, nls_territory, description
FROM   apps.fnd_languages_vl
WHERE  installed_flag = 'I'
ORDER  BY description;

A related pattern resolves a single language during interface processing, where the code alone is known:

SELECT language_id, nls_language, iso_language
FROM   apps.fnd_languages_vl
WHERE  language_code = 'US';

Integration and extract routines frequently join the view to identify the language in which a concurrent program or notification should be rendered, or to map an ISO code onto the NLS parameters required by a database session. Analysts also use it to confirm the value of INSTALLED_FLAG before publishing a language to end users. Because the row set is small and effectively static, the view performs well without special tuning, though a concatenated index on FND_LANGUAGES_TL supports the translation join efficiently. As with all seeded FND objects, custom code should reference the view rather than the base tables, since the validated view encapsulates the session-language filter and guarantees a single description per row.