SELECT p.pol_name as policy_name, g.group# AS group_num,
g.code AS short_name, g.name AS long_name,
g.parent# AS parent_num, pg.code AS parent_name
FROM LBACSYS.sa$pol p, LBACSYS.ols$groups g, LBACSYS.ols$groups pg
WHERE p.pol# = g.pol#
AND g.pol# = pg.pol# (+)
AND g.parent# = pg.group#(+)
and (p.pol# in (select pol# from LBACSYS.sa$admin where usr_name=user)
OR
(g.pol#,g.group#) in (select pol#,group#
from LBACSYS.ols$user_groups
where usr_name = sa_session.sa_user_name(
lbac_cache.policy_name(pol#))))
SELECT P.POL_NAME AS POLICY_NAME
, G.GROUP# AS GROUP_NUM
,
G.CODE AS SHORT_NAME
, G.NAME AS LONG_NAME
,
G.PARENT# AS PARENT_NUM
, PG.CODE AS PARENT_NAME
FROM LBACSYS.SA$POL P
, LBACSYS.OLS$GROUPS G
, LBACSYS.OLS$GROUPS PG
WHERE P.POL# = G.POL#
AND G.POL# = PG.POL# (+)
AND G.PARENT# = PG.GROUP#(+)
AND (P.POL# IN (SELECT POL#
FROM LBACSYS.SA$ADMIN
WHERE USR_NAME=USER)
OR
(G.POL#
, G.GROUP#) IN (SELECT POL#
, GROUP#
FROM LBACSYS.OLS$USER_GROUPS
WHERE USR_NAME = SA_SESSION.SA_USER_NAME(
LBAC_CACHE.POLICY_NAME(POL#))))
|
|
|