Query to get UserName by Service details in Fusion HCM
SELECT DISTINCT priv.service
, u.user_login user_login
-- , pu.user_id
, pu.person_id
-- , ppf.person_number
, priv.code privilege
, priv.name privilege_name
--, priv.description Privilege_Description
, fr.top_role_id role_id
, rtl.role_name
, fr.top_role_code role_code,
pu.active_flag username_status,
pu.suspended suspend_status,
pu.hr_terminated,
(select paf.ASSIGNMENT_STATUS_TYPE
from per_all_assignments_f paf
where paf.person_id = pu.person_id
and paf.primary_flag = 'Y'
AND paf.assignment_type in ('E','C','P')
and paf.effective_latest_change = 'Y'
and paf.assignment_sequence = (select max(paf1.assignment_sequence)
from per_all_assignments_f paf1
where paf1.person_id = pu.person_id
and paf1.primary_flag = 'Y'
AND paf1.assignment_type in ('E','C','P')
and paf1.effective_latest_change = 'Y'
and trunc(sysdate) BETWEEN paf1.EFFECTIVE_START_DATE and paf1.EFFECTIVE_END_DATE)
and trunc(sysdate) BETWEEN paf.EFFECTIVE_START_DATE and paf.EFFECTIVE_END_DATE
) ASSIGNMENT_STATUS_TYPE,
(select paf.ASSIGNMENT_number
from per_all_assignments_f paf
where paf.person_id = pu.person_id
and paf.primary_flag = 'Y'
AND paf.assignment_type in ('E','C','P')
and paf.effective_latest_change = 'Y'
and paf.assignment_sequence = (select max(paf1.assignment_sequence)
from per_all_assignments_f paf1
where paf1.person_id = pu.person_id
and paf1.primary_flag = 'Y'
AND paf1.assignment_type in ('E','C','P')
and paf1.effective_latest_change = 'Y'
and trunc(sysdate) BETWEEN paf1.EFFECTIVE_START_DATE and paf1.EFFECTIVE_END_DATE)
and trunc(sysdate) BETWEEN paf.EFFECTIVE_START_DATE and paf.EFFECTIVE_END_DATE
) ASSIGNMENT_number,
(select paf.assignment_type
from per_all_assignments_f paf
where paf.person_id = pu.person_id
and paf.primary_flag = 'Y'
AND paf.assignment_type in ('E','C','P')
and paf.effective_latest_change = 'Y'
and paf.assignment_sequence = (select max(paf1.assignment_sequence)
from per_all_assignments_f paf1
where paf1.person_id = pu.person_id
and paf1.primary_flag = 'Y'
AND paf1.assignment_type in ('E','C','P')
and paf1.effective_latest_change = 'Y'
and trunc(sysdate) BETWEEN paf1.EFFECTIVE_START_DATE and paf1.EFFECTIVE_END_DATE)
and trunc(sysdate) BETWEEN paf.EFFECTIVE_START_DATE and paf.EFFECTIVE_END_DATE
) assignment_type,
(select paf.action_code
from per_all_assignments_f paf
where paf.person_id = pu.person_id
and paf.primary_flag = 'Y'
AND paf.assignment_type in ('E','C','P')
and paf.effective_latest_change = 'Y'
and paf.assignment_sequence = (select max(paf1.assignment_sequence)
from per_all_assignments_f paf1
where paf1.person_id = pu.person_id
and paf1.primary_flag = 'Y'
AND paf1.assignment_type in ('E','C','P')
and paf1.effective_latest_change = 'Y'
and trunc(sysdate) BETWEEN paf1.EFFECTIVE_START_DATE and paf1.EFFECTIVE_END_DATE)
and trunc(sysdate) BETWEEN paf.EFFECTIVE_START_DATE and paf.EFFECTIVE_END_DATE
) action_code
FROM fusion.ase_user_role_mbr ur
, fusion.ase_role_tl rtl
, fusion.ase_user_b u
, fusion.per_users pu
, ( SELECT CONNECT_BY_ROOT parent_role_code top_role_code
, CONNECT_BY_ROOT parent_role_id top_role_id
, CONNECT_BY_ROOT parent_role_guid top_role_guid
, child_role_code role_code
, child_role_id role_id
, child_role_guid role_guid
FROM ( SELECT pr.code parent_role_code
, pr.role_id parent_role_id
, pr.guid parent_role_guid
, cr.code child_role_code
, cr.role_id child_role_id
, cr.guid child_role_guid
FROM fusion.ase_role_b pr
, fusion.ase_role_b cr
, fusion.ase_role_role_mbr rr
WHERE rr.effective_end_date IS NULL
AND cr.role_id = rr.parent_role_id
AND pr.role_id = rr.child_role_id ) role_hierarchy
CONNECT BY NOCYCLE PRIOR child_role_id = parent_role_id
UNION ALL
SELECT r.code
, r.role_id
, r.guid
, r.code
, r.role_id
, r.guid
FROM fusion.ase_role_b r) fr
, ( SELECT privrole.role_id
, priv.code
, privtl.name
, privtl.description
, privrole.effective_start_date policy_start_date
, privrole.effective_end_date policy_end_date
, metric.metric_name service
FROM fusion.ase_priv_role_mbr privrole
, fusion.ase_privilege_b priv
, fusion.ase_privilege_tl privtl
, ( SELECT vl.translated_value metric_set_code
, vl.description metric_set_name
FROM fnd_vs_value_sets vs
, fnd_vs_values_b v
, fnd_vs_values_tl vl
WHERE vs.value_set_code = 'ORA_PER_METRICS_SETS'
AND v.value_set_id = vs.value_set_id
AND v.enabled_flag = 'Y'
AND SYSDATE between nvl(v.start_date_active , SYSDATE) AND nvl(v.end_date_active , SYSDATE)
AND vl.value_id = v.value_id
AND vl.language = 'US' ) metricset
, ( SELECT vs.value_set_code metric_set_code
, vl.translated_value metric_code
, vl.description metric_name
FROM fnd_vs_value_sets vs
, fnd_vs_values_b v
, fnd_vs_values_tl vl
WHERE v.value_set_id = vs.value_set_id
AND v.enabled_flag = 'Y'
AND v.flex_value_attribute17 is null
AND SYSDATE between nvl(v.start_date_active , SYSDATE) AND nvl(v.end_date_active , SYSDATE)
AND vl.value_id = v.value_id
AND vl.language = 'US' ) metric
, ( SELECT vs.value_set_code metric_code
, vl.translated_value priv_code
FROM fnd_vs_value_sets vs
, fnd_vs_values_b v
, fnd_vs_values_tl vl
WHERE v.value_set_id = vs.value_set_id
AND v.enabled_flag = 'Y'
AND SYSDATE between nvl(v.start_date_active , SYSDATE) AND nvl(v.end_date_active , SYSDATE)
AND vl.value_id = v.value_id
AND vl.language = 'US' ) metricpriv
WHERE priv.privilege_id = privrole.privilege_id
AND priv.privilege_id = privtl.privilege_id
AND privtl.Language = 'US'
AND metric.metric_set_code = metricset.metric_set_code
AND metricpriv.metric_code = metric.metric_code
AND priv.code = metricpriv.priv_code ) priv
WHERE ur.user_id = u.user_id
AND rtl.role_id = ur.role_id
AND rtl.language = 'US'
AND fr.top_role_id = ur.role_id
AND priv.role_id = fr.role_id
AND NVL( ur.effective_end_date , SYSDATE ) >= SYSDATE
AND priv.policy_start_date <= NVL( ur.effective_end_date , SYSDATE )
AND NVL( priv.policy_end_date , SYSDATE ) >= SYSDATE
AND u.user_guid = pu.user_guid
AND ( pu.suspended is null or pu.suspended = 'N' )
AND u.user_login not in
( 'orcladmin'
, 'weblogic_read_only'
, 'xelsysadm'
, 'oamSoftwareUser'
, 'IDROUser'
, 'PolicyROUser'
, 'PolicyRWUser'
, 'oimAdminUser'
, 'IDMPolicyROUser'
, 'IDMPolicyRWUser'
, 'faoperator'
, 'saas_readonly'
, 'em_monitoring'
, 'oamAdminUser'
, 'weblogic_idm'
, 'IDRWUser'
, 'PUBLIC'
, 'FAAdmin'
, 'weblogic'
, 'XELOPERATOR'
, 'OblixAnonymous'
, 'OCLOUD9_osn_APPID' )
AND u.user_login not like 'FUSION_APPS_%_APPID'
order by service, user_login
, u.user_login user_login
-- , pu.user_id
, pu.person_id
-- , ppf.person_number
, priv.code privilege
, priv.name privilege_name
--, priv.description Privilege_Description
, fr.top_role_id role_id
, rtl.role_name
, fr.top_role_code role_code,
pu.active_flag username_status,
pu.suspended suspend_status,
pu.hr_terminated,
(select paf.ASSIGNMENT_STATUS_TYPE
from per_all_assignments_f paf
where paf.person_id = pu.person_id
and paf.primary_flag = 'Y'
AND paf.assignment_type in ('E','C','P')
and paf.effective_latest_change = 'Y'
and paf.assignment_sequence = (select max(paf1.assignment_sequence)
from per_all_assignments_f paf1
where paf1.person_id = pu.person_id
and paf1.primary_flag = 'Y'
AND paf1.assignment_type in ('E','C','P')
and paf1.effective_latest_change = 'Y'
and trunc(sysdate) BETWEEN paf1.EFFECTIVE_START_DATE and paf1.EFFECTIVE_END_DATE)
and trunc(sysdate) BETWEEN paf.EFFECTIVE_START_DATE and paf.EFFECTIVE_END_DATE
) ASSIGNMENT_STATUS_TYPE,
(select paf.ASSIGNMENT_number
from per_all_assignments_f paf
where paf.person_id = pu.person_id
and paf.primary_flag = 'Y'
AND paf.assignment_type in ('E','C','P')
and paf.effective_latest_change = 'Y'
and paf.assignment_sequence = (select max(paf1.assignment_sequence)
from per_all_assignments_f paf1
where paf1.person_id = pu.person_id
and paf1.primary_flag = 'Y'
AND paf1.assignment_type in ('E','C','P')
and paf1.effective_latest_change = 'Y'
and trunc(sysdate) BETWEEN paf1.EFFECTIVE_START_DATE and paf1.EFFECTIVE_END_DATE)
and trunc(sysdate) BETWEEN paf.EFFECTIVE_START_DATE and paf.EFFECTIVE_END_DATE
) ASSIGNMENT_number,
(select paf.assignment_type
from per_all_assignments_f paf
where paf.person_id = pu.person_id
and paf.primary_flag = 'Y'
AND paf.assignment_type in ('E','C','P')
and paf.effective_latest_change = 'Y'
and paf.assignment_sequence = (select max(paf1.assignment_sequence)
from per_all_assignments_f paf1
where paf1.person_id = pu.person_id
and paf1.primary_flag = 'Y'
AND paf1.assignment_type in ('E','C','P')
and paf1.effective_latest_change = 'Y'
and trunc(sysdate) BETWEEN paf1.EFFECTIVE_START_DATE and paf1.EFFECTIVE_END_DATE)
and trunc(sysdate) BETWEEN paf.EFFECTIVE_START_DATE and paf.EFFECTIVE_END_DATE
) assignment_type,
(select paf.action_code
from per_all_assignments_f paf
where paf.person_id = pu.person_id
and paf.primary_flag = 'Y'
AND paf.assignment_type in ('E','C','P')
and paf.effective_latest_change = 'Y'
and paf.assignment_sequence = (select max(paf1.assignment_sequence)
from per_all_assignments_f paf1
where paf1.person_id = pu.person_id
and paf1.primary_flag = 'Y'
AND paf1.assignment_type in ('E','C','P')
and paf1.effective_latest_change = 'Y'
and trunc(sysdate) BETWEEN paf1.EFFECTIVE_START_DATE and paf1.EFFECTIVE_END_DATE)
and trunc(sysdate) BETWEEN paf.EFFECTIVE_START_DATE and paf.EFFECTIVE_END_DATE
) action_code
FROM fusion.ase_user_role_mbr ur
, fusion.ase_role_tl rtl
, fusion.ase_user_b u
, fusion.per_users pu
, ( SELECT CONNECT_BY_ROOT parent_role_code top_role_code
, CONNECT_BY_ROOT parent_role_id top_role_id
, CONNECT_BY_ROOT parent_role_guid top_role_guid
, child_role_code role_code
, child_role_id role_id
, child_role_guid role_guid
FROM ( SELECT pr.code parent_role_code
, pr.role_id parent_role_id
, pr.guid parent_role_guid
, cr.code child_role_code
, cr.role_id child_role_id
, cr.guid child_role_guid
FROM fusion.ase_role_b pr
, fusion.ase_role_b cr
, fusion.ase_role_role_mbr rr
WHERE rr.effective_end_date IS NULL
AND cr.role_id = rr.parent_role_id
AND pr.role_id = rr.child_role_id ) role_hierarchy
CONNECT BY NOCYCLE PRIOR child_role_id = parent_role_id
UNION ALL
SELECT r.code
, r.role_id
, r.guid
, r.code
, r.role_id
, r.guid
FROM fusion.ase_role_b r) fr
, ( SELECT privrole.role_id
, priv.code
, privtl.name
, privtl.description
, privrole.effective_start_date policy_start_date
, privrole.effective_end_date policy_end_date
, metric.metric_name service
FROM fusion.ase_priv_role_mbr privrole
, fusion.ase_privilege_b priv
, fusion.ase_privilege_tl privtl
, ( SELECT vl.translated_value metric_set_code
, vl.description metric_set_name
FROM fnd_vs_value_sets vs
, fnd_vs_values_b v
, fnd_vs_values_tl vl
WHERE vs.value_set_code = 'ORA_PER_METRICS_SETS'
AND v.value_set_id = vs.value_set_id
AND v.enabled_flag = 'Y'
AND SYSDATE between nvl(v.start_date_active , SYSDATE) AND nvl(v.end_date_active , SYSDATE)
AND vl.value_id = v.value_id
AND vl.language = 'US' ) metricset
, ( SELECT vs.value_set_code metric_set_code
, vl.translated_value metric_code
, vl.description metric_name
FROM fnd_vs_value_sets vs
, fnd_vs_values_b v
, fnd_vs_values_tl vl
WHERE v.value_set_id = vs.value_set_id
AND v.enabled_flag = 'Y'
AND v.flex_value_attribute17 is null
AND SYSDATE between nvl(v.start_date_active , SYSDATE) AND nvl(v.end_date_active , SYSDATE)
AND vl.value_id = v.value_id
AND vl.language = 'US' ) metric
, ( SELECT vs.value_set_code metric_code
, vl.translated_value priv_code
FROM fnd_vs_value_sets vs
, fnd_vs_values_b v
, fnd_vs_values_tl vl
WHERE v.value_set_id = vs.value_set_id
AND v.enabled_flag = 'Y'
AND SYSDATE between nvl(v.start_date_active , SYSDATE) AND nvl(v.end_date_active , SYSDATE)
AND vl.value_id = v.value_id
AND vl.language = 'US' ) metricpriv
WHERE priv.privilege_id = privrole.privilege_id
AND priv.privilege_id = privtl.privilege_id
AND privtl.Language = 'US'
AND metric.metric_set_code = metricset.metric_set_code
AND metricpriv.metric_code = metric.metric_code
AND priv.code = metricpriv.priv_code ) priv
WHERE ur.user_id = u.user_id
AND rtl.role_id = ur.role_id
AND rtl.language = 'US'
AND fr.top_role_id = ur.role_id
AND priv.role_id = fr.role_id
AND NVL( ur.effective_end_date , SYSDATE ) >= SYSDATE
AND priv.policy_start_date <= NVL( ur.effective_end_date , SYSDATE )
AND NVL( priv.policy_end_date , SYSDATE ) >= SYSDATE
AND u.user_guid = pu.user_guid
AND ( pu.suspended is null or pu.suspended = 'N' )
AND u.user_login not in
( 'orcladmin'
, 'weblogic_read_only'
, 'xelsysadm'
, 'oamSoftwareUser'
, 'IDROUser'
, 'PolicyROUser'
, 'PolicyRWUser'
, 'oimAdminUser'
, 'IDMPolicyROUser'
, 'IDMPolicyRWUser'
, 'faoperator'
, 'saas_readonly'
, 'em_monitoring'
, 'oamAdminUser'
, 'weblogic_idm'
, 'IDRWUser'
, 'PUBLIC'
, 'FAAdmin'
, 'weblogic'
, 'XELOPERATOR'
, 'OblixAnonymous'
, 'OCLOUD9_osn_APPID' )
AND u.user_login not like 'FUSION_APPS_%_APPID'
order by service, user_login
Comments
Post a Comment