0% found this document useful (0 votes)
4 views

SQL Query - Changed Query (1)

The document contains a SQL query that retrieves employee assignment changes, including details such as effective date, employee number, job title, status, department, manager, and location. It compares current and previous values for various attributes to identify changes, specifically focusing on job changes, promotions, and other assignment modifications. The results are filtered to show only significant changes and are ordered by employee number in descending order.

Uploaded by

Venu Palakolanu
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

SQL Query - Changed Query (1)

The document contains a SQL query that retrieves employee assignment changes, including details such as effective date, employee number, job title, status, department, manager, and location. It compares current and previous values for various attributes to identify changes, specifically focusing on job changes, promotions, and other assignment modifications. The results are filtered to show only significant changes and are ordered by employee number in descending order.

Uploaded by

Venu Palakolanu
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

SELECT action_name

,effective_date
,Emp_Number AS "Emp_#"
,emp_name
,Job_Code
,Job_Code_Old
,Job_Title
,Job_Title_Old
,Status
,Status_Old
,Dept
,Dept_old
,Manager
,Manager_old
,Location_Code
,Location_Code_old
,Location_Desc
,Location_Desc_old
,FTE
,FTE_old
,Assignment_Last_Update_Date
,Assignment_Last_Updated_By
,Number_days_since_last_updated AS "#_days_since_last_updated"
FROM (
SELECT PAB.ACTION_NAME AS Action_Name
,TO_CHAR(PAAM.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS
Effective_Date
,PAPF.PERSON_NUMBER AS Emp_Number
,PPNF.FULL_NAME||' '||PPNF.MIDDLE_NAMES AS Emp_Name
,PJ.JOB_CODE AS Job_Code
,(select PJ1.JOB_CODE
FROM per_all_assignments_m paam1
,PER_JOBS PJ1
WHERE paam1.assignment_id = paam.assignment_id
and paam1.effective_end_date =
paam.effective_start_date-1
AND PAAM1.ASSIGNMENT_TYPE = 'E'
AND PAAM1.EFFECTIVE_LATEST_CHANGE = 'Y'
and paam1.job_id = PJ1.job_id
and TRUNC(SYSDATE) BETWEEN PJ1.effective_start_date
and PJ1.effective_end_date
--and paam1.effective_start_date BETWEEN
PJ1.effective_start_date and PJ1.effective_end_date
) AS Job_Code_Old
,PJ.NAME AS Job_Title
,(select PJ1.NAME
FROM per_all_assignments_m paam1
,PER_JOBS PJ1
WHERE paam1.assignment_id = paam.assignment_id
and paam1.effective_end_date =
paam.effective_start_date-1
AND PAAM1.ASSIGNMENT_TYPE = 'E'
AND PAAM1.EFFECTIVE_LATEST_CHANGE = 'Y'
and paam1.job_id = PJ1.job_id
and TRUNC(SYSDATE) BETWEEN PJ1.effective_start_date
and PJ1.effective_end_date
--and paam.effective_start_date BETWEEN
PJ1.effective_start_date and PJ1.effective_end_date
) AS Job_Title_Old
,(SELECT MEANING
FROM HR_LOOKUPS HL
WHERE
HL.LOOKUP_TYPE ='EMP_CAT'
AND HL.LOOKUP_CODE
=PAAM.EMPLOYMENT_CATEGORY
AND TRUNC(SYSDATE)
BETWEEN HL.START_DATE_ACTIVE AND HL.END_DATE_ACTIVE
) AS Status
,(SELECT MEANING
FROM per_all_assignments_m paam1
,HR_LOOKUPS HL1
WHERE paam1.assignment_id =
paam.assignment_id
and
paam1.effective_end_date = paam.effective_start_date-1
AND PAAM1.ASSIGNMENT_TYPE
= 'E'
AND
PAAM1.EFFECTIVE_LATEST_CHANGE = 'Y'
and
PAAM1.EMPLOYMENT_CATEGORY = HL1.LOOKUP_CODE
and HL1.LOOKUP_TYPE
='EMP_CAT'
--AND TRUNC(SYSDATE)
BETWEEN HL1.START_DATE_ACTIVE AND HL1.END_DATE_ACTIVE
AND
paam1.effective_start_date BETWEEN HL1.START_DATE_ACTIVE AND HL1.END_DATE_ACTIVE
) AS Status_Old
,(SELECT HOUFT.NAME
FROM
HR_ORGANIZATION_UNITS_F_TL HOUFT
,HR_ALL_ORGANIZATION_UNIT
S_F HAOUF
,HR_ORG_UNIT_CLASSIFICATI
ONS_F HOUCF
WHERE
HOUFT.ORGANIZATION_ID =
PAAM.ORGANIZATION_ID
AND TRUNC(SYSDATE)
BETWEEN HOUFT.EFFECTIVE_START_DATE AND HOUFT.EFFECTIVE_END_DATE
AND HOUFT.ORGANIZATION_ID
= HAOUF.ORGANIZATION_ID
AND
HOUFT.EFFECTIVE_START_DATE = HAOUF.EFFECTIVE_START_DATE
AND
HOUFT.EFFECTIVE_END_DATE = HAOUF.EFFECTIVE_END_DATE
AND HAOUF.ORGANIZATION_ID
= HOUCF.ORGANIZATION_ID
AND
HAOUF.EFFECTIVE_START_DATE BETWEEN HOUCF.EFFECTIVE_START_DATE AND
HOUCF.EFFECTIVE_END_DATE
AND HOUFT.LANGUAGE='US'
AND
HOUCF.CLASSIFICATION_CODE = 'DEPARTMENT'
) AS Dept
,(SELECT HOUFT.NAME
FROM
per_all_assignments_m paam1
,HR_ORGANIZATION_UNITS_F_
TL HOUFT
,HR_ALL_ORGANIZATION_UNIT
S_F HAOUF
,HR_ORG_UNIT_CLASSIFICATI
ONS_F HOUCF
WHERE paam1.assignment_id
= paam.assignment_id
AND
paam1.effective_end_date = paam.effective_start_date-1
AND PAAM1.ASSIGNMENT_TYPE
= 'E'
AND
PAAM1.EFFECTIVE_LATEST_CHANGE = 'Y'
AND PAAM1.ORGANIZATION_ID
= HOUFT.ORGANIZATION_ID
AND
paam1.effective_start_date BETWEEN HOUFT.EFFECTIVE_START_DATE AND
HOUFT.EFFECTIVE_END_DATE
AND HOUFT.ORGANIZATION_ID
= HAOUF.ORGANIZATION_ID
AND
HOUFT.EFFECTIVE_START_DATE = HAOUF.EFFECTIVE_START_DATE
AND
HOUFT.EFFECTIVE_END_DATE = HAOUF.EFFECTIVE_END_DATE
AND HAOUF.ORGANIZATION_ID
= HOUCF.ORGANIZATION_ID
AND
HAOUF.EFFECTIVE_START_DATE BETWEEN HOUCF.EFFECTIVE_START_DATE AND
HOUCF.EFFECTIVE_END_DATE
AND HOUFT.LANGUAGE='US'
AND
HOUCF.CLASSIFICATION_CODE = 'DEPARTMENT'
) AS Dept_Old

,PPNF_MGR.FULL_NAME AS Manager
,(select DISTINCT PPNF_MGR1.full_name
from per_all_assignments_m paam1
,PER_ASSIGNMENT_SUPERVISORS_F PASF1
,PER_PERSON_NAMES_F PPNF_MGR1

where paam1.assignment_id = paam.assignment_id


and paam1.effective_end_date =
paam.effective_start_date-1
AND PAAM1.ASSIGNMENT_TYPE = 'E'
AND PAAM1.EFFECTIVE_LATEST_CHANGE = 'Y'
and paam1.person_id = PASF1.person_id
and paam1.assignment_id = PASF1.assignment_id
--and paam1.ACTION_OCCURRENCE_ID =
PASF1.ACTION_OCCURRENCE_ID
--and PASF1.effective_end_date =
paam.effective_start_date-1
AND PASF1.MANAGER_ID = PPNF_MGR1.PERSON_ID
AND PPNF_MGR1.NAME_TYPE = 'GLOBAL'
AND paam1.effective_start_date BETWEEN
PASF1.EFFECTIVE_START_DATE AND PASF1.EFFECTIVE_END_DATE
AND paam1.effective_start_date BETWEEN
PPNF_MGR1.EFFECTIVE_START_DATE AND PPNF_MGR1.EFFECTIVE_END_DATE
) AS Manager_Old
,PLDF.ATTRIBUTE1 AS Location_Code
,(select PLDF1.ATTRIBUTE1
FROM per_all_assignments_m paam1
,PER_LOCATION_DETAILS_F PLDF1

WHERE paam1.assignment_id = paam.assignment_id


and paam1.effective_end_date =
paam.effective_start_date-1
AND PAAM1.ASSIGNMENT_TYPE = 'E'
AND PAAM1.EFFECTIVE_LATEST_CHANGE = 'Y'
and paam1.location_id = paam.location_id
and paam1.location_id = PLDF1.location_id
AND paam1.effective_start_date BETWEEN
PLDF1.EFFECTIVE_START_DATE AND PLDF1.EFFECTIVE_END_DATE
) AS Location_Code_Old
,PLDFT.LOCATION_NAME AS Location_Desc
,(select PLDFT1.LOCATION_NAME
FROM per_all_assignments_m paam1
,PER_LOCATION_DETAILS_F PLDF1
,PER_LOCATION_DETAILS_F_TL PLDFT1
WHERE paam1.assignment_id = paam.assignment_id
and paam1.effective_end_date =
paam.effective_start_date-1
AND PAAM1.ASSIGNMENT_TYPE = 'E'
AND PAAM1.EFFECTIVE_LATEST_CHANGE = 'Y'
and paam1.location_id = paam.location_id
and paam1.location_id = PLDF1.location_id
and PLDF1.LOCATION_DETAILS_ID =
PLDFT1.LOCATION_DETAILS_ID
and PLDFT1.LANGUAGE = 'US'
--AND TRUNC(SYSDATE) BETWEEN
PLDF1.EFFECTIVE_START_DATE AND PLDF1.EFFECTIVE_END_DATE
--AND TRUNC(SYSDATE) BETWEEN
PLDFT1.EFFECTIVE_START_DATE AND PLDFT1.EFFECTIVE_END_DATE
AND paam1.effective_start_date BETWEEN
PLDF1.EFFECTIVE_START_DATE AND PLDF1.EFFECTIVE_END_DATE
AND paam1.effective_start_date BETWEEN
PLDFT1.EFFECTIVE_START_DATE AND PLDFT1.EFFECTIVE_END_DATE
) AS Location_Desc_Old
,paam.NORMAL_HOURS AS Work_Hours
,(select paam1.normal_hours
from per_all_assignments_m paam1
where paam1.assignment_id = paam.assignment_id
and paam1.effective_end_date =
paam.effective_start_date-1
AND PAAM1.ASSIGNMENT_TYPE = 'E'
AND PAAM1.EFFECTIVE_LATEST_CHANGE = 'Y'
) AS Work_Hours_Old
,PAWM.VALUE AS FTE
,(SELECT PAWM1.VALUE
FROM
per_all_assignments_m paam1
,PER_ASSIGN_WORK_MEASURES_F PAWM1
WHERE
paam1.assignment_id = paam.assignment_id
AND paam1.effective_end_date =
paam.effective_start_date-1
AND PAAM1.ASSIGNMENT_TYPE = 'E'
AND PAAM1.EFFECTIVE_LATEST_CHANGE = 'Y'
AND PAAM1.ASSIGNMENT_ID = PAWM1.ASSIGNMENT_ID
AND PAWM1.UNIT='FTE'
AND paam1.effective_start_date BETWEEN
PAWM1.EFFECTIVE_START_DATE AND PAWM1.EFFECTIVE_END_DATE
) AS FTE_OLD
,TO_CHAR(PAAM.LAST_UPDATE_DATE,'MM/DD/YYYY
HH24:MM:SS') AS Assignment_Last_Update_Date
,(PAAM.LAST_UPDATED_BY) AS Assignment_Last_Updated_By
,(SELECT EXTRACT(DAY FROM SYSDATE - PAAM.LAST_UPDATE_DATE) FROM
DUAL) AS Number_days_since_last_updated
FROM
PER_ALL_ASSIGNMENTS_M PAAM
,PER_ALL_PEOPLE_F PAPF
,PER_PERSON_NAMES_F PPNF
,PER_ASSIGNMENT_SUPERVISORS_F PASF
,PER_PERSON_NAMES_F PPNF_MGR
,PER_LOCATION_DETAILS_F PLDF
,PER_LOCATION_DETAILS_F_TL PLDFT
,PER_JOBS PJ
,PER_ASSIGN_WORK_MEASURES_F PAWM
,PER_ACTION_OCCURRENCES PAO
,PER_ACTIONS_TL PAB
WHERE
PAAM.PRIMARY_ASSIGNMENT_FLAG = 'Y'
AND PAAM.ASSIGNMENT_TYPE = 'E'
AND PAAM.EFFECTIVE_START_DATE <=SYSDATE
AND TRUNC(PAAM.LAST_UPDATE_DATE) >= TO_DATE('01-01-2018','DD-MM-YYYY')
--AND TRUNC(SYSDATE) BETWEEN PAAM.EFFECTIVE_START_DATE AND PAAM.EFFECTIVE_END_DATE
AND PAAM.PERSON_ID = PAPF.PERSON_ID
AND TRUNC(SYSDATE) BETWEEN PAPF.EFFECTIVE_START_DATE AND PAPF.EFFECTIVE_END_DATE
--AND PAPF.PERSON_NUMBER='3154'
AND PAPF.PERSON_ID = PPNF.PERSON_ID
AND TRUNC(SYSDATE) BETWEEN PPNF.EFFECTIVE_START_DATE AND PPNF.EFFECTIVE_END_DATE
AND PPNF.NAME_TYPE = 'GLOBAL'
AND PAAM.PERSON_ID = PASF.PERSON_ID
AND PAAM.ASSIGNMENT_ID = PASF.ASSIGNMENT_ID
AND TRUNC(SYSDATE) BETWEEN PASF.EFFECTIVE_START_DATE AND PASF.EFFECTIVE_END_DATE
AND PASF.MANAGER_TYPE = 'LINE_MANAGER'
AND PASF.MANAGER_ID = PPNF_MGR.PERSON_ID
AND PPNF_MGR.NAME_TYPE = 'GLOBAL'
AND TRUNC(SYSDATE) BETWEEN PPNF_MGR.EFFECTIVE_START_DATE AND
PPNF_MGR.EFFECTIVE_END_DATE
AND PAAM.LOCATION_ID = PLDF.LOCATION_ID (+)
AND TRUNC(SYSDATE) BETWEEN PLDF.EFFECTIVE_START_DATE (+) AND
PLDF.EFFECTIVE_END_DATE (+)
AND PLDF.LOCATION_DETAILS_ID = PLDFT.LOCATION_DETAILS_ID (+)
AND TRUNC(SYSDATE) BETWEEN PLDFT.EFFECTIVE_START_DATE (+) AND
PLDFT.EFFECTIVE_END_DATE (+)
AND PLDFT.LANGUAGE (+) = 'US'
AND PAAM.JOB_ID = PJ.JOB_ID (+)
AND TRUNC(SYSDATE) BETWEEN PJ.EFFECTIVE_START_DATE (+) AND PJ.EFFECTIVE_END_DATE
(+)
AND PAAM.ASSIGNMENT_ID = PAWM.ASSIGNMENT_ID
AND PAWM.UNIT='FTE'
AND TRUNC(SYSDATE) BETWEEN PAWM.EFFECTIVE_START_DATE AND PAWM.EFFECTIVE_END_DATE
AND PAAM.ACTION_OCCURRENCE_ID = PAO.ACTION_OCCURRENCE_ID(+)
AND PAO.ACTION_ID = PAB.ACTION_ID(+)
AND UPPER(PAB.ACTION_NAME) IN('JOB CHANGE','PROMOTION','MANAGER
CHANGE','TRANSFER','WORKING HOURS CHANGE','LOCATION CHANGE'))
WHERE 1=1
AND ((STATUS_OLD <> STATUS) OR (LOCATION_CODE_OLD <> LOCATION_CODE))
ORDER BY Emp_Number DESC

You might also like