Search Results wf_roles




Overview

WF_ROLES is a public APPS-owned view in the FND – Application Object Library product that exposes the Workflow Directory Service role repository. It provides a denormalized, language-aware read interface over the Workflow local role tables, presenting role identity, addressing, and lifecycle attributes in a single queryable object. In Oracle EBS 12.1.1 and 12.2.2, WF_ROLES is the canonical supported access point for reports, concurrent programs, and integrations that need to enumerate workflow roles — including users, groups, and application roles — without querying the underlying Workflow tables directly.

The view is documented as VALID in the ETRM and is classified as a public interface, meaning it is intended for customer and partner consumption. Because it abstracts the physical role storage, Oracle can evolve the base structures while preserving the WF_ROLES contract used by existing customizations.

Underlying Base Objects

WF_ROLES is defined over two documented base objects: WF_LOCAL_ROLES and WF_LOCAL_ROLES_TL. The first is the primary local role store and supplies name, notification preference, language, territory, e-mail, fax, origination system keys, start date, status, expiration date, and partition identifier. The second is the translation table that supplies localized display names and descriptions keyed by language.

The view joins the two on ORIG_SYSTEM, ORIG_SYSTEM_ID, NAME, and PARTITION_ID using outer joins to the translation table (WRT.ORIG_SYSTEM (+) = WR.ORIG_SYSTEM, and so on), with the translation language constrained to the session language via WRT.LANGUAGE (+) = USERENV('LANG'). Two filters are applied: rows whose PARTITION_ID equals 3 (the PER_ROLE partition) are excluded, and rows are retained only when NVL(WR.EXPIRATION_DATE, SYSDATE+1) > SYSDATE, so expired roles are suppressed by default. Display name and description fall back to WR.DISPLAY_NAME when no translation row exists.

Key Columns

  • NAME — the role name, typically the internal key used in workflow role resolution.
  • DISPLAY_NAME — the localized display name, from the translation table when available.
  • DESCRIPTION — the role description; the view substitutes WR.DISPLAY_NAME when no translated description exists.
  • NOTIFICATION_PREFERENCE — the delivery preference (for example MAILHTML or MAILTEXT) used by the Notification System.
  • LANGUAGE and TERRITORY — the role's linguistic and territorial attributes.
  • EMAIL_ADDRESS and FAX — routing addresses for notifications.
  • ORIG_SYSTEM and ORIG_SYSTEM_ID — the source system and key identifying the originating directory record; these form the join keys to the translation table.
  • START_DATE, STATUS, EXPIRATION_DATE — role lifecycle attributes used for active/inactive determination.

Common Use Cases and Queries

Typical scenarios include listing active roles for a responsibility or menu, resolving notification recipients, validating that a role exists before routing, and auditing role populations for a given origination system. The view is commonly the source for custom reports and for integration extracts feeding external directories.

List active roles with display names:

SELECT name, display_name, email_address, status
FROM   apps.wf_roles
WHERE  status = 'ACTIVE'
ORDER  BY name;

Find roles sourced from a particular system:

SELECT name, display_name, orig_system, orig_system_id
FROM   apps.wf_roles
WHERE  orig_system = 'FND_USR';

Locate a role for notification routing:

SELECT name, notification_preference, email_address
FROM   apps.wf_roles
WHERE  name = :role_name;

Because expiration filtering is built into the view definition, queries against WF_ROLES return only roles that are not expired as of the current date, which simplifies everyday reporting but means historical or expired roles require direct access to WF_LOCAL_ROLES.