Search Results fem_object_types_tl




Overview

APPS.FEM_OBJECT_TYPES_PKG is the PL/SQL package body responsible for maintaining the definition of object types within the Enterprise Tax Reporting and Management (ETRM) / Financial Enterprise Management (FEM) subsystem of Oracle E-Business Suite. Object types are the configurable metadata records that describe each kind of object the ETRM processing engine can operate upon — for example, balances, journals, or reconciliation records. Each object type record binds an object type code to an underlying PL/SQL implementation package, a concurrent program, workflow and processing engine attributes, and a series of behavioural flags (rerunnable, undo, executable, workflow enabled, ruleset availability, and so on). The package is classified as OTHER in the ETRM API register, meaning it is a low-level maintenance package rather than a public, consumer-facing API. It provides the canonical DML layer over the base table and its translation table, and is referenced by three other packages in the FEM schema, which treat it as the single point of control for object type configuration data.

Key Procedures and Functions

The package exposes six documented procedures:

  • INSERT_ROW — Creates a new object type definition. It inserts the full technical attribute set (PL/SQL package name, OA function name, concurrent program name and application, process engine code, usage code, and the various enablement flags) into the base table, and records the standard WHO columns. A row-level lock is taken against the base table by object type code before the insert.
  • LOCK_ROW — Acquires a row-level lock on an existing object type record so that a subsequent update or delete executes against a consistent version of the row. This is the standard concurrency guard called before modification.
  • UPDATE_ROW — Modifies the attributes of an existing object type, including its name, description, implementation package, concurrency settings, and all behavioural flags. It maintains the audit columns (LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN) on each call.
  • DELETE_ROW — Removes an object type definition, cascading the deletion of its translated content in the TL table so that no orphaned language rows remain.
  • ADD_LANGUAGE — Inserts a new language row into the translation table for an existing object type, populating the translatable columns. Invoked when a new language is enabled or when seed data is loaded in an additional locale.
  • TRANSLATE_ROW — Updates the translatable columns (object type name and description) for an existing language row. This is the procedure used by the translation/seed-data load utilities to refresh translated text without altering the underlying base record.

Tables Accessed

  • FEM_OBJECT_TYPES_B — The base table holding all non-translatable object type attributes. It is the target of INSERT_ROW, UPDATE_ROW, DELETE_ROW and the source for LOCK_ROW.
  • FEM_OBJECT_TYPES_TL — The translation table storing language-specific object type names and descriptions. It is written by INSERT_ROW, DELETE_ROW, ADD_LANGUAGE and TRANSLATE_ROW. Because the user term fem_object_types_tl appears in search, this is the table most commonly associated with the package's multilingual behaviour.
  • FND_LANGUAGES — The Oracle Applications language repository, read to resolve the set of installed languages and to determine the source language when creating or refreshing translation rows.

Usage Notes

FEM_OBJECT_TYPES_PKG is not intended for direct invocation by end users or by external integrations. It is called from the ETRM administrative setup forms that maintain object type definitions, from concurrent programs that seed or upgrade object type metadata during patching, and from the three FEM packages that reference it as an internal dependency. Because the procedures operate on the base and translation tables directly, any custom code that must create or maintain an object type should call INSERT_ROW, UPDATE_ROW and DELETE_ROW rather than issuing DML against FEM_OBJECT_TYPES_B and FEM_OBJECT_TYPES_TL. Translation maintenance must always use ADD_LANGUAGE and TRANSLATE_ROW so that the base table and its language rows remain synchronised; combining a LOCK_ROW call with UPDATE_ROW or DELETE_ROW is the expected pattern for concurrency-safe modification of existing definitions.