Search Results jtf_brm_rules_vl




Overview

JTF_BRM_RULES_VL is a translation view owned by the APPS schema in Oracle E-Business Suite, delivered as part of the JTF – CRM Foundation product. It presents business rule data in the language of the current user session by joining the base entity table JTF_BRM_RULES_B with its translation table JTF_BRM_RULES_TL. The "_VL" suffix denotes a "view with language" construct, the standard Oracle EBS pattern for exposing translatable columns such as names and descriptions alongside language-independent attributes.

The view is a reporting and integration layer rather than a transactional object. It is not a table, and DML against it is mediated through the underlying base objects and their Instead-Of triggers. In Oracle EBS 12.1.1 and 12.2.2 the object is documented as VALID in the ETRM metadata, and it exposes the full set of descriptive flexfield columns (ATTRIBUTE1 through ATTRIBUTE15 and ATTRIBUTE_CATEGORY), which makes it suitable for extracting both seeded and customer-defined rule attributes.

Underlying Base Objects

The view is defined over two synonym-referenced base objects: JTF_BRM_RULES_B (the base, non-translatable table) and JTF_BRM_RULES_TL (the translation table). The documentation identifies both references as SYNONYM entries, meaning the view resolves them through the APPS synonyms pointing to the owning JTF tables.

The view text selects from JTF_BRM_RULES_TL aliased as TL and JTF_BRM_RULES_B aliased as B, joined on RULE_ID, with the predicate TL.LANGUAGE = USERENV('LANG'). This has two important consequences. First, only rows translated for the session language are returned; a rule with no matching translation row will not appear. Second, translatable columns (RULE_NAME, RULE_DESCRIPTION) are sourced from TL while all operational columns are sourced from B. B.ROWID is surfaced as ROW_ID to provide a row identifier for update purposes.

Key Columns

  • ROW_ID – exposes B.ROWID from the base table, used by the Instead-Of trigger infrastructure for row identification.
  • RULE_ID – the primary key joining the base and translation tables; the central identifier for a business rule.
  • RULE_NAME, RULE_DESCRIPTION – translatable text sourced from JTF_BRM_RULES_TL in the session language.
  • BRM_OBJECT_TYPE – the type of object the rule applies to.
  • BRM_OBJECT_CODE – the code identifying the business object governed by the rule; this is the column most frequently used to filter or group rules by the entity they constrain.
  • SEEDED_FLAG – indicates whether the rule is Oracle-seeded or customer-defined.
  • VIEW_DEFINITION, VIEW_NAME – the stored view name and definition associated with the rule.
  • RULE_OWNER – identifies the owner of the rule.
  • START_DATE_ACTIVE, END_DATE_ACTIVE – the effective date range for the rule.
  • ATTRIBUTE_CATEGORY, ATTRIBUTE1–ATTRIBUTE15 – descriptive flexfield context and segment values.
  • OBJECT_VERSION_NUMBER – optimistic locking column used by the OAF framework.
  • APPLICATION_ID – the application owning the rule.
  • CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, LAST_UPDATE_LOGIN – standard WHO audit columns.

Common Use Cases and Queries

Typical uses include auditing which business rules exist for a given object code, distinguishing seeded from custom rules, and extracting flexfield data for rule configurations. Because translation is language-filtered, reports run under different LANG settings may return different strings but the same set of RULE_ID values, provided translations exist.

Listing rules for a specific object code:

SELECT rule_id, rule_name, brm_object_type, seeded_flag, start_date_active, end_date_active
FROM apps.jtf_brm_rules_vl
WHERE brm_object_code = :p_object_code
ORDER BY rule_name;

Isolating customer-defined rules with their flexfield context:

SELECT rule_id, rule_name, brm_object_code, attribute_category, attribute1, attribute2
FROM apps.jtf_brm_rules_vl
WHERE seeded_flag = 'N';

Examining the backing view definition stored for a rule:

SELECT rule_id, view_name, view_definition
FROM apps.jtf_brm_rules_vl
WHERE brm_object_code = :p_object_code;

Because the view carries ROW_ID and OBJECT_VERSION_NUMBER, it also serves OAF-based maintenance pages in the CRM Foundation module, where it functions as the queryable entity while writes are routed to JTF_BRM_RULES_B and JTF_BRM_RULES_TL.