0% found this document useful (0 votes)
0 views4 pages

Users SQL Diag

The document contains a SQL query that retrieves employee information from various tables, including personal details, employment status, and assignment data. It joins multiple tables to gather comprehensive data about employees, their managers, and organizational units. The query also includes filtering conditions based on effective dates and specific person numbers.

Uploaded by

Adnan Saleem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views4 pages

Users SQL Diag

The document contains a SQL query that retrieves employee information from various tables, including personal details, employment status, and assignment data. It joins multiple tables to gather comprehensive data about employees, their managers, and organizational units. The query also includes filtering conditions based on effective dates and specific person numbers.

Uploaded by

Adnan Saleem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

SELECT papf.

person_id,
papf.person_number EMPLOYEE_ID,
ppn.first_name,
ppn.middle_names,
ppn.last_name,
ppn.title,
pps.date_start HIRE_DATE,
pps.actual_termination_date TERMINATION_DATE,
paam.assignment_type,
paam.employee_category,
past.assignment_status_code EMPLOYEE_STATUS,
pps.attribute1 car_allowance,
pea.email_address,
papf_s.person_number
manager_person_number,
Greatest(papf.creation_date, paam.creation_date) creation_date,
Greatest(papf.last_update_date, paam.last_update_date) last_update_date,
papf.effective_start_date per_eff_start_date
,
papf.effective_end_date
per_eff_end_date,
paam.effective_start_date
assgn_eff_start_date,
paam.effective_end_date assgn_eff_end_date
,
hio.source_system_id
wrel_system_id,
hio_assgn.source_system_id assgn_system_id,
hio_wt.source_system_id wt_system_id,
hio_asgnsup.source_system_id assgnsup_system_id
,
xep.name
legal_employer,
dep.name hr_department,
pjf.job_code,
bu.name business_unit,
Decode(gcc.segment1, NULL, NULL,
gcc.segment1
|| '.'
||gcc.segment2
|| '.'
||gcc.segment3
|| '.'
||gcc.segment4
|| '.'
||gcc.segment5
|| '.'
||gcc.segment6
|| '.'
|| gcc.segment7) expense_account,
mgr_info.mgr_first_name,
mgr_info.mgr_last_name,
mgr_info.mgr_email_address,
mgr_info.mgr_person_id,
mgr_info.mgr_person_number,
pasf.manager_id manager_person_id,
paam.assignment_id paam_assignment_id
FROM per_all_people_f papf,
per_person_names_f ppn,
per_all_assignments_m paam,
per_all_assignments_m paam_wt,
per_periods_of_service pps,
per_email_addresses pea,
per_assignment_status_types past,
per_assignment_supervisors_f pasf,
per_all_assignments_m paam_s,
per_all_people_f papf_s,
hrc_integration_key_map hio,
hrc_integration_key_map hio_assgn,
hrc_integration_key_map hio_wt,
hrc_integration_key_map hio_asgnsup,
hr_all_organization_units_f haou,
xle_entity_profiles xep,
hr_all_organization_units_tl dep,
hr_all_organization_units_tl bu,
per_jobs_f pjf,
gl_code_combinations gcc,
(SELECT ppos.person_id,
Max(ppos.date_start) date_start
FROM per_periods_of_service ppos
GROUP BY ppos.person_id) ppos,

(select mgr_papf.person_number mgr_person_number, mgr_papf.person_id


mgr_person_id, mgr_names.first_name mgr_first_name, mgr_names.last_name
mgr_last_name, mgr_email.email_address mgr_email_address

from per_all_people_f mgr_papf, per_person_names_f mgr_names,


per_email_addresses mgr_email

where 1=1 --mgr_papf.person_id = pasf.manager_id


and mgr_names.person_id = mgr_email.person_id
and mgr_names.person_id = mgr_papf.person_id

and mgr_names.name_type='GLOBAL'

and (trunc(sysdate) between trunc(mgr_papf.effective_start_date) and


trunc(mgr_papf.effective_end_date))
and (trunc(sysdate) between trunc(mgr_names.effective_start_date) and
trunc(mgr_names.effective_end_date))
and (trunc(sysdate) between trunc(mgr_email.date_from) and
trunc(nvl(mgr_email.date_to,sysdate)))

) mgr_info

WHERE papf.person_id = ppn.person_id


AND papf.person_id = paam.person_id
AND paam.work_terms_assignment_id = paam_wt.assignment_id
AND papf.person_id = pps.person_id
AND pasf.manager_id = mgr_info.mgr_person_id(+)
AND paam.period_of_service_id = pps.period_of_service_id
AND papf.person_id = pea.person_id(+)
AND pea.email_type(+) = 'W1'
AND paam.assignment_status_type_id = past.assignment_status_type_id(+)
AND paam.assignment_id = pasf.assignment_id (+)
AND pasf.manager_assignment_id = paam_s.assignment_id(+)

AND paam_s.person_id = papf_s.person_id(+)


AND pps.period_of_service_id = hio.surrogate_id
AND paam.assignment_id = hio_assgn.surrogate_id
AND paam_wt.assignment_id = hio_wt.surrogate_id
AND pasf.assignment_supervisor_id = hio_asgnsup.surrogate_id(+)
AND paam.legal_entity_id = haou.organization_id
AND haou.legal_entity_id = xep.legal_entity_id
AND paam.organization_id = dep.organization_id(+)
AND paam.business_unit_id = bu.organization_id(+)
AND paam.job_id = pjf.job_id(+)
AND paam.default_code_comb_id = gcc.code_combination_id (+)
AND hio.object_name = 'PeriodOfService'
AND hio_assgn.object_name = 'Assignment'
AND hio_wt.object_name = 'Assignment'
AND hio_asgnsup.object_name(+) = 'AssignmentSupervisor'
AND Trunc(SYSDATE) BETWEEN papf.effective_start_date AND
papf.effective_end_date
AND Trunc(SYSDATE) BETWEEN ppn.effective_start_date AND
ppn.effective_end_date

---AND Trunc(SYSDATE) BETWEEN paam.effective_start_date AND


--- paam.effective_end_date

---AND Trunc(SYSDATE) BETWEEN paam_wt.effective_start_date AND


--- paam_wt.effective_end_date

AND Trunc(SYSDATE) BETWEEN pasf.effective_start_date(+) AND


pasf.effective_end_date(+)

---AND Trunc(SYSDATE) BETWEEN paam_s.effective_start_date(+) AND


--- paam_s.effective_end_date(+)

AND Trunc(SYSDATE) BETWEEN papf_s.effective_start_date(+) AND


papf_s.effective_end_date(+)
AND Trunc(SYSDATE) BETWEEN haou.effective_start_date AND
haou.effective_end_date
AND Trunc(SYSDATE) BETWEEN pjf.effective_start_date(+) AND
pjf.effective_end_date(+)
AND pps.date_start = ppos.date_start
AND pps.person_id = ppos.person_id
AND ppn.name_type = 'GLOBAL'
AND paam.primary_flag = 'Y'
AND pps.primary_flag = 'Y'
AND dep.LANGUAGE(+) = 'US'
AND bu.LANGUAGE(+) = 'US'
--and papf.person_number ='361943'
and papf.person_number='678332'

---AND paam.effective_latest_change = 'Y'


---AND paam.work_terms_assignment_id IS NOT NULL

AND ( papf.last_update_date BETWEEN


Nvl(:p_start_date, papf.last_update_date) AND
Nvl(:p_end_date, papf.last_update_date)
---OR paam.last_update_date BETWEEN
--- Nvl(:p_start_date, paam.last_update_date)
--- AND
--- Nvl(:p_end_date, paam.last_update_date)
OR pps.last_update_date BETWEEN
Nvl(:p_start_date, pps.last_update_date)
AND
Nvl(:p_end_date, pps.last_update_date)
OR ppn.last_update_date BETWEEN
Nvl(:p_start_date, ppn.last_update_date)
AND
Nvl(:p_end_date, ppn.last_update_date)
OR pea.last_update_date BETWEEN
Nvl(:p_start_date, pea.last_update_date)
AND
Nvl(:p_end_date, pea.last_update_date) )

You might also like