Search Results fnd_request_group_units




Overview

The FND_REQUEST_GROUP_UNITS table is a core data object within the Oracle E-Business Suite Application Object Library (FND). It serves as the junction table that defines the membership of executable units within report security groups. In Oracle EBS, a request group is a security construct used to control user access to concurrent programs, request sets, and other executable units. This table directly implements that security model by storing the specific associations between a request group (defined in FND_REQUEST_GROUPS) and the individual programs or sets it contains. Its role is critical for the administration and enforcement of application security, determining which users can submit specific reports and jobs based on their assigned responsibilities.

Key Information Stored

The table's structure is designed to uniquely identify a membership record and define the type of unit being secured. Its primary key is a composite of five columns, ensuring a unique entry for each unit within a group. The most critical columns include APPLICATION_ID and REQUEST_GROUP_ID, which together identify the specific request group. The REQUEST_UNIT_TYPE column indicates the category of the secured item, such as a single program ('P') or a request set ('S'). The UNIT_APPLICATION_ID and REQUEST_UNIT_ID columns identify the specific concurrent program (in FND_CONCURRENT_PROGRAMS) or request set (in FND_REQUEST_SETS) that is a member of the group. This design allows a single request group to contain a mixture of different unit types from various applications.

Common Use Cases and Queries

A primary use case is auditing and reporting on security configurations. Administrators often need to identify all programs accessible via a specific responsibility or user. A typical query joins this table to FND_REQUEST_GROUPS, FND_CONCURRENT_PROGRAMS, and FND_APPLICATION to produce a readable report. For example, to list all concurrent programs in a request group named 'System Administrator Reports', one would use a SQL pattern similar to:

  • SELECT cp.user_concurrent_program_name, a.application_name
  • FROM fnd_request_group_units rgu,
  • fnd_concurrent_programs cp,
  • fnd_application a,
  • fnd_request_groups rg
  • WHERE rgu.request_group_id = rg.request_group_id
  • AND rg.request_group_name = 'System Administrator Reports'
  • AND rgu.request_unit_type = 'P'
  • AND rgu.unit_application_id = cp.application_id
  • AND rgu.request_unit_id = cp.concurrent_program_id
  • AND cp.application_id = a.application_id;

Another common scenario is troubleshooting, where a user cannot see a program that is expected to be available; the issue is often traced to a missing entry in this table for the relevant request group.

Related Objects

FND_REQUEST_GROUP_UNITS has integral relationships with several key FND tables, as defined by its foreign keys. The parent table is FND_REQUEST_GROUPS, which defines the security group itself. The child relationships point to the objects that can be secured: FND_CONCURRENT_PROGRAMS for individual reports and FND_REQUEST_SETS for collections of programs. It also references FND_APPLICATION via UNIT_APPLICATION_ID to identify the owning product. These relationships form the backbone of the concurrent program security model. Changes to this table are typically managed through the Oracle EBS front-end via the "Define Request Group" form (Administer -> Security -> Responsibility -> Request), not via direct SQL manipulation.