SELECT
ppf.person_number
, ppf.PERSON_ID
, ppn.first_name
, ppn.last_name
, ppf.EFFECTIVE_START_DATE hire_date
, pea.EMAIL_ADDRESS
, PJF.NAME JOB_NAME
, haou2.NAME Ledger
, PU.USERNAME
, (
SELECT
ppnf.full_name
FROM
per_person_names_f ppnf
WHERE
ppnf.person_id = pasf.manager_id
AND ppnf.name_type = 'GLOBAL'
)
supervisorname
, glcc.segment1 ||'.' || glcc.segment2 ||'.' || glcc.segment3 ||'.' || glcc.segment4 ||'.' || glcc.segment5 ||'.' || glcc.segment6 ||'.' || glcc.segment7 ||'.' || glcc.segment8 defaultexpaccount
-- ,(SELECT listagg(prdv.role_name, ',') within GROUP (
-- ORDER BY role_name) AS role_name
-- FROM per_user_roles pur,
-- per_users puq,
-- per_roles_dn_vl prdv
-- WHERE pur.user_id = puq.user_id
-- AND pur.role_id = prdv.role_id
-- AND puq.user_id =pu.user_id
-- AND rownum <10
-- GROUP BY pur.user_id
-- ) role_name
FROM
per_all_people_f ppf
, per_person_names_f ppn
, PER_ALL_ASSIGNMENTS_M paam
, per_assignment_supervisors_f pasf
, gl_code_combinations glcc
, PER_EMAIL_ADDRESSES pea
, hr_all_organization_units haou2
, PER_JOBS pjf
, PER_USERS PU
WHERE
1 = 1
AND ppf.person_id = ppn.person_id
AND ppf.person_id = paam.person_id(+)
AND ppf.person_id = pasf.person_id(+)
AND NVL( pasf.manager_type,'LINE_MANAGER') = 'LINE_MANAGER'
AND ppf.person_id = pea.person_id(+)
AND PAAM.JOB_ID = PJF.JOB_ID(+)
AND PAAM.default_code_comb_id = glcc.code_combination_id(+)
AND PAAM.BUSINESS_UNIT_ID = haou2.organization_id(+)
AND PPF.PERSON_ID = PU.PERSON_ID(+)
AND ppn.name_type = 'GLOBAL'
AND TRUNC (SYSDATE) BETWEEN TRUNC (PAAM.effective_start_date) AND TRUNC (PAAM.effective_end_date)
AND TRUNC (SYSDATE) BETWEEN TRUNC (NVL(pasf.effective_start_date,sysdate)) AND TRUNC(NVL(pasf.effective_end_date,sysdate))
AND TRUNC (SYSDATE) BETWEEN TRUNC (ppn.effective_start_date) AND TRUNC (ppn.effective_end_date)
AND TRUNC (SYSDATE) BETWEEN TRUNC (ppf.effective_start_date) AND TRUNC (ppf.effective_end_date)
AND PAAM.ASSIGNMENT_TYPE IN ('E'
,'C')
And upper(ppn.first_name) like nvl(upper(:IP_First_Name),upper(ppn.first_name))
And upper(ppn.last_name) like nvl(upper(:IP_Last_Name),upper(ppn.last_name))
And upper(ppf.person_number) like nvl(upper(:IP_Person_number),upper(ppf.person_number))
And upper(PU.USERNAME) like nvl(upper(:IP_Username),upper(PU.USERNAME))
And upper(pea.EMAIL_ADDRESS) like nvl(upper(:IP_EmailAddress),upper(pea.EMAIL_ADDRESS))
ORDER BY
ppf.person_number