Different VPD External Predicates On Report Table (Doc ID 817624.1)

Last updated on SEPTEMBER 08, 2016

Applies to:

Oracle Transportation Management - Version: 5.5.05.03 and later   [Release: 5.5 and later ]
Information in this document applies to any platform.
***Checked for relevance on 03-May-2011***

Symptoms

When a new VPD profile is created, a predicate is automatically created for the report table when the profile is saved:

(not exists (select 'X' from report_restrict_from_level rl,groupmembers gm
where rl.report_gid = report.report_gid and gm.gm_type= 'L' and gm.gm_group =
rl.gl_level and gm.gm_member = sys_context('gl_user_ctx','gl_user_gid')))

However, the predicate that is created is not the same as the one that exists in the public DEFAULT VPD profile:

(not exists (select 'X' from report_restrict_from_level rl,groupmembers gm
where rl.report_gid = report.report_gid and gm.gm_type= 'L' and gm.gm_group =
rl.gl_level and gm.gm_member = 'ur_'||
sys_context('gl_user_ctx','user_role_gid')))

So without manual interference, the new predicates do not work.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms