Skip to main content

face3


--SALES AND PROMOTION

SELECT DISTINCT
PER.PERSON_NUMBER AS ID,
TO_CHAR(NEW_ASS.CREATION_DATE,'MM/DD/YYYY') AS ACTION_DATE,
TO_CHAR(NEW_ASS.Effective_start_date,'MM/DD/YYYY') AS EFFECTIVE_DATE,
NEW_ASS.ACTION_CODE AS ACTION,
NEW_ASS.REASON_CODE AS ACTION_REASON,
OLD_LEG.NAME AS LEGAL_ENTITY,
OLD_ASS.WORK_AT_HOME AS OLD_REMOTE_INDICATOR,
(SELECT LOC.LOCATION_NAME FROM HR_LOCATIONS_ALL_F_VL  LOC WHERE  LOC.LOCATION_ID =OLD_ASS.LOCATION_ID AND TRUNC(sysdate) between LOC.EFFECTIVE_START_DATE and LOC.EFFECTIVE_END_DATE ) AS OLD_PHYSICAL_LOC,
--OLD_LOC.LOCATION_NAME AS OLD_PHYSICAL_LOC,
(SELECT DISTINCT HROF.ORG_INFORMATION1 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=OLD_ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND TRUNC(sysdate) BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS OLD_HR_DIVISION,
(SELECT DISTINCT HROF.ORG_INFORMATION2 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=OLD_ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND TRUNC(sysdate) BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS OLD_DEPT,
CASE WHEN SUBSTR(OLD_DEP.NAME,1,INSTR(OLD_DEP.NAME,'__',1)-1) IS NOT NULL THEN SUBSTR(OLD_DEP.NAME,1,INSTR(OLD_DEP.NAME,'__',1)-1) ELSE OLD_DEP.NAME END AS OLD_DEPARTMENT,
OLD_JOB.JOB_CODE AS OLD_JOB_CODE,
OLD_JOB.NAME AS OLD_JOB_DESCRIPTION,
OLD_ASS.ASS_ATTRIBUTE4 AS OLD_BUSINESS_TITLE,
ROUND(OLD_SAL.SALARY_AMOUNT,2) AS OLD_SALARY,
TO_CHAR(OLD_SAL.DATE_FROM,'MM/DD/YYYY') AS OLD_SAL_DT,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
OLD_ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Bonus Plan'
--and (PIV.BASE_NAME = ('Amount')) -- commented as part of INC0093797
and (PIV.BASE_NAME = ('Target Bonus Percentage'))  -- added  as part of INC0093797
AND ET.BASE_ELEMENT_NAME LIKE 'Annual Bonus - AMS%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and ELEMENT_TYPE_ID = EE.ELEMENT_TYPE_ID AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND EE.LAST_UPDATE_DATE = (select max(LAST_UPDATE_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and ELEMENT_TYPE_ID = EE.ELEMENT_TYPE_ID  AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS OLD_BASE_AMT,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
OLD_ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Bonus Plan'
--and (PIV.BASE_NAME = ('Amount'))  as part of INC0093797
and (PIV.BASE_NAME = ('Target Bonus Percentage')) --added  as part of INC0093797
AND ET.BASE_ELEMENT_NAME LIKE 'Annual Bonus - AM%'
AND ET.BASE_ELEMENT_NAME NOT LIKE 'Annual Bonus - AMS%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and ELEMENT_TYPE_ID = EE.ELEMENT_TYPE_ID AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND EE.LAST_UPDATE_DATE = (select max(LAST_UPDATE_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and ELEMENT_TYPE_ID = EE.ELEMENT_TYPE_ID  AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS OLD_BASE_AMT_AM,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
OLD_ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Sales Incentive'
and (PIV.BASE_NAME = ('Amount'))
AND ET.BASE_ELEMENT_NAME LIKE ('Sales Compensation%')
AND ET.BASE_ELEMENT_NAME NOT LIKE ('Sales Compensation Bonus%')
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS OLD_SALES_COMP,
CASE WHEN OLD_ASS.ASS_ATTRIBUTE8 IS NULL THEN 'No FLSA'
ELSE OLD_ASS.ASS_ATTRIBUTE8 END AS OLD_FLSA_CODE,
OLD_ASS.NORMAL_HOURS AS OLD_STANDARD_HOURS,
OLD_ASS.ASS_ATTRIBUTE3 AS OLD_BENEFIT_PROGRAM,
(SELECT DISTINCT ET.ELEMENT_NAME  --SUBSTR(ET.BASE_ELEMENT_NAME,1, INSTR(ET.BASE_ELEMENT_NAME,'-',1)+4)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
OLD_ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Bonus Plan'
--and (PIV.BASE_NAME = ('Amount'))  as part of INC0093797
and (PIV.BASE_NAME = ('Target Bonus Percentage')) -- added  as part of INC0093797
--AND ET.BASE_ELEMENT_NAME LIKE ('Annual Bonus - AMS%')
AND (
UPPER(ET.ELEMENT_NAME(+)) LIKE 'ANNUAL BONUS - A%' OR
UPPER(ET.ELEMENT_NAME(+)) LIKE 'QUARTERLY CUSTOMIZED BONUS -%' OR
UPPER(ET.ELEMENT_NAME(+)) LIKE 'QUARTERLY OPERATIONAL BONUS -%' OR
UPPER(ET.ELEMENT_NAME(+)) LIKE 'SEMI ANNUAL CUSTOM -%'
)
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where OLD_ASS.PERSON_ID=PERSON_ID(+) and ELEMENT_TYPE_ID = EE.ELEMENT_TYPE_ID and OLD_ASS.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))

AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS BONUS_CODE_O,
BU.NAME AS COMPANY,
(SELECT LOC.LOCATION_NAME FROM HR_LOCATIONS_ALL_F_VL  LOC WHERE  LOC.LOCATION_ID =NEW_ASS.LOCATION_ID AND TRUNC(sysdate) between LOC.EFFECTIVE_START_DATE and LOC.EFFECTIVE_END_DATE ) AS WORK_LOCATION,
--NEW_LOC.LOCATION_NAME AS WORK_LOCATION,
NEW_ASS.WORK_AT_HOME AS NEW_REMOTE_INDICATOR,
(SELECT LOC.LOCATION_NAME FROM HR_LOCATIONS_ALL_F_VL  LOC WHERE  LOC.LOCATION_ID =NEW_ASS.LOCATION_ID AND TRUNC(sysdate) between LOC.EFFECTIVE_START_DATE and LOC.EFFECTIVE_END_DATE ) AS NEW_PHYSICAL_LOC,
--NEW_LOC.LOCATION_NAME AS NEW_PHYSICAL_LOC,
(SELECT DISTINCT HROF.ORG_INFORMATION1 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=NEW_ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS NEW_HR_DIVISION,
(SELECT DISTINCT HROF.ORG_INFORMATION2 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=NEW_ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND :DATE_TO BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND :DATE_TO BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS NEW_DEPT,
CASE WHEN SUBSTR(NEW_DEP.NAME,1,INSTR(NEW_DEP.NAME,'__',1)-1) IS NOT NULL THEN SUBSTR(NEW_DEP.NAME,1,INSTR(NEW_DEP.NAME,'__',1)-1) ELSE NEW_DEP.NAME END AS NEW_DEPARTMENT,
NEW_JOB.JOB_CODE AS NEW_JOB_CODE,
NEW_JOB.NAME AS NEW_JOB_DESCRIPTION,
NEW_ASS.ASS_ATTRIBUTE4 AS NEW_BUSINESS_TITLE,
round(NEW_SAL.SALARY_AMOUNT,2) AS NEW_SALARY,
-- (SELECT round(S.SALARY_AMOUNT,2) FROM CMP_SALARY S, PER_ASSIGNMENT_SECURED_LIST_V A WHERE PER.PERSON_ID=A.PERSON_ID AND A.ASSIGNMENT_ID= S.ASSIGNMENT_ID AND A.ASSIGNMENT_TYPE IN ('E','C') AND TRUNC(SYSDATE) BETWEEN S.DATE_FROM AND S.DATE_TO AND TRUNC(SYSDATE) BETWEEN A.EFFECTIVE_START_DATE AND A.EFFECTIVE_END_DATE) AS CURRENT_SALARY,
(SELECT round(S.SALARY_AMOUNT,2) FROM CMP_SALARY S WHERE NEW_ASS.ASSIGNMENT_ID= S.ASSIGNMENT_ID AND TRUNC(SYSDATE) BETWEEN S.DATE_FROM AND S.DATE_TO) AS CURRENT_SALARY,
TO_CHAR(NEW_SAL.DATE_FROM,'MM/DD/YYYY') AS NEW_SAL_DT,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
NEW_ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Bonus Plan'
--and (PIV.BASE_NAME = ('Amount'))  as part of INC0093797
and (PIV.BASE_NAME = ('Target Bonus Percentage')) -- added  as part of INC0093797
AND ET.BASE_ELEMENT_NAME LIKE 'Annual Bonus - AMS%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and ELEMENT_TYPE_ID = EE.ELEMENT_TYPE_ID AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND EE.LAST_UPDATE_DATE = (select max(LAST_UPDATE_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and ELEMENT_TYPE_ID = EE.ELEMENT_TYPE_ID  AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS NEW_BASE_AMT,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
NEW_ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Bonus Plan'
--and (PIV.BASE_NAME = ('Amount'))  as part of INC0093797
and (PIV.BASE_NAME = ('Target Bonus Percentage')) --added  as part of INC0093797
AND ET.BASE_ELEMENT_NAME LIKE 'Annual Bonus - AM%'
AND ET.BASE_ELEMENT_NAME not LIKE 'Annual Bonus - AMS%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and ELEMENT_TYPE_ID = EE.ELEMENT_TYPE_ID AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND EE.LAST_UPDATE_DATE = (select max(LAST_UPDATE_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and ELEMENT_TYPE_ID = EE.ELEMENT_TYPE_ID  AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS NEW_BASE_AMT_AM,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
NEW_ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Sales Incentive'
and (PIV.BASE_NAME = ('Amount'))
AND ET.BASE_ELEMENT_NAME LIKE ('Sales Compensation%')
AND ET.BASE_ELEMENT_NAME NOT LIKE ('Sales Compensation Bonus%')
-- ,'Sales Compensation AR','Sales Compensation AU','Sales Compensation BR','Sales Compensation CA','Sales Compensation CH','Sales Compensation CN','Sales Compensation CZ','Sales Compensation DE','Sales Compensation GB','Sales Compensation JP','Sales Compensation KR','Sales Compensation NL','Sales Compensation NZ','Sales Compensation SE','Sales Compensation SG','Sales Compensation US')
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS NEW_SALES_COMP,
CASE WHEN NEW_ASS.ASS_ATTRIBUTE8 IS NULL THEN 'No FLSA'
ELSE NEW_ASS.ASS_ATTRIBUTE8 END AS NEW_FLSA_CODE,
NEW_ASS.NORMAL_HOURS AS NEW_STANDARD_HOURS,
NEW_ASS.ASS_ATTRIBUTE3 AS NEW_BENEFIT_PROGRAM,
NAME.DISPLAY_NAME AS NAME,
NEW_ASS.ASSIGNMENT_STATUS_TYPE AS ASSIGNMENT_STATUS,
TO_CHAR(NEW_ASS.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS STATUS_DATE,
LUKUP.MEANING AS ETHNIC_GROUP,
LUKUP2.MEANING AS GENDER,
TO_CHAR(PP.DATE_OF_BIRTH,'MM/DD/YYYY') AS BIRTH_DATE,
(SELECT DISTINCT ET.ELEMENT_NAME  --SUBSTR(ET.BASE_ELEMENT_NAME,1, INSTR(ET.BASE_ELEMENT_NAME,'-',1)+4)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
NEW_ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Bonus Plan'
--and (PIV.BASE_NAME = ('Amount'))  as part of INC0093797
and (PIV.BASE_NAME = ('Target Bonus Percentage')) -- added  as part of INC0093797
--AND ET.BASE_ELEMENT_NAME LIKE ('Annual Bonus - AMS%')
AND (
UPPER(ET.ELEMENT_NAME(+)) LIKE 'ANNUAL BONUS - A%' OR
UPPER(ET.ELEMENT_NAME(+)) LIKE 'QUARTERLY CUSTOMIZED BONUS -%' OR
UPPER(ET.ELEMENT_NAME(+)) LIKE 'QUARTERLY OPERATIONAL BONUS -%' OR
UPPER(ET.ELEMENT_NAME(+)) LIKE 'SEMI ANNUAL CUSTOM -%'
)
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where NEW_ASS.PERSON_ID=PERSON_ID(+) and ELEMENT_TYPE_ID = EE.ELEMENT_TYPE_ID and NEW_ASS.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))

AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS BONUS_CODE
,PP.ATTRIBUTE2 AS REQUESTION_ID



FROM
PER_ASSIGNMENT_SECURED_LIST_V NEW_ASS,
PER_ASSIGNMENT_SECURED_LIST_V OLD_ASS,
PER_PERSON_SECURED_LIST_V PER,
PER_PERSON_NAMES_F NAME,
HR_LEGAL_ENTITIES OLD_LEG,
PER_DEPARTMENTS OLD_DEP,
PER_DEPARTMENTS NEW_DEP,
-- HRC_LOADER_BATCH_KEY_MAP OLD_HRC,
-- HRC_LOADER_BATCH_KEY_MAP NEW_HRC,
CMP_SALARY OLD_SAL,
CMP_SALARY NEW_SAL,

PER_JOBS NEW_JOB,
PER_JOBS OLD_JOB,
HR_LOCATIONS_ALL OLD_LOC,
HR_LOCATIONS_ALL NEW_LOC,
HR_ORGANIZATION_UNITS BU,
PER_ETHNICITIES ETHN,
HCM_LOOKUPS LUKUP,
HCM_LOOKUPS LUKUP2,
PER_PEOPLE_LEGISLATIVE_F GENDER,
PER_PERSONS PP


WHERE


PER.PERSON_ID=NEW_ASS.PERSON_ID
AND PER.PERSON_ID=PP.PERSON_ID
AND NEW_ASS.PERSON_ID=OLD_ASS.PERSON_ID
AND NEW_ASS.PERSON_ID=NAME.PERSON_ID(+)
AND NEW_ASS.PERSON_ID= ETHN.PERSON_ID(+)
AND ETHN.ETHNICITY=LUKUP.LOOKUP_CODE(+)
AND NEW_ASS.PERSON_ID=GENDER.PERSON_ID(+)
AND LUKUP2.LOOKUP_TYPE='SEX'
AND LUKUP2.LOOKUP_CODE(+)=GENDER.SEX
AND LUKUP.LOOKUP_TYPE(+) ='PER_ETHNICITY'
AND ((NEW_ASS.ACTION_CODE in ('LOCATION_CHANGE','TRANSFER','PROMOTION','GLB_TRANSFER')) or (NEW_ASS.ACTION_CODE='PAY_CHNG' and NEW_ASS.REASON_CODE='PROMOTION_INCREASE'))
AND NAME.NAME_TYPE='GLOBAL'
AND GENDER.LEGISLATION_CODE(+)=NEW_ASS.LEGISLATION_CODE
AND NEW_ASS.ASSIGNMENT_TYPE IN ('E','C')
AND OLD_ASS.ASSIGNMENT_TYPE IN ('E','C')

AND OLD_LEG.CLASSIFICATION_CODE='HCM_LEMP'
AND NEW_ASS.JOB_ID=NEW_JOB.JOB_ID(+)

AND OLD_ASS.JOB_ID=OLD_JOB.JOB_ID(+)
AND OLD_LEG.ORGANIZATION_ID=NEW_ASS.LEGAL_ENTITY_ID
AND NEW_ASS.BUSINESS_UNIT_ID = BU.ORGANIZATION_ID(+)
AND OLD_ASS.ORGANIZATION_ID = OLD_DEP.ORGANIZATION_ID(+)
AND NEW_ASS.ORGANIZATION_ID = NEW_DEP.ORGANIZATION_ID(+)
-- AND OLD_ASS.ORGANIZATION_ID= OLD_HRC.TARGET_ID
-- AND NEW_ASS.ORGANIZATION_ID= NEW_HRC.TARGET_ID
AND OLD_ASS.ASSIGNMENT_ID= OLD_SAL.ASSIGNMENT_ID
AND NEW_ASS.ASSIGNMENT_ID= NEW_SAL.ASSIGNMENT_ID
AND OLD_ASS.LOCATION_ID = OLD_LOC.LOCATION_ID(+)
AND NEW_ASS.LOCATION_ID = NEW_LOC.LOCATION_ID(+)
-- AND (NEW_ASS.LOCATION_ID <> OLD_ASS.LOCATION_ID OR OLD_ASS.JOB_ID <> NEW_ASS.JOB_ID OR NEW_ASS.ASSIGNMENT_ID <> OLD_ASS.ASSIGNMENT_ID)
-- AND TO_CHAR(NEW_ASS.EFFECTIVE_END_DATE,'YYYY-MM-DD') = '4712-12-31'
AND TO_CHAR(OLD_ASS.EFFECTIVE_END_DATE,'YYYY-MM-DD') = TO_CHAR(NEW_ASS.EFFECTIVE_START_DATE-1,'YYYY-MM-DD')


AND NEW_ASS.ASSIGNMENT_SEQUENCE=(SELECT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_F WHERE PERSON_ID=NEW_ASS.PERSON_ID AND ASSIGNMENT_TYPE=NEW_ASS.ASSIGNMENT_TYPE AND TRUNC(SYSDATE) BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE)
-- and NEW_ASS.effective_start_date = (select max(effective_start_date) from per_all_assignments_m where person_id=new_ass.person_id and assignment_type in ('E','C') and ((NEW_ASS.ACTION_CODE in ('TRANSFER','PROMOTION')) or (NEW_ASS.ACTION_CODE='PAY_CHNG' and NEW_ASS.REASON_CODE='PROMOTION_INCREASE')))
---AND (TO_CHAR(OLD_ASS.EFFECTIVE_END_DATE,'YYYY-MM-DD')) = (SELECT TO_CHAR(MAX(EFFECTIVE_END_DATE),'YYYY-MM-DD') FROM PER_ALL_ASSIGNMENTS_F WHERE PERSON_ID = NEW_ASS.PERSON_ID AND ASSIGNMENT_TYPE in ('E','C') AND NEW_ASS.EFFECTIVE_START_DATE > EFFECTIVE_END_DATE)
AND TRUNC(NEW_ASS.EFFECTIVE_START_DATE) BETWEEN :DATE_FROM AND :DATE_TO
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN PER.EFFECTIVE_START_DATE AND PER.EFFECTIVE_END_DATE
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN NAME.EFFECTIVE_START_DATE(+) AND NAME.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN GENDER.EFFECTIVE_START_DATE(+) AND GENDER.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN NEW_JOB.EFFECTIVE_START_DATE(+) AND NEW_JOB.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN NEW_DEP.EFFECTIVE_START_DATE(+) AND NEW_DEP.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN NEW_LOC.EFFECTIVE_START_DATE(+) AND NEW_LOC.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN NEW_SAL.DATE_FROM AND NEW_SAL.DATE_TO
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN OLD_SAL.DATE_FROM AND OLD_SAL.DATE_TO
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN OLD_JOB.EFFECTIVE_START_DATE(+) AND OLD_JOB.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN OLD_DEP.EFFECTIVE_START_DATE(+) AND OLD_DEP.EFFECTIVE_END_DATE(+)
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN OLD_LOC.EFFECTIVE_START_DATE(+) AND OLD_LOC.EFFECTIVE_END_DATE(+)
AND trunc(sysdate) BETWEEN OLD_LEG.EFFECTIVE_START_DATE AND OLD_LEG.EFFECTIVE_END_DATE
ORDER BY PER.PERSON_NUMBER


-------------

--sales and bonus

SELECT
TO_CHAR(ASS.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS EFF_DATE,
PER.PERSON_NUMBER AS EMPID,
NAME.LAST_NAME,
NAME.FIRST_NAME,

(SELECT DISTINCT HROF.ORG_INFORMATION2 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND ASS.EFFECTIVE_START_DATE BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND :DATE_TO BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS DEPT_CODE,

(SELECT DISTINCT HROF.ORG_INFORMATION1 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND ASS.EFFECTIVE_START_DATE BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND ASS.EFFECTIVE_START_DATE BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS HR_DIVISION,
DEP.NAME AS DEPT_NAME,
-- (SELECT DISTINCT HROF.ORG_INFORMATION2 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND :DATE_TO BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND :DATE_TO BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS DEPT_NAME,
-- CASE WHEN SUBSTR(DEP.NAME,1,INSTR(DEP.NAME,'__',1)-1) IS NOT NULL THEN SUBSTR(DEP.NAME,1,INSTR(DEP.NAME,'__',1)-1) ELSE DEP.NAME END AS DEPT_NAME,
(SELECT PERSON_NUMBER FROM PER_ALL_PEOPLE_F NA WHERE respons.PERSON_ID=NA.PERSON_ID AND :DATE_TO BETWEEN NA.EFFECTIVE_START_DATE AND NA.EFFECTIVE_END_DATE) AS MSS_Dept_Appr_ID,
(SELECT FIRST_NAME FROM PER_PERSON_NAMES_F NA WHERE respons.PERSON_ID=NA.PERSON_ID AND NAME_TYPE = 'GLOBAL' AND :DATE_TO BETWEEN NA.EFFECTIVE_START_DATE AND NA.EFFECTIVE_END_DATE) AS MSS_Dept_Appr_FN,
(SELECT LAST_NAME FROM PER_PERSON_NAMES_F NA WHERE respons.PERSON_ID=NA.PERSON_ID AND NAME_TYPE = 'GLOBAL' AND :DATE_TO BETWEEN NA.EFFECTIVE_START_DATE AND NA.EFFECTIVE_END_DATE) AS MSS_Dept_Appr_LN,
respons.STATUS AS DEPTMGRSTATUS,
 CASE
WHEN ASS.EMPLOYMENT_CATEGORY='FR' THEN 'FULLTIME'
WHEN ASS.EMPLOYMENT_CATEGORY='FT' THEN 'FULLTIME'
WHEN ASS.EMPLOYMENT_CATEGORY='PR' THEN 'PARTTIME'
WHEN ASS.EMPLOYMENT_CATEGORY='PT' THEN 'PARTTIME'
ELSE ''
END AS FULLTIME_PARTTIME,
ASS.ASS_ATTRIBUTE4 AS BUSINESS_TITLE,
JOB.JOB_CODE AS JOB_CODE,
BU.NAME AS COMPANY,
CASE WHEN (SELECT MAX(effective_START_date) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID = ASS.PERSON_ID AND ACTION_CODE in ('REHIRE','HIRE','ADD_AN_EMPLOYEE','HIRE_ADD_WORK_RELATION')  ) <> PPS.ADJUSTED_SVC_DATE THEN TO_CHAR(PPS.ADJUSTED_SVC_DATE,'MM/DD/YYYY')
ELSE TO_CHAR((SELECT MIN(effective_START_date) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID = ASS.PERSON_ID AND ACTION_CODE in ('HIRE','ADD_AN_EMPLOYEE','HIRE_ADD_WORK_RELATION')  ),'MM/DD/YYYY') END AS OrgHireDt,
TO_CHAR((SELECT MIN(effective_START_date) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID = ASS.PERSON_ID AND ACTION_CODE in ('HIRE','ADD_AN_EMPLOYEE','HIRE_ADD_WORK_RELATION')  ),'MM/DD/YYYY') AS HIREDATE,
to_char((SELECT MAX(effective_START_date) FROM PER_ALL_ASSIGNMENTS_M
WHERE PERSON_ID = ASS.PERSON_ID
AND (reason_CODE IN ('REHIRE','REHIRE_WKR') or (ACTION_CODE in ('REHIRE')))),'MM/DD/YYYY') AS REHIRE_DATE,
case when ass.hourly_salaried_code ='H' then ROUND( (SAL.SALARY_AMOUNT * ASS.NORMAL_HOURS * 52) ,2)
else ROUND((SELECT (SAL.SALARY_AMOUNT * SLA.SALARY_ANNUALIZATION_FACTOR)
FROM
CMP_SALARY SAL,
CMP_SALARY_BASES SLA
WHERE

ASS.ASSIGNMENT_ID=SAL.ASSIGNMENT_ID
AND SAL.SALARY_BASIS_ID=SLA.SALARY_BASIS_ID

AND :DATE_TO BETWEEN SAL.DATE_FROM AND SAL.DATE_TO),2) end AS ANNUAL_SALARY,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
PER.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Bonus Plan'
and (PIV.BASE_NAME = ('Amount'))
AND (ET.BASE_ELEMENT_NAME(+) LIKE 'Annual Bonus - AM%' or ET.BASE_ELEMENT_NAME(+) LIKE 'Quarterly Operational Bonus - QO%' or ET.BASE_ELEMENT_NAME(+) LIKE 'Semi Annual Custom - SC2%' or ET.BASE_ELEMENT_NAME(+) LIKE 'Quarterly Customized Bonus - QC%')
---AND ET.BASE_ELEMENT_NAME LIKE 'Annual Bonus - AM%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and :DATE_TO BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND :DATE_TO BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS Bonus_Amt,
(SELECT
SUBSTR(ET.BASE_ELEMENT_NAME,1, INSTR(ET.BASE_ELEMENT_NAME,'-',1)+4)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
PER.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Bonus Plan'
and (PIV.BASE_NAME = ('Amount'))
AND (ET.BASE_ELEMENT_NAME(+) LIKE 'Annual Bonus - AM%' or ET.BASE_ELEMENT_NAME(+) LIKE 'Quarterly Operational Bonus - QO%' or ET.BASE_ELEMENT_NAME(+) LIKE 'Semi Annual Custom - SC2%' or ET.BASE_ELEMENT_NAME(+) LIKE 'Quarterly Customized Bonus - QC%' or ET.BASE_ELEMENT_NAME(+) LIKE 'Quarterly Flat Rep Bonus - QFR%')
---AND ET.BASE_ELEMENT_NAME LIKE 'Annual Bonus - AM%'
-- AND ET.BASE_ELEMENT_NAME NOT LIKE 'Annual Bonus - AMS%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and :DATE_TO BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND :DATE_TO BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS Bonus_,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
PER.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Bonus Plan'
AND (PIV.BASE_NAME = ('Amount'))
AND ET.BASE_ELEMENT_NAME LIKE 'Quarterly Flat Rep Bonus - QFR%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and :DATE_TO BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND :DATE_TO BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS Nonsales_Bonus,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
PER.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Sales Incentive'
and (PIV.BASE_NAME = ('Amount'))
AND ET.BASE_ELEMENT_NAME LIKE 'Sales Compensation Bonus%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and :DATE_TO BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND :DATE_TO BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS Sales_Comp,

(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Sales Incentive'
and (PIV.BASE_NAME = ('Amount'))
AND ET.BASE_ELEMENT_NAME LIKE 'Sales Commission Override%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and :DATE_TO BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND :DATE_TO BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS Sales_Ovrrd,
CUR.LOCAL_CURRENCY AS CURRENCY,
CASE WHEN PPL.SEX IS NOT NULL THEN PPL.SEX
WHEN PPL.SEX IS NULL THEN 'U' END AS GENDER,
ASS.WORK_AT_HOME AS REMOTE_INDICATOR,
LOC.INTERNAL_LOCATION_CODE AS PHYSICAL_LOC,
ADDR.TOWN_OR_CITY AS EEHOMECITY,
ADDR.REGION_2 AS EEHOMESTATE,
CASE WHEN ASS.ACTION_CODE='LEAVE_OF_ABSENCE'  THEN 'LEAVE'
WHEN ASS.ACTION_CODE IN ('VOLUNTARY_TERMINATION','INVOLUNTARY_TERMINATION') AND ASS.REASON_CODE NOT IN ('RETIRE') THEN 'TERM'
WHEN ASS.ASSIGNMENT_STATUS_TYPE IN ('ACTIVE') THEN 'ACTIVE'
ELSE '' END AS HR_STATUS,
ASS.ASS_ATTRIBUTE1 AS TITLE_LEVEL,
(SELECT PERSON_NUMBER FROM PER_ALL_PEOPLE_F NA WHERE MAN.MANAGER_ID=NA.PERSON_ID AND :DATE_TO BETWEEN NA.EFFECTIVE_START_DATE AND NA.EFFECTIVE_END_DATE) AS SuprEmplID,
(SELECT LAST_NAME FROM PER_PERSON_NAMES_F NA WHERE MAN.MANAGER_ID=NA.PERSON_ID AND NAME_TYPE = 'GLOBAL' AND :DATE_TO BETWEEN NA.EFFECTIVE_START_DATE AND NA.EFFECTIVE_END_DATE) AS SuprLastName,
(SELECT FIRST_NAME FROM PER_PERSON_NAMES_F NA WHERE MAN.MANAGER_ID=NA.PERSON_ID AND NAME_TYPE = 'GLOBAL' AND :DATE_TO BETWEEN NA.EFFECTIVE_START_DATE AND NA.EFFECTIVE_END_DATE) AS SuprFirstName,
JOB.NAME AS JOB_TITLE,
TO_CHAR(nvl(PPS.ADJUSTED_SVC_DATE,(SELECT MIN(effective_START_date) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID = ASS.PERSON_ID AND ACTION_CODE in ('HIRE','ADD_AN_EMPLOYEE','HIRE_ADD_WORK_RELATION')  )),'MM/DD/YYYY') AS Benefits_ServiceDt,
case when ASS.ASS_ATTRIBUTE8 is null then 'No FLSA'
else ASS.ASS_ATTRIBUTE8 end AS FLSA_STATUS,
CASE WHEN ASS.EMPLOYMENT_CATEGORY IN ('FR','PR') THEN 'REGULAR'
WHEN ASS.EMPLOYMENT_CATEGORY IN ('FT','PT') THEN 'TEMPORARY'
ELSE '' END AS Regular_Temp,
TO_CHAR(NVL((SELECT MAX(EFFECTIVE_START_DATE) FROM PER_ALL_ASSIGNMENTS_M WHERE ASS.PERSON_ID=PERSON_ID AND ACTION_CODE = 'JOB_DTL_CHG'),(SELECT MAX(effective_START_date) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID = ASS.PERSON_ID AND ACTION_CODE in ('REHIRE','HIRE','ADD_AN_EMPLOYEE','HIRE_ADD_WORK_RELATION'))),'MM/DD/YYYY') AS EntryDt_cur_job,
TO_CHAR(SAL.DATE_FROM,'MM/DD/YYYY') AS Last_base_DATE,
ASS.HOURLY_SALARIED_CODE AS Pay_Type,
ASS.NORMAL_HOURS AS STDHOURS,
(select distinct EMAIL_ADDRESS FROM PER_EMAIL_ADDRESSES WHERE PERSON_ID=PER.PERSON_ID AND EMAIL_TYPE='W1') as BUS_EMAIL,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Allowance'
and (PIV.BASE_NAME = ('Amount'))
AND ET.BASE_ELEMENT_NAME LIKE 'International Benefit Allowance%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and :DATE_TO BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND :DATE_TO BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) AS Intl_BENAllow,
CASE WHEN (SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Allowance'
and (PIV.BASE_NAME = ('Amount'))
AND ET.BASE_ELEMENT_NAME LIKE 'International Benefit Allowance%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and :DATE_TO BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND :DATE_TO BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) IS NOT NULL THEN 'MONTHLY' ELSE '' END AS Intl_BENAllow_FRQ,
(SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Allowance'
and (PIV.BASE_NAME = ('Amount'))
AND ET.BASE_ELEMENT_NAME LIKE 'International Auto Allowance%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and :DATE_TO BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND :DATE_TO BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) Intl_CarAllow,
CASE WHEN (SELECT
ROUND(EEV.SCREEN_ENTRY_VALUE,2)
FROM

PAY_ELEMENT_ENTRIES_F EE,
PAY_ELEMENT_ENTRY_VALUES_F EEV,
PAY_ELEMENT_TYPES_VL ET,
CMP_PLANS_VL PLAN,
CMP_PLAN_PERIODS PLANP,
CMP_COMPONENTS_VL COMP,
CMP_PLAN_ATTRIBUTES CPA,
pay_input_values_f PIV,
CMP_ATTRIBUTE_ELEMENTS CAE
WHERE
ASS.PERSON_ID=EE.PERSON_ID(+)
AND EE.ELEMENT_TYPE_ID=ET.ELEMENT_TYPE_ID(+)
AND EE.ELEMENT_ENTRY_ID=EEV.ELEMENT_ENTRY_ID(+)
and (PLAN.COMP_TYPE(+)='ICD') 
AND PLAN.PLAN_ID(+)=COMP.PLAN_ID
AND (PLAN.STATUS_CODE(+)='ACTIVE')
AND COMP.COMPONENT_ID(+) = CPA.COMPONENT_ID
AND COMP.PLAN_ID(+) =CPA.PLAN_ID
AND CPA.PLAN_ATTRIBUTE_ID(+)=CAE.PLAN_ATTRIBUTE_ID
AND CAE.ELEMENT_TYPE_ID(+)=ET.ELEMENT_TYPE_ID
AND EEV.INPUT_VALUE_ID=PIV.INPUT_VALUE_ID(+)
AND PLAN.PLAN_ID=PLANP.PLAN_ID(+)
AND PLAN.PLAN_NAME= 'Allowance'
and (PIV.BASE_NAME = ('Amount'))
AND ET.BASE_ELEMENT_NAME LIKE 'International Auto Allowance%'
AND EE.EFFECTIVE_START_DATE = (select max(EFFECTIVE_START_DATE)from PAY_ELEMENT_ENTRIES_F where PER.PERSON_ID=PERSON_ID(+) and :DATE_TO BETWEEN EFFECTIVE_START_DATE(+) AND EFFECTIVE_END_DATE(+))
AND :DATE_TO BETWEEN PIV.EFFECTIVE_START_DATE(+) AND PIV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EE.EFFECTIVE_START_DATE(+) AND EE.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN EEV.EFFECTIVE_START_DATE(+) AND EEV.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ET.EFFECTIVE_START_DATE(+) AND ET.EFFECTIVE_END_DATE(+)) IS NOT NULL THEN 'MONTHLY' ELSE '' END AS Intl_CarAllow_FRQ,
ASS.ASS_ATTRIBUTE3 AS BEN_PRG,
'' AS BONUS_CODE,
tree.TREE_CODE,
(SELECT DISTINCT ORG_INFORMATION_NUMBER1 FROM HR_ORGANIZATION_INFORMATION_F where ORG_INFORMATION_CONTEXT = 'PER_WORK_DAY_INFO' and ASS.legal_entity_ID=ORGANIZATION_ID and :DATE_TO BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE AND ROWNUM=1) as kours,
(SELECT DISTINCT VALUE FROM PER_ASSIGN_WORK_MEASURES_F WRKMSR WHERE ASS.ASSIGNMENT_ID=WRKMSR.ASSIGNMENT_ID AND WRKMSR.UNIT='FTE' AND :DATE_TO BETWEEN WRKMSR.EFFECTIVE_START_DATE AND WRKMSR.EFFECTIVE_END_DATE AND ROWNUM=1) as fte
-- ROUND(((SELECT DISTINCT ORG_INFORMATION_NUMBER1 FROM HR_ORGANIZATION_INFORMATION_F where ORG_INFORMATION_CONTEXT = 'PER_WORK_DAY_INFO' and :DATE_TO BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE AND ROWNUM=1)*(SELECT DISTINCT VALUE FROM PER_ASSIGN_WORK_MEASURES_F WRKMSR WHERE ASS.ASSIGNMENT_ID=WRKMSR.ASSIGNMENT_ID AND WRKMSR.UNIT='FTE' AND :DATE_TO BETWEEN WRKMSR.EFFECTIVE_START_DATE AND WRKMSR.EFFECTIVE_END_DATE AND ROWNUM=1)),2) AS HOURS

FROM
PER_PERSON_SECURED_LIST_V PER,
PER_PERSON_NAMES_F NAME,
PER_ASSIGNMENT_SECURED_LIST_V ASS,
PER_DEPARTMENTS DEP,
-- HRC_LOADER_BATCH_KEY_MAP HRC,
PER_PEOPLE_LEGISLATIVE_F PPL,
PER_ASSIGNMENT_SUPERVISORS_F MAN,
PER_PERIODS_OF_SERVICE PPS,
PER_JOBS JOB,
----PER_JOB_LEG_F JOBF,
HR_ORGANIZATION_UNITS BU,
CMP_SALARY_V CUR,
HR_LOCATIONS_ALL LOC,
-- PER_PERSON_ADDR_USAGES_F ADDRE,
PER_ADDRESSES_F ADDR,
CMP_SALARY SAL,
PER_DEPT_TREE_NODE tree,
PER_ASG_RESPONSIBILITIES respons

where

PER.PERSON_ID=ASS.PERSON_ID
AND ASS.PERSON_ID = NAME.PERSON_ID(+)
AND NAME.NAME_TYPE='GLOBAL'
AND ASS.ORGANIZATION_ID = DEP.ORGANIZATION_ID(+)
-- AND ASS.ORGANIZATION_ID= HRC.TARGET_ID
AND ASS.PERSON_ID = PPL.PERSON_ID(+)
AND PPL.LEGISLATION_CODE(+)=ASS.LEGISLATION_CODE
AND MAN.ASSIGNMENT_ID(+)= ASS.ASSIGNMENT_ID
AND MAN.PERSON_ID(+)=ASS.PERSON_ID
AND ASS.PERSON_ID =PPS.PERSON_ID(+)
AND ASS.PERIOD_OF_SERVICE_ID = PPS.PERIOD_OF_SERVICE_ID(+)
AND ASS.JOB_ID=JOB.JOB_ID(+)
----AND ASS.JOB_ID= JOBF.JOB_ID(+)
-----AND JOBF.INFORMATION_CATEGORY(+)='HRX_US_JOBS'
AND ASS.BUSINESS_UNIT_ID = BU.ORGANIZATION_ID(+)
AND ASS.ASSIGNMENT_ID=CUR.ASSIGNMENT_ID(+)
AND ASS.LOCATION_ID = LOC.LOCATION_ID(+)
-- AND ADDRE.PERSON_ID(+)=ASS.PERSON_ID
AND ADDR.ADDRESS_ID(+)=per.MAILING_ADDRESS_ID
-- AND ADDRE.ADDRESS_TYPE(+) ='HOME'
AND ASS.ASSIGNMENT_ID=SAL.ASSIGNMENT_ID(+)

and DEP.organization_id=tree.pk1_start_value(+)
----AND respons.ASSIGNMENT_ID= ASS.ASSIGNMENT_ID
and tree.TREE_CODE = respons.DEPARTMENT_TREE_CODE(+)
and respons.RESPONSIBILITY_TYPE(+) ='DEPT_MGR'
----and tree.PARENT_PK1_VALUE=respons.TOP_DEPARTMENT_ID(+)
and (tree.tree_code(+) like ('DM_%') or tree.tree_code(+) like ('HR_%'))

AND ASS.ASSIGNMENT_TYPE IN ('E')
AND ASS.ASSIGNMENT_STATUS_TYPE = 'ACTIVE'

AND ((ADDR.last_update_date = (SELECT MAX(A.last_update_date) FROM PER_ADDRESSES_F A, PER_PERSON_ADDR_USAGES_F B  WHERE A.ADDRESS_ID(+)=B.ADDRESS_ID AND B.PERSON_ID(+)=ASS.PERSON_ID AND B.ADDRESS_TYPE(+)='HOME' AND :DATE_TO between A.EFFECTIVE_START_DATE(+) and A.EFFECTIVE_END_DATE(+) AND :DATE_TO between B.EFFECTIVE_START_DATE(+) and B.EFFECTIVE_END_DATE(+))) OR (ADDR.last_update_date IS NULL))


-- AND ASS.EFFECTIVE_START_DATE BETWEEN :DATE_FROM AND :DATE_TO
AND :DATE_TO BETWEEN PER.EFFECTIVE_START_DATE AND PER.EFFECTIVE_END_DATE
AND :DATE_TO BETWEEN NAME.EFFECTIVE_START_DATE(+) AND NAME.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN MAN.EFFECTIVE_START_DATE(+) AND MAN.EFFECTIVE_END_DATE(+)
-- AND :DATE_TO BETWEEN ADDRE.EFFECTIVE_START_DATE(+) AND ADDRE.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ADDR.EFFECTIVE_START_DATE(+) AND ADDR.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN ASS.EFFECTIVE_START_DATE(+) AND ASS.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN JOB.EFFECTIVE_START_DATE(+) AND JOB.EFFECTIVE_END_DATE(+)
-----AND :DATE_TO BETWEEN JOBF.EFFECTIVE_START_DATE(+) AND JOBF.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN LOC.EFFECTIVE_START_DATE(+) AND LOC.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN DEP.EFFECTIVE_START_DATE(+) AND DEP.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN SAL.DATE_FROM(+) AND SAL.DATE_TO(+)
AND :DATE_TO BETWEEN cur.DATE_FROM(+) AND cur.DATE_TO(+)
AND :DATE_TO BETWEEN PPL.EFFECTIVE_START_DATE(+) AND PPL.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN respons.START_DATE(+) AND NVL(respons.END_DATE,TO_DATE('4712-12-31','YYYY-MM-DD'))


-------

--Performance Differentials

SELECT DISTINCT
PERSON.PERSON_NUMBER,
EENTRY.PERSON_ID,
TO_CHAR(EENTRY.EFFECTIVE_START_DATE, 'YYYY-MM-DD'),
TO_CHAR(EENTRY.EFFECTIVE_END_DATE, 'YYYY-MM-DD'),
ETYPE.ELEMENT_NAME,
ETYPE.REPORTING_NAME,
ETYPE.DESCRIPTION,
ETYPE.DEDUCTION_OR_EXEMPTION,
ETYPE.DEDUCTION_TYPE_ID,
ECLASS.CLASSIFICATION_NAME,
PINPUT.BASE_NAME,
PINPUT.MANDATORY_FLAG,
EVALUE.SCREEN_ENTRY_VALUE AS AMOUNT
FROM
PAY_ELEMENT_ENTRIES_F EENTRY,
PAY_ELEMENT_TYPES_VL ETYPE,
PAY_ELE_CLASSIFICATIONS_VL ECLASS,
PER_ALL_PEOPLE_F_V person,
PAY_ELEMENT_ENTRY_VALUES_F EVALUE,
PAY_INPUT_VALUES_F PINPUT
WHERE
PERSON.PERSON_ID = EENTRY.PERSON_ID (+)
AND ECLASS.CLASSIFICATION_ID = ETYPE.CLASSIFICATION_ID
AND ETYPE.ELEMENT_TYPE_ID = EENTRY.ELEMENT_TYPE_ID
AND EVALUE.ELEMENT_ENTRY_ID = EENTRY.ELEMENT_ENTRY_ID
AND EVALUE.INPUT_VALUE_ID = PINPUT.INPUT_VALUE_ID
AND EVALUE.SCREEN_ENTRY_VALUE <> ' '
--AND ETYPE.ELEMENT_NAME IN (:ElementName)
AND UPPER(ETYPE.ELEMENT_NAME) NOT LIKE '%SALARY%'
AND PERSON.EFFECTIVE_START_DATE BETWEEN ETYPE.EFFECTIVE_START_DATE(+) AND ETYPE.EFFECTIVE_END_DATE(+)
AND PERSON.EFFECTIVE_START_DATE BETWEEN PINPUT.EFFECTIVE_START_DATE(+) AND PINPUT.EFFECTIVE_END_DATE(+)
AND TRUNC(SYSDATE) BETWEEN EENTRY.EFFECTIVE_START_DATE AND EENTRY.EFFECTIVE_END_DATE
AND ETYPE.ELEMENT_NAME IN
(
'Performance Differential 1 US',
'Performance Differential 125 US',
'Performance Differential 2 US',
'Performance Differential 225 US',
'Performance Differential 3 US',
'Georgetown LOB premium US'
)
ORDER BY PERSON.PERSON_NUMBER,
ETYPE.ELEMENT_NAME,
TO_CHAR(EENTRY.EFFECTIVE_START_DATE, 'YYYY-MM-DD')


--------

 --Nonrecurring bonus points

SELECT DISTINCT
PERSON.PERSON_NUMBER,
EENTRY.PERSON_ID,
TO_CHAR(EENTRY.EFFECTIVE_START_DATE, 'YYYY-MM-DD'),
TO_CHAR(EENTRY.EFFECTIVE_END_DATE, 'YYYY-MM-DD'),
ETYPE.ELEMENT_NAME,
ETYPE.REPORTING_NAME,
ETYPE.DESCRIPTION,
ETYPE.DEDUCTION_OR_EXEMPTION,
ETYPE.DEDUCTION_TYPE_ID,
ECLASS.CLASSIFICATION_NAME,
PINPUT.BASE_NAME,
PINPUT.MANDATORY_FLAG,
EVALUE.SCREEN_ENTRY_VALUE AS AMOUNT
FROM
PAY_ELEMENT_ENTRIES_F EENTRY,
PAY_ELEMENT_TYPES_VL ETYPE,
PAY_ELE_CLASSIFICATIONS_VL ECLASS,
PER_ALL_PEOPLE_F_V person,
PAY_ELEMENT_ENTRY_VALUES_F EVALUE,
PAY_INPUT_VALUES_F PINPUT
WHERE
PERSON.PERSON_ID = EENTRY.PERSON_ID (+)
AND ECLASS.CLASSIFICATION_ID = ETYPE.CLASSIFICATION_ID
AND ETYPE.ELEMENT_TYPE_ID = EENTRY.ELEMENT_TYPE_ID
AND EVALUE.ELEMENT_ENTRY_ID = EENTRY.ELEMENT_ENTRY_ID
AND EVALUE.INPUT_VALUE_ID = PINPUT.INPUT_VALUE_ID
AND EVALUE.SCREEN_ENTRY_VALUE <> ' '
--AND ETYPE.ELEMENT_NAME IN (:ElementName)
AND UPPER(ETYPE.ELEMENT_NAME) NOT LIKE '%SALARY%'
--AND PERSON.EFFECTIVE_START_DATE BETWEEN ETYPE.EFFECTIVE_START_DATE(+) AND ETYPE.EFFECTIVE_END_DATE(+)
AND TRUNC(SYSDATE) BETWEEN PERSON.EFFECTIVE_START_DATE(+) AND PERSON.EFFECTIVE_END_DATE(+)
--AND PERSON.EFFECTIVE_START_DATE BETWEEN PINPUT.EFFECTIVE_START_DATE(+) AND PINPUT.EFFECTIVE_END_DATE(+)
--AND TRUNC(SYSDATE) BETWEEN EENTRY.EFFECTIVE_START_DATE AND EENTRY.EFFECTIVE_END_DATE
AND ETYPE.PROCESSING_TYPE = 'N'
ORDER BY PERSON.PERSON_NUMBER,
ETYPE.ELEMENT_NAME,
TO_CHAR(EENTRY.EFFECTIVE_START_DATE, 'YYYY-MM-DD')

------------------
--new hires and re hires

SELECT ASS.PERSON_ID,
LOC.LOCATION_NAME,
ASS.WORK_AT_HOME,
PER.PERSON_NUMBER,
NAME.LAST_NAME,
NAME.FIRST_NAME,
PNI.LEGISLATION_CODE AS SSN_COUNTRY,
ASS.ASSIGNMENT_STATUS_TYPE,
PNI.NATIONAL_IDENTIFIER_NUMBER,
TO_CHAR(PP.DATE_OF_BIRTH,'MM/DD/YYYY')AS DATE_OF_BIRTH,
ADDR.ADDRESS_LINE_1,
ADDR.ADDRESS_LINE_2,
ADDR.TOWN_OR_CITY AS CITY,
ADDR.REGION_2 AS STATE_,
ADDR.POSTAL_CODE AS ZIP_CODE,
ADDR.COUNTRY,
(SELECT TO_CHAR(MIN(DATE_START),'MM/DD/YYYY') FROM PER_PERIODS_OF_SERVICE WHERE PERSON_ID=ASS.PERSON_ID AND PERIOD_OF_SERVICE_ID=ASS.PERIOD_OF_SERVICE_ID) AS ENTERPRISE_EFF_DATE,
TO_CHAR(POS.DATE_START,'MM/DD/YYYY') AS COMP_EFF_DATE,
-- DEPT.NAME AS DEPARTMENT,
CASE WHEN INSTR(HRC.NAME,'__',1) != 0  THEN SUBSTR(HRC.NAME, NVL(INSTR(HRC.NAME,'__',1),0)+2)

                                     WHEN INSTR(HRC.NAME,'__',1) = 0  THEN NULL END AS DEPARTMENT,
PA.USER_STATUS,
ASS.ACTION_CODE,
(SELECT ACTION_NAME FROM PER_ACTIONS_VL WHERE ACTION_CODE=ASS.ACTION_CODE AND ASS.EFFECTIVE_START_DATE BETWEEN START_DATE(+) AND NVL(END_DATE,TO_DATE('4712.01.01', 'YYYY.MM.DD'))) AS ACTION_DESC,
ASS.REASON_CODE,
(SELECT ACTION_REASON FROM PER_ACTION_REASONS_VL WHERE  ACTION_REASON_CODE=ASS.REASON_CODE AND ASS.EFFECTIVE_START_DATE BETWEEN START_DATE(+) AND NVL(END_DATE,TO_DATE('4712.01.01', 'YYYY.MM.DD'))) AS REASON_DESC,
SLA.SALARY_BASIS_CODE,
CM.SALARY_AMOUNT AS COMP_RATE,
CM.SALARY_AMOUNT * (NVL(SLA.SALARY_ANNUALIZATION_FACTOR,26)) AS ANNUAL_RATE,
CM.LOCAL_CURRENCY,
TO_CHAR(ASS.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS ASS_START_DATE,
CASE WHEN ASS.ACTION_CODE IN ('REHIRE') THEN
(SELECT TO_CHAR(MIN(PAA.EFFECTIVE_START_DATE) ,'MM/DD/YYYY')
   FROM PER_ALL_ASSIGNMENTS_M PAA
  WHERE PAA.PERSON_ID = ASS.PERSON_ID
AND PAA.ASSIGNMENT_TYPE IN ('E','C','P')
AND PAA.ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE-1)
ELSE (SELECT TO_CHAR(MIN(DATE_START),'MM/DD/YYYY') FROM PER_PERIODS_OF_SERVICE WHERE PERSON_ID=ASS.PERSON_ID AND PERIOD_OF_SERVICE_ID=ASS.PERIOD_OF_SERVICE_ID)
END AS LAST_START,

CASE WHEN ASS.ACTION_CODE IN ('REHIRE') THEN
(SELECT TO_CHAR(MAX(PAA.EFFECTIVE_START_DATE) ,'MM/DD/YYYY')
   FROM PER_ALL_ASSIGNMENTS_M PAA
  WHERE PAA.PERSON_ID = ASS.PERSON_ID
AND PAA.ASSIGNMENT_TYPE IN ('E','C','P')
AND PAA.ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE-1) ELSE '' END AS TERM_DATE,
TO_CHAR(ASS.LAST_UPDATE_DATE,'MM/DD/YYYY') AS LAST_UPDATE_DATE,
ASS.LAST_UPDATED_BY,
(SELECT EMAIL_ADDRESS FROM PER_EMAIL_ADDRESSES EMAIL2 WHERE PER.PERSON_ID = EMAIL2.PERSON_ID AND EMAIL_TYPE = 'W1' AND TRUNC(SYSDATE) BETWEEN EMAIL2.DATE_FROM(+) AND NVL(EMAIL2.DATE_TO, TO_DATE('4712.01.01', 'YYYY.MM.DD')))AS EMAIL_ADDRESS,
LE.NAME AS LEGAL_ENTITY

FROM PER_ASSIGNMENT_SECURED_LIST_V ASS,
HR_LOCATIONS_ALL LOC,
PER_PERSON_NAMES_F NAME,
PER_PERSON_SECURED_LIST_V PER,
PER_NATIONAL_IDENTIFIERS PNI,
PER_PERSONS PP,
PER_PERIODS_OF_SERVICE POS,
-- PER_DEPARTMENTS DEPT,
PER_ADDRESSES_F ADDR,
PER_PERSON_ADDR_USAGES_F ADF,
PER_ASSIGNMENT_STATUS_TYPES_VL PA,
CMP_SALARY_BASES SLA,
CMP_SALARY_V CM,
HR_ALL_ORGANIZATION_UNITS_F_VL HRC,
PER_LEGAL_EMPLOYERS LE

WHERE ASS.ASSIGNMENT_TYPE IN ('E','C','P')
-- AND ASS.LEGISLATION_CODE NOT IN ('US')
-- AND LOC.COUNTRY NOT IN ('US')
AND ASS.ASSIGNMENT_STATUS_TYPE IN ('ACTIVE')
AND NAME.NAME_TYPE='GLOBAL'
AND ASS.ASSIGNMENT_TYPE = 'E'
AND ASS.PERSON_ID=PER.PERSON_ID
AND PER.PERSON_ID=NAME.PERSON_ID
AND PNI.NATIONAL_IDENTIFIER_ID(+)=PER.PRIMARY_NID_ID
AND ASS.LEGAL_ENTITY_ID=LE.ORGANIZATION_ID(+)
AND ASS.LOCATION_ID=LOC.LOCATION_ID(+)
AND PP.PERSON_ID(+)=PER.PERSON_ID
AND ADF.ADDRESS_ID=ADDR.ADDRESS_ID(+)
AND ADF.PERSON_ID(+)=PER.PERSON_ID
AND ASS.ORGANIZATION_ID=HRC.ORGANIZATION_ID(+)
AND ADF.ADDRESS_TYPE(+)='HOME'
-- AND ADDR.ADDRESS_ID(+)=PER.MAILING_ADDRESS_ID
-- AND DEPT.ORGANIZATION_ID(+)=ASS.ORGANIZATION_ID
AND PA.ASSIGNMENT_STATUS_TYPE_ID(+)=ASS.ASSIGNMENT_STATUS_TYPE_ID
AND POS.PERSON_ID=ASS.PERSON_ID
AND POS.PERIOD_OF_SERVICE_ID=ASS.PERIOD_OF_SERVICE_ID
AND CM.ASSIGNMENT_ID(+)=ASS.ASSIGNMENT_ID
AND CM.SALARY_BASIS_ID=SLA.SALARY_BASIS_ID(+)
AND ASS.ACTION_CODE IN ('HIRE','REHIRE','HIRE_ADD_WORK_RELATION','ADD_AN_EMPLOYEE','ADD_PERSON_OF_INTEREST') AND TRUNC(ASS.EFFECTIVE_START_DATE) BETWEEN :DATE_FROM AND :DATE_TO
AND ASS.EFFECTIVE_START_DATE BETWEEN ADDR.EFFECTIVE_START_DATE and ADDR.EFFECTIVE_END_DATE
AND ASS.EFFECTIVE_START_DATE BETWEEN ADF.EFFECTIVE_START_DATE and ADF.EFFECTIVE_END_DATE
AND ASS.EFFECTIVE_START_DATE BETWEEN PER.EFFECTIVE_START_DATE AND PER.EFFECTIVE_END_DATE
AND ASS.EFFECTIVE_START_DATE BETWEEN LE.EFFECTIVE_START_DATE(+)  AND LE.EFFECTIVE_END_DATE(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN NAME.EFFECTIVE_START_DATE AND NAME.EFFECTIVE_END_DATE
AND ASS.EFFECTIVE_START_DATE BETWEEN LOC.EFFECTIVE_START_DATE(+) AND LOC.EFFECTIVE_END_DATE(+)
-- AND ASS.EFFECTIVE_START_DATE BETWEEN DEPT.EFFECTIVE_START_DATE(+) AND DEPT.EFFECTIVE_END_DATE(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN PA.START_DATE(+) AND NVL(PA.END_DATE,TO_DATE('4712.01.01', 'YYYY.MM.DD'))
AND ASS.EFFECTIVE_START_DATE BETWEEN CM.DATE_FROM(+) AND CM.DATE_TO(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN HRC.EFFECTIVE_START_DATE(+) AND HRC.EFFECTIVE_END_DATE(+)
ORDER BY PER.PERSON_NUMBER

------


--NewHires DM

SELECT ASS.PERSON_ID,
LOC.LOCATION_NAME,
ASS.WORK_AT_HOME,
PER.PERSON_NUMBER,
NAME.LAST_NAME,
NAME.FIRST_NAME,
PNI.LEGISLATION_CODE AS SSN_COUNTRY,
ASS.ASSIGNMENT_STATUS_TYPE,
PNI.NATIONAL_IDENTIFIER_NUMBER,
TO_CHAR(PP.DATE_OF_BIRTH,'MM/DD/YYYY')AS DATE_OF_BIRTH,
ADDR.ADDRESS_LINE_1,
ADDR.ADDRESS_LINE_2,
ADDR.TOWN_OR_CITY AS CITY,
ADDR.REGION_2 AS STATE_,
ADDR.POSTAL_CODE AS ZIP_CODE,
ADDR.COUNTRY,
(SELECT TO_CHAR(MIN(DATE_START),'MM/DD/YYYY') FROM PER_PERIODS_OF_SERVICE WHERE PERSON_ID=ASS.PERSON_ID AND PERIOD_OF_SERVICE_ID=ASS.PERIOD_OF_SERVICE_ID) AS ENTERPRISE_EFF_DATE,
TO_CHAR(POS.DATE_START,'MM/DD/YYYY') AS COMP_EFF_DATE,
-- DEPT.NAME AS DEPARTMENT,
CASE WHEN INSTR(HRC.NAME,'__',1) != 0  THEN SUBSTR(HRC.NAME, NVL(INSTR(HRC.NAME,'__',1),0)+2)

                                     WHEN INSTR(HRC.NAME,'__',1) = 0  THEN NULL END AS DEPARTMENT,
PA.USER_STATUS,
ASS.ACTION_CODE,
(SELECT ACTION_NAME FROM PER_ACTIONS_VL WHERE ACTION_CODE=ASS.ACTION_CODE AND ASS.EFFECTIVE_START_DATE BETWEEN START_DATE(+) AND NVL(END_DATE,TO_DATE('4712.01.01', 'YYYY.MM.DD'))) AS ACTION_DESC,
ASS.REASON_CODE,
(SELECT ACTION_REASON FROM PER_ACTION_REASONS_VL WHERE  ACTION_REASON_CODE=ASS.REASON_CODE AND ASS.EFFECTIVE_START_DATE BETWEEN START_DATE(+) AND NVL(END_DATE,TO_DATE('4712.01.01', 'YYYY.MM.DD'))) AS REASON_DESC,
SLA.SALARY_BASIS_CODE,
CM.SALARY_AMOUNT AS COMP_RATE,
CM.SALARY_AMOUNT * (NVL(SLA.SALARY_ANNUALIZATION_FACTOR,26)) AS ANNUAL_RATE,
CM.LOCAL_CURRENCY,
TO_CHAR(ASS.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS ASS_START_DATE,
CASE WHEN ASS.ACTION_CODE IN ('REHIRE') THEN
(SELECT TO_CHAR(MIN(PAA.EFFECTIVE_START_DATE) ,'MM/DD/YYYY')
   FROM PER_ALL_ASSIGNMENTS_M PAA
  WHERE PAA.PERSON_ID = ASS.PERSON_ID
AND PAA.ASSIGNMENT_TYPE IN ('E','C','P')
AND PAA.ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE-1)
ELSE (SELECT TO_CHAR(MIN(DATE_START),'MM/DD/YYYY') FROM PER_PERIODS_OF_SERVICE WHERE PERSON_ID=ASS.PERSON_ID AND PERIOD_OF_SERVICE_ID=ASS.PERIOD_OF_SERVICE_ID)
END AS LAST_START,

CASE WHEN ASS.ACTION_CODE IN ('REHIRE') THEN
(SELECT TO_CHAR(MAX(PAA.EFFECTIVE_START_DATE) ,'MM/DD/YYYY')
   FROM PER_ALL_ASSIGNMENTS_M PAA
  WHERE PAA.PERSON_ID = ASS.PERSON_ID
AND PAA.ASSIGNMENT_TYPE IN ('E','C','P')
AND PAA.ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE-1) ELSE '' END AS TERM_DATE,
TO_CHAR(ASS.LAST_UPDATE_DATE,'MM/DD/YYYY') AS LAST_UPDATE_DATE,
ASS.LAST_UPDATED_BY,
(SELECT EMAIL_ADDRESS FROM PER_EMAIL_ADDRESSES EMAIL2 WHERE PER.PERSON_ID = EMAIL2.PERSON_ID AND EMAIL_TYPE = 'W1' AND TRUNC(SYSDATE) BETWEEN EMAIL2.DATE_FROM(+) AND NVL(EMAIL2.DATE_TO, TO_DATE('4712.01.01', 'YYYY.MM.DD')))AS EMAIL_ADDRESS,
LE.NAME AS LEGAL_ENTITY

FROM PER_ASSIGNMENT_SECURED_LIST_V ASS,
HR_LOCATIONS_ALL LOC,
PER_PERSON_NAMES_F NAME,
PER_PERSON_SECURED_LIST_V PER,
PER_NATIONAL_IDENTIFIERS PNI,
PER_PERSONS PP,
PER_PERIODS_OF_SERVICE POS,
-- PER_DEPARTMENTS DEPT,
PER_ADDRESSES_F ADDR,
PER_PERSON_ADDR_USAGES_F ADF,
PER_ASSIGNMENT_STATUS_TYPES_VL PA,
CMP_SALARY_BASES SLA,
CMP_SALARY_V CM,
HR_ALL_ORGANIZATION_UNITS_F_VL HRC,
PER_LEGAL_EMPLOYERS LE

WHERE ASS.ASSIGNMENT_TYPE IN ('E','C','P')
AND ASS.LEGISLATION_CODE NOT IN ('US')
-- AND LOC.COUNTRY NOT IN ('US')
AND ASS.ASSIGNMENT_STATUS_TYPE IN ('ACTIVE')
AND NAME.NAME_TYPE='GLOBAL'

AND ASS.PERSON_ID=PER.PERSON_ID
AND PER.PERSON_ID=NAME.PERSON_ID
AND PNI.NATIONAL_IDENTIFIER_ID(+)=PER.PRIMARY_NID_ID
AND ASS.LEGAL_ENTITY_ID=LE.ORGANIZATION_ID(+)
AND ASS.LOCATION_ID=LOC.LOCATION_ID(+)
AND PP.PERSON_ID(+)=PER.PERSON_ID
AND ADF.ADDRESS_ID=ADDR.ADDRESS_ID(+)
AND ADF.PERSON_ID(+)=PER.PERSON_ID
AND ASS.ORGANIZATION_ID=HRC.ORGANIZATION_ID(+)
AND ADF.ADDRESS_TYPE(+)='HOME'
-- AND ADDR.ADDRESS_ID(+)=PER.MAILING_ADDRESS_ID
-- AND DEPT.ORGANIZATION_ID(+)=ASS.ORGANIZATION_ID
AND PA.ASSIGNMENT_STATUS_TYPE_ID(+)=ASS.ASSIGNMENT_STATUS_TYPE_ID
AND POS.PERSON_ID=ASS.PERSON_ID
AND POS.PERIOD_OF_SERVICE_ID=ASS.PERIOD_OF_SERVICE_ID
AND CM.ASSIGNMENT_ID(+)=ASS.ASSIGNMENT_ID
AND CM.SALARY_BASIS_ID=SLA.SALARY_BASIS_ID(+)
AND ASS.ACTION_CODE IN ('HIRE','REHIRE')
AND TRUNC(ASS.EFFECTIVE_START_DATE) BETWEEN :DATE_FROM AND :DATE_TO
AND ASS.EFFECTIVE_START_DATE BETWEEN ADDR.EFFECTIVE_START_DATE and ADDR.EFFECTIVE_END_DATE
AND ASS.EFFECTIVE_START_DATE BETWEEN ADF.EFFECTIVE_START_DATE and ADF.EFFECTIVE_END_DATE
AND ASS.EFFECTIVE_START_DATE BETWEEN PER.EFFECTIVE_START_DATE AND PER.EFFECTIVE_END_DATE
AND ASS.EFFECTIVE_START_DATE BETWEEN LE.EFFECTIVE_START_DATE(+)  AND LE.EFFECTIVE_END_DATE(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN NAME.EFFECTIVE_START_DATE AND NAME.EFFECTIVE_END_DATE
AND ASS.EFFECTIVE_START_DATE BETWEEN LOC.EFFECTIVE_START_DATE(+) AND LOC.EFFECTIVE_END_DATE(+)
-- AND ASS.EFFECTIVE_START_DATE BETWEEN DEPT.EFFECTIVE_START_DATE(+) AND DEPT.EFFECTIVE_END_DATE(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN PA.START_DATE(+) AND NVL(PA.END_DATE,TO_DATE('4712.01.01', 'YYYY.MM.DD'))
AND ASS.EFFECTIVE_START_DATE BETWEEN CM.DATE_FROM(+) AND CM.DATE_TO(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN HRC.EFFECTIVE_START_DATE(+) AND HRC.EFFECTIVE_END_DATE(+)
ORDER BY PER.PERSON_NUMBER

--------------


--NameChange DM

SELECT LOC.LOCATION_NAME,
PER.PERSON_NUMBER,
TO_CHAR(NAME.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS EFFECTIVE_START_DATE,
NAME.FIRST_NAME,
NAME.LAST_NAME,
LE.NAME,
ass.ACTION_CODE,
ass.person_id

FROM PER_PERSON_NAMES_F NAME,
PER_PERSON_SECURED_LIST_V  PER,
HR_LOCATIONS_ALL LOC,
PER_ASSIGNMENT_SECURED_LIST_V ASS,
PER_LEGAL_EMPLOYERS LE

WHERE NAME.PERSON_ID =PER.PERSON_ID
AND LE.ORGANIZATION_ID(+) =ASS.LEGAL_ENTITY_ID
AND LOC.LOCATION_ID(+) =ASS.LOCATION_ID
AND ASS.PERSON_ID=PER.PERSON_ID
AND ASS.ASSIGNMENT_TYPE IN ('E','C')
AND ASS.ASSIGNMENT_STATUS_TYPE IN ('ACTIVE')
AND ASS.EFFECTIVE_LATEST_CHANGE = 'Y'
AND NAME.NAME_TYPE='GLOBAL'
-- AND LOC.COUNTRY NOT IN ('US')
AND NAME.LEGISLATION_CODE NOT IN ('US')
AND trunc(NAME.LAST_UPDATE_DATE) <> trunc(NAME.CREATION_DATE)
-- and (NAME.EFFECTIVE_START_DATE)-1 is not null
AND NAME.EFFECTIVE_START_DATE BETWEEN :DATE_FROM AND  :DATE_TO
AND :DATE_TO BETWEEN PER.EFFECTIVE_START_DATE AND PER.EFFECTIVE_END_DATE
-- AND :DATE_TO BETWEEN NAME.EFFECTIVE_START_DATE AND NAME.EFFECTIVE_END_DATE
AND :DATE_TO BETWEEN ASS.EFFECTIVE_START_DATE AND ASS.EFFECTIVE_END_DATE
AND :DATE_TO BETWEEN LOC.EFFECTIVE_START_DATE(+) AND LOC.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN LE.EFFECTIVE_START_DATE(+) AND LE.EFFECTIVE_END_DATE(+)

----------

--location change

SELECT PER.PERSON_NUMBER,
NAME.FIRST_NAME,
NAME.LAST_NAME,
(SELECT LOC.LOCATION_NAME FROM HR_LOCATIONS_ALL_F_VL  LOC WHERE  LOC.LOCATION_ID =ASSOLD.LOCATION_ID AND TRUNC(sysdate) between LOC.EFFECTIVE_START_DATE and LOC.EFFECTIVE_END_DATE ) AS OLD_LOCATION,
TO_CHAR(ASS.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS CHANGE_DATE,
(SELECT LOC.LOCATION_NAME FROM HR_LOCATIONS_ALL_F_VL  LOC WHERE  LOC.LOCATION_ID =ASS.LOCATION_ID AND TRUNC(sysdate) between LOC.EFFECTIVE_START_DATE and LOC.EFFECTIVE_END_DATE ) AS NEW_LOCATION

FROM PER_ALL_PEOPLE_F PER,
PER_PERSON_NAMES_F NAME,
PER_ALL_ASSIGNMENTS_F ASS,
PER_ALL_ASSIGNMENTS_F ASSOLD
WHERE NAME.NAME_TYPE='GLOBAL'
AND ASS.ASSIGNMENT_TYPE IN ('E','C')
AND ASS.ASSIGNMENT_STATUS_TYPE='ACTIVE'
AND PER.PERSON_ID=ASS.PERSON_ID
AND NAME.PERSON_ID(+)=PER.PERSON_ID

AND ASS.LOCATION_ID NOT IN ('100000000267863','100000000267860','100000000267816','100000000267783')
AND ASSOLD.LOCATION_ID IN ('100000000267863','100000000267860','100000000267816','100000000267783')

AND PER.PERSON_ID=ASSOLD.PERSON_ID
AND ASS.PERSON_ID=ASSOLD.PERSON_ID
--AND ASSOLD.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASSOLD.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND LOCATION_ID <> ASS.LOCATION_ID AND EFFECTIVE_START_DATE < ASS.EFFECTIVE_START_DATE)
AND ASSOLD.EFFECTIVE_START_DATE = (SELECT MAX(EFFECTIVE_START_DATE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASSOLD.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE AND LOCATION_ID <> ASS.LOCATION_ID AND EFFECTIVE_START_DATE < ASS.EFFECTIVE_START_DATE)
AND ASS.ACTION_CODE = 'LOCATION_CHANGE'
                AND ASSOLD.LOCATION_ID <> ASS.LOCATION_ID
AND ASS.EFFECTIVE_START_DATE BETWEEN SYSDATE - 7 AND  SYSDATE
AND ASS.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_F WHERE PERSON_ID=ASS.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND TRUNC(sysdate) between EFFECTIVE_START_DATE and EFFECTIVE_END_DATE)
AND TRUNC(sysdate) between PER.EFFECTIVE_START_DATE and PER.EFFECTIVE_END_DATE 
AND TRUNC(sysdate) between ASS.EFFECTIVE_START_DATE and ASS.EFFECTIVE_END_DATE
AND TRUNC(sysdate) between NAME.EFFECTIVE_START_DATE(+) and NAME.EFFECTIVE_END_DATE(+)


UNION
SELECT PER.PERSON_NUMBER,
NAME.FIRST_NAME,
NAME.LAST_NAME,
(SELECT LOC.LOCATION_NAME FROM HR_LOCATIONS_ALL_F_VL  LOC WHERE  LOC.LOCATION_ID =ASSOLD.LOCATION_ID AND TRUNC(sysdate) between LOC.EFFECTIVE_START_DATE and LOC.EFFECTIVE_END_DATE ) AS OLD_LOCATION,
TO_CHAR(ASS.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS CHANGE_DATE,
(SELECT LOC.LOCATION_NAME FROM HR_LOCATIONS_ALL_F_VL  LOC WHERE  LOC.LOCATION_ID =ASS.LOCATION_ID AND TRUNC(sysdate) between LOC.EFFECTIVE_START_DATE and LOC.EFFECTIVE_END_DATE ) AS NEW_LOCATION

FROM PER_ALL_PEOPLE_F PER,
PER_PERSON_NAMES_F NAME,
PER_ALL_ASSIGNMENTS_F ASS,
PER_ALL_ASSIGNMENTS_F ASSOLD
WHERE NAME.NAME_TYPE='GLOBAL'
AND ASS.ASSIGNMENT_TYPE IN ('E','C')
AND ASS.ASSIGNMENT_STATUS_TYPE='ACTIVE'
AND PER.PERSON_ID=ASS.PERSON_ID
AND NAME.PERSON_ID(+)=PER.PERSON_ID

AND ASS.LOCATION_ID IN ('100000000267863','100000000267860','100000000267816','100000000267783')
AND ASSOLD.LOCATION_ID NOT IN ('100000000267863','100000000267860','100000000267816','100000000267783')

AND PER.PERSON_ID=ASSOLD.PERSON_ID
AND ASS.PERSON_ID=ASSOLD.PERSON_ID
--AND ASSOLD.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASSOLD.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND LOCATION_ID <> ASS.LOCATION_ID AND EFFECTIVE_START_DATE < ASS.EFFECTIVE_START_DATE)
AND ASSOLD.EFFECTIVE_START_DATE = (SELECT MAX(EFFECTIVE_START_DATE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASSOLD.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE AND LOCATION_ID <> ASS.LOCATION_ID AND EFFECTIVE_START_DATE < ASS.EFFECTIVE_START_DATE)
AND ASS.ACTION_CODE = 'LOCATION_CHANGE'
                AND ASSOLD.LOCATION_ID <> ASS.LOCATION_ID
AND ASS.EFFECTIVE_START_DATE BETWEEN SYSDATE - 7 AND  SYSDATE
AND ASS.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_F WHERE PERSON_ID=ASS.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND TRUNC(sysdate) between EFFECTIVE_START_DATE and EFFECTIVE_END_DATE)
AND TRUNC(sysdate) between PER.EFFECTIVE_START_DATE and PER.EFFECTIVE_END_DATE 
AND TRUNC(sysdate) between ASS.EFFECTIVE_START_DATE and ASS.EFFECTIVE_END_DATE
AND TRUNC(sysdate) between NAME.EFFECTIVE_START_DATE(+) and NAME.EFFECTIVE_END_DATE(+)

ORDER BY 1

-----------

--LOA All Emps DM

select distinct * from (SELECT
PER.PERSON_NUMBER AS ID,
NAME.LAST_NAME,
NAME.FIRST_NAME,
(SELECT DISTINCT HROF.ORG_INFORMATION2 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND ASS.EFFECTIVE_START_DATE BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND ASS.EFFECTIVE_START_DATE BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS DEPARTMENT,
(SELECT DISTINCT HROF.ORG_INFORMATION1 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND ASS.EFFECTIVE_START_DATE BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND ASS.EFFECTIVE_START_DATE BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS HR_DIVISION,
LEG.NAME AS LEGAL_ENTITY,
JOB.JOB_CODE,
JOB.NAME AS JOB_TITLE,
TO_CHAR(ASS.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS EFF_DATE,
ASS.ACTION_CODE AS ACTION,
(SELECT ACTION_REASON FROM PER_ACTION_REASONS_VL WHERE  ACTION_REASON_CODE=ASS.REASON_CODE AND ASS.EFFECTIVE_START_DATE BETWEEN START_DATE(+) AND NVL(END_DATE,TO_DATE('4712.01.01', 'YYYY.MM.DD'))) AS REASON_DESC,
ASS.ASS_ATTRIBUTE4 AS BUSINESS_TITLE,
CASE WHEN ASS.WORK_AT_HOME = 'Y' THEN '' ELSE LOC.LOCATION_NAME END AS PHYSICAL_LOC,
CUR.LOCAL_CURRENCY AS CURRENCY,
ASS.ASSIGNMENT_STATUS_TYPE AS ASSIGNMENT_STATUS

FROM

PER_PERSON_SECURED_LIST_V PER,
PER_PERSON_NAMES_F NAME,
PER_ASSIGNMENT_SECURED_LIST_V ASS,
-- HRC_LOADER_BATCH_KEY_MAP HRC,
-- HR_ORGANIZATION_UNITS DEP,
HR_LEGAL_ENTITIES LEG,
HR_LOCATIONS_ALL LOC,
PER_JOBS_F_VL JOB,
CMP_SALARY_V CUR

WHERE

PER.PERSON_ID = ASS.PERSON_ID
AND ASS.PERSON_ID = NAME.PERSON_ID
-- AND ASS.ORGANIZATION_ID = HRC.TARGET_ID
-- AND ASS.ORGANIZATION_ID = DEP.ORGANIZATION_ID(+)
AND LEG.ORGANIZATION_ID(+)=ASS.LEGAL_ENTITY_ID
AND LEG.CLASSIFICATION_CODE ='HCM_LEMP'
AND ASS.LOCATION_ID = LOC.LOCATION_ID(+)
AND ASS.ASSIGNMENT_ID= CUR.ASSIGNMENT_ID(+)
AND JOB.JOB_ID(+)=ASS.JOB_ID
AND NAME.NAME_TYPE='GLOBAL'
AND ASS.ASSIGNMENT_TYPE IN ('E','C')
AND ASS.ACTION_CODE IN ('LEAVE_OF_ABSENCE','RETURN_FROM_LEAVE')

AND TRUNC(ASS.EFFECTIVE_START_DATE) BETWEEN :DATE_FROM AND :DATE_TO
AND ASS.EFFECTIVE_START_DATE BETWEEN PER.EFFECTIVE_START_DATE AND PER.EFFECTIVE_END_DATE
AND ASS.EFFECTIVE_START_DATE BETWEEN NAME.EFFECTIVE_START_DATE(+) AND NAME.EFFECTIVE_END_DATE(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN LOC.EFFECTIVE_START_DATE(+) AND LOC.EFFECTIVE_END_DATE(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN LEG.EFFECTIVE_START_DATE(+) AND LEG.EFFECTIVE_END_DATE(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN CUR.DATE_FROM(+) AND CUR.DATE_TO(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN JOB.EFFECTIVE_START_DATE(+) AND JOB.EFFECTIVE_END_DATE(+) ) A
ORDER BY A.ID, A.EFF_DATE


---------------

--Legal Entity Change


SELECT distinct PER.PERSON_NUMBER,
NAME.FIRST_NAME,
NAME.LAST_NAME,
(SELECT LE.NAME FROM PER_LEGAL_EMPLOYERS LE WHERE  LE.ORGANIZATION_ID = ASSOLD.LEGAL_ENTITY_ID AND TRUNC(sysdate) between LE.EFFECTIVE_START_DATE and LE.EFFECTIVE_END_DATE ) AS OLD_LEGAL_ENTITY,
                (SELECT TO_CHAR(MIN(PAA.EFFECTIVE_START_DATE) ,'MM/DD/YYYY')
   FROM PER_ALL_ASSIGNMENTS_M PAA
  WHERE PAA.PERSON_ID(+) = ASS.PERSON_ID
AND PAA.ASSIGNMENT_TYPE IN ('E','C')
AND PAA.ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE
AND PAA.LEGAL_ENTITY_ID = ASS.LEGAL_ENTITY_ID ) AS CHANGE_DATE ,
(SELECT LE.NAME FROM PER_LEGAL_EMPLOYERS LE WHERE  LE.ORGANIZATION_ID = ASS.LEGAL_ENTITY_ID AND TRUNC(sysdate) between LE.EFFECTIVE_START_DATE and LE.EFFECTIVE_END_DATE ) AS NEW_LEGAL_ENTITY

FROM PER_ALL_PEOPLE_F PER,
PER_PERSON_NAMES_F NAME,
PER_ALL_ASSIGNMENTS_F ASS,
PER_ALL_ASSIGNMENTS_F ASSOLD
WHERE NAME.NAME_TYPE='GLOBAL'
AND ASS.ASSIGNMENT_TYPE IN ('E','C')
AND ASS.ASSIGNMENT_STATUS_TYPE='ACTIVE'
AND PER.PERSON_ID=ASS.PERSON_ID
AND NAME.PERSON_ID(+)=PER.PERSON_ID

AND PER.PERSON_ID=ASSOLD.PERSON_ID
AND ASS.PERSON_ID=ASSOLD.PERSON_ID
AND ASSOLD.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASSOLD.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND LEGAL_ENTITY_ID <> ASS.LEGAL_ENTITY_ID AND EFFECTIVE_START_DATE < ASS.EFFECTIVE_START_DATE)
AND ASSOLD.EFFECTIVE_START_DATE = (SELECT MAX(EFFECTIVE_START_DATE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASSOLD.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND LEGAL_ENTITY_ID <> ASS.LEGAL_ENTITY_ID AND EFFECTIVE_START_DATE < ASS.EFFECTIVE_START_DATE)
               

        AND ((SELECT MIN(PAA.EFFECTIVE_START_DATE)   FROM PER_ALL_ASSIGNMENTS_M PAA
  WHERE PAA.PERSON_ID(+) = ASS.PERSON_ID
AND PAA.ASSIGNMENT_TYPE IN ('E','C')
AND PAA.ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE
AND PAA.LEGAL_ENTITY_ID = ASS.LEGAL_ENTITY_ID ) BETWEEN SYSDATE - 7 AND  SYSDATE )
        AND ASS.REASON_CODE NOT IN ('REHIRE','NEW_HIRE')
AND ASSOLD.LEGAL_ENTITY_ID <> ASS.LEGAL_ENTITY_ID
AND ASS.EFFECTIVE_START_DATE BETWEEN SYSDATE - 7 AND  SYSDATE
AND ASS.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASS.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND TRUNC(sysdate) between EFFECTIVE_START_DATE and EFFECTIVE_END_DATE)
AND TRUNC(sysdate) between PER.EFFECTIVE_START_DATE and PER.EFFECTIVE_END_DATE 
AND TRUNC(sysdate) between ASS.EFFECTIVE_START_DATE and ASS.EFFECTIVE_END_DATE
AND TRUNC(sysdate) between NAME.EFFECTIVE_START_DATE(+) and NAME.EFFECTIVE_END_DATE(+)
 
ORDER BY PER.PERSON_NUMBER


----------------

--leave balance report

SELECT
PNO.PERSON_NUMBER AS EMPLOYEE_ID,
NAME.FIRST_NAME,
NAME.LAST_NAME,
TO_CHAR(POS.ACTUAL_TERMINATION_DATE,'MM/DD/YYYY') AS TERMINATION_DATE,
AAP.NAME AS Absence_Plan_Type,

/*(SELECT ROUND(SUM(ACC2.ACCRUED),2) FROM ANC_PER_ACCRUAL_ENTRIES ACC2
WHERE 1 = 1
AND ACC2.PERSON_ID = PNO.PERSON_ID
AND AAP.ABSENCE_PLAN_ID = ACC2.PLAN_ID
AND APPE.PER_PLAN_ENRT_ID = ACC2.PER_PLAN_ENRT_ID
AND APF.ABSENCE_PLAN_ID = ACC2.PLAN_ID
AND TRUNC(ACC2.ACCRUAL_PERIOD) BETWEEN TRUNC(TO_DATE(TO_CHAR(:EFFECTIVE_DATE,'MM/DD/YYYY'),'MM/DD/YYYY'),'YEAR') AND :EFFECTIVE_DATE) AS ACCRUED,

(select sum(apae.duration) from anc_per_abs_entries    apae ,anc_absence_types_f_tl abtf
where 1 = 1
and apae.person_id               = ASSIGN.person_id
and apae.absence_type_id         = abtf.absence_type_id
and LANGUAGE                     = USERENV('LANG')
and sysdate between abtf.effective_start_date and abtf.effective_end_date
and apae.absence_status_cd       = 'SUBMITTED'
and apae.approval_status_cd      = 'APPROVED'
and abtf.name like substr(AAP.NAME,1,3)||'%'
and apae.start_date BETWEEN TRUNC(TO_DATE(TO_CHAR(:EFFECTIVE_DATE,'MM/DD/YYYY'),'MM/DD/YYYY'),'YEAR') AND :EFFECTIVE_DATE
and apae.end_date BETWEEN TRUNC(TO_DATE(TO_CHAR(:EFFECTIVE_DATE,'MM/DD/YYYY'),'MM/DD/YYYY'),'YEAR') AND :EFFECTIVE_DATE ) as USED, */

ROUND ((ACC.END_BAL),2) AS END_BALANCE,
(SELECT LOC.LOCATION_NAME FROM HR_LOCATIONS_ALL_F_VL  LOC WHERE  LOC.LOCATION_ID =ASSIGN.LOCATION_ID AND TRUNC(sysdate) between LOC.EFFECTIVE_START_DATE and LOC.EFFECTIVE_END_DATE ) AS PHYSICAL_LOCATION,
TO_CHAR(POS.ORIGINAL_DATE_OF_HIRE,'MM/DD/YYYY') AS Enterprise_Seniority_Date,
ple.name AS Legal_Employer,
(SELECT DISTINCT HROF.ORG_INFORMATION1

                        FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU

                        WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID

                        AND HROF.ORGANIZATION_ID=ASSIGN.ORGANIZATION_ID

                        AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL)

                        AND TRUNC(SYSDATE) BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+)

                        AND TRUNC(SYSDATE) BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+)

                        AND ROWNUM=1)  AS HR_DIVISION,
ASSIGN.NORMAL_HOURS AS STANDARD_HOURS,
ASSIGN.HOURLY_SALARIED_CODE AS HOURLY_SALARIED,
(SELECT PERSON_NUMBER FROM PER_ALL_PEOPLE_F PER WHERE PER.PERSON_ID=SUP.MANAGER_ID AND ASSIGN.EFFECTIVE_START_DATE BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE ) AS MANAGER_ID,
(SELECT NA.DISPLAY_NAME FROM PER_PERSON_NAMES_F NA WHERE NA.PERSON_ID = SUP.MANAGER_ID AND NA.NAME_TYPE = 'GLOBAL' AND ASSIGN.EFFECTIVE_START_DATE BETWEEN NA.EFFECTIVE_START_DATE(+) AND NA.EFFECTIVE_END_DATE(+)) AS MANAGER_NAME


FROM
PER_PERSON_SECURED_LIST_V PNO,
PER_PERSON_NAMES_F NAME,
PER_ASSIGNMENT_SECURED_LIST_V ASSIGN,
PER_ASSIGNMENT_SUPERVISORS_F SUP,
PER_PERIODS_OF_SERVICE POS,
--PER_PERSON_ADDRESSES_V ADDR,
per_legal_employers ple,
ANC_ABSENCE_PLANS_F_TL AAP,
ANC_PER_ACCRUAL_ENTRIES ACC,
ANC_PER_PLAN_ENROLLMENT APPE,
ANC_ABSENCE_PLANS_F APF

WHERE
NAME.NAME_TYPE = 'GLOBAL'
AND ASSIGN.ASSIGNMENT_TYPE IN ('E')
--AND PNO.PERSON_ID=ADDR.PERSON_ID
--AND ADDR.ADDRESS_TYPE IN  ('HOME')
AND ASSIGN.ASSIGNMENT_ID=SUP.ASSIGNMENT_ID(+)
AND ASSIGN.PERSON_ID=SUP.PERSON_ID(+)
AND SUP.MANAGER_TYPE(+) ='LINE_MANAGER'
AND ASSIGN.PERSON_ID = PNO.PERSON_ID
AND ASSIGN.PERSON_ID = NAME.PERSON_ID
AND POS.PERIOD_OF_SERVICE_ID(+)=ASSIGN.PERIOD_OF_SERVICE_ID
AND POS.PERSON_ID(+)=ASSIGN.PERSON_ID
AND ACC.PERSON_ID(+) = PNO.PERSON_ID
AND AAP.ABSENCE_PLAN_ID(+) = ACC.PLAN_ID
AND APPE.PERSON_ID = PNO.PERSON_ID
AND APPE.PER_PLAN_ENRT_ID(+) = ACC.PER_PLAN_ENRT_ID
AND AAP.LANGUAGE='US' 
AND ASSIGN.ASSIGNMENT_STATUS_TYPE IN ('INACTIVE')
AND ASSIGN.ACTION_CODE NOT IN  ('GLB_TRANSFER')
AND APF.ABSENCE_PLAN_ID(+) = ACC.PLAN_ID
and AAP.NAME NOT IN ('Personal Days','PTO CC Salary','PTO CC Hourly','Personal Daysxxx','PTO CC PT Hourly')
 AND ASSIGN.legal_entity_id      = ple.organization_id(+)
AND ASSIGN.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=PNO.PERSON_ID AND ASSIGNMENT_TYPE IN ('E'))
AND ACC.ACCRUAL_PERIOD = (SELECT MAX(ACCRUAL_PERIOD) FROM ANC_PER_ACCRUAL_ENTRIES WHERE PERSON_ID = ACC.PERSON_ID AND PLAN_ID = ACC.PLAN_ID)
--AND POS.ACTUAL_TERMINATION_DATE BETWEEN SYSDATE-7 AND SYSDATE
AND trunc(POS.ACTUAL_TERMINATION_DATE) BETWEEN :FROM_DATE AND :TO_DATE -- Condition for pulling approved terminations
AND trunc(ASSIGN.EFFECTIVE_START_DATE) BETWEEN :FROM_DATE AND :TO_DATE
AND ASSIGN.EFFECTIVE_START_DATE BETWEEN ple.effective_start_date(+) AND ple.effective_end_date(+)
AND POS.ACTUAL_TERMINATION_DATE BETWEEN SUP.EFFECTIVE_START_DATE AND SUP.EFFECTIVE_END_DATE
AND POS.ACTUAL_TERMINATION_DATE BETWEEN AAP.EFFECTIVE_START_DATE AND AAP.EFFECTIVE_END_DATE
AND ASSIGN.EFFECTIVE_START_DATE BETWEEN NAME.EFFECTIVE_START_DATE(+) AND NAME.EFFECTIVE_END_DATE(+)
--AND ASSIGN.EFFECTIVE_START_DATE BETWEEN ADDR.EFFECTIVE_START_DATE and ADDR.EFFECTIVE_END_DATE
AND POS.ACTUAL_TERMINATION_DATE BETWEEN PNO.EFFECTIVE_START_DATE AND PNO.EFFECTIVE_END_DATE
AND POS.ACTUAL_TERMINATION_DATE BETWEEN APF.EFFECTIVE_START_DATE AND APF.EFFECTIVE_END_DATE

ORDER BY 1

--------------------------

--international term

SELECT PER.PERSON_NUMBER,
NAME.FIRST_NAME,
NAME.LAST_NAME,
TO_CHAR(POS.ACTUAL_TERMINATION_DATE ,'MM/DD/YYYY') AS TERMINATION_DATE,
LE.NAME AS LEGAL_ENTITY,
LOC.LOCATION_NAME

FROM PER_ALL_PEOPLE_F PER,
PER_PERSON_NAMES_F NAME,
PER_ALL_ASSIGNMENTS_F ASS,
HR_LOCATIONS_ALL_F_VL  LOC,
PER_PERIODS_OF_SERVICE POS,
                PER_LEGAL_EMPLOYERS LE

WHERE PER.PERSON_ID=ASS.PERSON_ID
AND NAME.PERSON_ID(+)=PER.PERSON_ID
AND POS.PERSON_ID(+)=ASS.PERSON_ID
AND POS.PERIOD_OF_SERVICE_ID(+)=ASS.PERIOD_OF_SERVICE_ID
AND LOC.LOCATION_ID(+)=ASS.LOCATION_ID
AND ASS.LEGAL_ENTITY_ID=LE.ORGANIZATION_ID(+)
AND NAME.NAME_TYPE='GLOBAL'
AND ASS.ASSIGNMENT_TYPE IN ('E','C')
AND LOC.COUNTRY NOT IN ('US')
AND ASS.LEGISLATION_CODE NOT IN ('US')
AND ASS.ASSIGNMENT_STATUS_TYPE IN ('INACTIVE')
AND POS.ACTUAL_TERMINATION_DATE BETWEEN SYSDATE-7 AND SYSDATE
AND ASS.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASS.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND TRUNC(sysdate) between EFFECTIVE_START_DATE and EFFECTIVE_END_DATE)
AND TRUNC(sysdate) between PER.EFFECTIVE_START_DATE and PER.EFFECTIVE_END_DATE 
AND TRUNC(sysdate) between ASS.EFFECTIVE_START_DATE and ASS.EFFECTIVE_END_DATE
AND TRUNC(sysdate) between NAME.EFFECTIVE_START_DATE(+) and NAME.EFFECTIVE_END_DATE(+)
AND TRUNC(sysdate) between LOC.EFFECTIVE_START_DATE(+) and LOC.EFFECTIVE_END_DATE(+)
AND TRUNC(sysdate) between LE.EFFECTIVE_START_DATE(+) and LE.EFFECTIVE_END_DATE(+)
ORDER BY PER.PERSON_NUMBER

-------------------------

--Home ADDRESS

SELECT PER.PERSON_NUMBER,
NAME.LAST_NAME,
NAME.FIRST_NAME,
LE.NAME AS LEGAL_ENTITY,
ASS.WORK_AT_HOME,
LOC.LOCATION_NAME,
TO_CHAR(ADDR.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS ADDR_START_DATE,
ADDR.ADDRESS_LINE_1,
ADDR.ADDRESS_LINE_2,
ADDR.TOWN_OR_CITY AS CITY,
ADDR.REGION_2 AS STATE_,
ADDR.POSTAL_CODE AS ZIP_CODE,
(SELECT LOOKUP_CODE FROM HCM_LOOKUPS WHERE LOOKUP_TYPE='CC_3CHAR_COUNTRY' AND MEANING=ADDR.COUNTRY AND TRUNC(SYSDATE)BETWEEN START_DATE_ACTIVE(+) AND NVL(END_DATE_ACTIVE, TO_DATE('4712.01.01', 'YYYY.MM.DD'))) AS COUNTRY

FROM PER_ASSIGNMENT_SECURED_LIST_V ASS,
PER_PERSON_NAMES_F NAME,
PER_PERSON_SECURED_LIST_V PER,
PER_LEGAL_EMPLOYERS LE,
PER_ADDRESSES_F ADDR,
PER_PERSON_ADDR_USAGES_F ADF,
HR_LOCATIONS_ALL LOC

WHERE ASS.ASSIGNMENT_TYPE IN ('E','C')
-- AND ASS.LEGISLATION_CODE NOT IN ('US')
AND ADDR.COUNTRY NOT IN ('US')
AND ASS.ASSIGNMENT_STATUS_TYPE IN ('ACTIVE')
AND NAME.NAME_TYPE='GLOBAL'
-- and PER.PERSON_NUMBER='999413'
AND ASS.PERSON_ID=PER.PERSON_ID
AND PER.PERSON_ID=NAME.PERSON_ID
AND ASS.LEGAL_ENTITY_ID=LE.ORGANIZATION_ID
AND ASS.LOCATION_ID=LOC.LOCATION_ID(+)
AND ADF.ADDRESS_ID=ADDR.ADDRESS_ID
AND ADF.PERSON_ID=PER.PERSON_ID
AND ADF.ADDRESS_TYPE='HOME'
-- AND ADDR.ADDRESS_ID(+)=PER.MAILING_ADDRESS_ID
AND ADDR.LAST_UPDATE_DATE <> ADDR.CREATION_DATE
AND ASS.ASSIGNMENT_SEQUENCE = (SELECT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASS.PERSON_ID AND ASSIGNMENT_TYPE IN ('E') AND TRUNC(SYSDATE) BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE)
AND TRUNC(ADDR.EFFECTIVE_START_DATE) BETWEEN :DATE_FROM AND  :DATE_TO

AND :DATE_TO between ADF.EFFECTIVE_START_DATE and ADF.EFFECTIVE_END_DATE
AND :DATE_TO BETWEEN ASS.EFFECTIVE_START_DATE and ASS.EFFECTIVE_END_DATE
AND :DATE_TO BETWEEN PER.EFFECTIVE_START_DATE AND PER.EFFECTIVE_END_DATE
AND :DATE_TO BETWEEN LE.EFFECTIVE_START_DATE  AND LE.EFFECTIVE_END_DATE
AND :DATE_TO BETWEEN NAME.EFFECTIVE_START_DATE AND NAME.EFFECTIVE_END_DATE
AND :DATE_TO BETWEEN LOC.EFFECTIVE_START_DATE(+) AND LOC.EFFECTIVE_END_DATE(+)
ORDER BY PER.PERSON_NUMBER

--------------------------

--full part time changes

SELECT PER.PERSON_NUMBER,
NAME.FIRST_NAME,
NAME.MIDDLE_NAMES,
NAME.LAST_NAME,
(SELECT TO_CHAR(MIN(PAA.EFFECTIVE_START_DATE) ,'MM/DD/YYYY')
   FROM PER_ALL_ASSIGNMENTS_M PAA
  WHERE PAA.PERSON_ID(+) = ASS.PERSON_ID
AND PAA.ASSIGNMENT_TYPE IN ('E','C')
AND PAA.ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE
AND PAA.EMPLOYMENT_CATEGORY = ASS.EMPLOYMENT_CATEGORY ) AS CHANGE_DATE ,
CASE
WHEN ASS.EMPLOYMENT_CATEGORY IN ('FR','FT') THEN 'Full Time'
ELSE ASS.EMPLOYMENT_CATEGORY END AS New_PT_FT_Status

FROM PER_ALL_PEOPLE_F PER,
PER_PERSON_NAMES_F NAME,
PER_ALL_ASSIGNMENTS_F ASS

WHERE PER.PERSON_ID=ASS.PERSON_ID
AND NAME.PERSON_ID(+)=PER.PERSON_ID
AND NAME.NAME_TYPE='GLOBAL'
AND ASS.ASSIGNMENT_TYPE IN ('E','C')
AND ASS.EMPLOYMENT_CATEGORY IN ('FR','FT')
AND ASS.ASSIGNMENT_STATUS_TYPE='ACTIVE'
AND ASS.REASON_CODE NOT IN ('REHIRE','NEW_HIRE')
AND ASS.EFFECTIVE_START_DATE BETWEEN SYSDATE - 7 AND  SYSDATE
AND ASS.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASS.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND TRUNC(sysdate) between EFFECTIVE_START_DATE and EFFECTIVE_END_DATE)

AND TRUNC(sysdate) between PER.EFFECTIVE_START_DATE and PER.EFFECTIVE_END_DATE 
AND TRUNC(sysdate) between ASS.EFFECTIVE_START_DATE and ASS.EFFECTIVE_END_DATE
AND TRUNC(sysdate) between NAME.EFFECTIVE_START_DATE(+) and NAME.EFFECTIVE_END_DATE(+)
AND exists (SELECT * FROM PER_ALL_ASSIGNMENTS_F WHERE PERSON_ID=ASS.PERSON_ID
                                                                     AND ASSIGNMENT_TYPE IN ('E','C')
     AND EFFECTIVE_START_DATE < ASS.EFFECTIVE_START_DATE
     and ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE
     AND EMPLOYMENT_CATEGORY NOT IN ('FR','FT')
     and EFFECTIVE_START_DATE BETWEEN SYSDATE - 7 AND  SYSDATE)
UNION
SELECT PER.PERSON_NUMBER,
NAME.FIRST_NAME,
NAME.MIDDLE_NAMES,
NAME.LAST_NAME,
(SELECT TO_CHAR(MIN(PAA.EFFECTIVE_START_DATE) ,'MM/DD/YYYY')
   FROM PER_ALL_ASSIGNMENTS_M PAA
  WHERE PAA.PERSON_ID(+) = ASS.PERSON_ID
AND PAA.ASSIGNMENT_TYPE IN ('E','C')
AND PAA.ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE
AND PAA.EMPLOYMENT_CATEGORY = ASS.EMPLOYMENT_CATEGORY ) AS CHANGE_DATE ,
CASE
WHEN ASS.EMPLOYMENT_CATEGORY IN ('PR','PT') THEN 'Part Time'
ELSE ASS.EMPLOYMENT_CATEGORY END AS New_PT_FT_Status

FROM PER_ALL_PEOPLE_F PER,
PER_PERSON_NAMES_F NAME,
PER_ALL_ASSIGNMENTS_F ASS

WHERE PER.PERSON_ID=ASS.PERSON_ID
AND NAME.PERSON_ID(+)=PER.PERSON_ID
AND NAME.NAME_TYPE='GLOBAL'
AND ASS.ASSIGNMENT_TYPE IN ('E','C')
AND ASS.EMPLOYMENT_CATEGORY IN ('PR','PT')
AND ASS.ASSIGNMENT_STATUS_TYPE='ACTIVE'
AND ASS.REASON_CODE NOT IN ('REHIRE','NEW_HIRE')
AND ASS.EFFECTIVE_START_DATE BETWEEN SYSDATE - 7 AND  SYSDATE
AND ASS.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=ASS.PERSON_ID AND ASSIGNMENT_TYPE IN ('E','C') AND TRUNC(sysdate) between EFFECTIVE_START_DATE and EFFECTIVE_END_DATE)


AND TRUNC(sysdate) between PER.EFFECTIVE_START_DATE and PER.EFFECTIVE_END_DATE 
AND TRUNC(sysdate) between ASS.EFFECTIVE_START_DATE and ASS.EFFECTIVE_END_DATE
AND TRUNC(sysdate) between NAME.EFFECTIVE_START_DATE(+) and NAME.EFFECTIVE_END_DATE(+)

AND exists (SELECT * FROM PER_ALL_ASSIGNMENTS_F WHERE PERSON_ID=ASS.PERSON_ID
                                                                     AND ASSIGNMENT_TYPE IN ('E','C')
     AND EFFECTIVE_START_DATE < ASS.EFFECTIVE_START_DATE
     and ASSIGNMENT_SEQUENCE = ASS.ASSIGNMENT_SEQUENCE
     AND EMPLOYMENT_CATEGORY NOT IN ('PR','PT')
     and EFFECTIVE_START_DATE BETWEEN SYSDATE - 7 AND  SYSDATE)
ORDER BY 1

--------------

--CCss pto

select distinct
'17000' AS Company,
'' AS "Batch Number",
per.person_number AS "Employee Number",
'1' AS "Payment Number",
'' AS "Column E",
'' AS "Column F",
'' AS "Column G",
'PAY_END_DT' AS "Charge Date",
'' AS "Column I",
'' AS "Column J",
abtf.NAME as "Earnings Code",
case when apae.UOM = 'D' then apae.DURATION * 8 ELSE apae.DURATION end as "Hours",
apae.UOM as "UOM_DELETE",
apae.start_date as "START_DATE_DELETE",
apae.end_date as "END_DATE_DELETE",
ASGN.ASSIGNMENT_STATUS_TYPE "EMPL_STATUS_DELETE",
NAME.FULL_NAME "EMPL_NAME_DELETE"
from anc_absence_types_f_tl abtf
,anc_per_abs_entries apae
,per_all_people_f per
,per_person_names_f NAME
,PER_ALL_ASSIGNMENTS_F ASGN
,PER_DEPARTMENTS DEPTS
,PER_PERIODS_OF_SERVICE POS
--,ANC_ABSENCE_PLANS_F_TL AAP
where  apae.absence_type_id         = abtf.absence_type_id
and apae.absence_status_cd       = 'SUBMITTED'
and apae.approval_status_cd      = 'APPROVED'
and abtf.LANGUAGE                     = USERENV('LANG')
and
(

Trunc(apae.start_date) BETWEEN :PayPeriod_StartDate AND :PayPeriod_EndDate
OR
Trunc(apae.end_date) BETWEEN  :PayPeriod_StartDate AND :PayPeriod_EndDate

)
and apae.PERSON_ID = per.PERSON_ID

AND TRUNC(SYSDATE) BETWEEN NAME.EFFECTIVE_START_DATE AND NAME.EFFECTIVE_END_DATE
AND PER.PERSON_ID = NAME.PERSON_ID
AND NAME.NAME_TYPE = 'GLOBAL'


AND per.PERSON_ID = ASGN.PERSON_ID

AND ASGN.ASSIGNMENT_TYPE = 'E'
AND ASGN.HOURLY_SALARIED_CODE = 'H'
AND TRUNC(SYSDATE) BETWEEN ASGN.EFFECTIVE_START_DATE AND ASGN.EFFECTIVE_END_DATE


AND TRUNC(SYSDATE) BETWEEN DEPTS.EFFECTIVE_START_DATE(+) AND DEPTS.EFFECTIVE_END_DATE(+)

AND ASGN.ORGANIZATION_ID = DEPTS.ORGANIZATION_ID(+)
AND (DEPTS.NAME LIKE '%__17000%' or DEPTS.NAME LIKE '%-263-%')

AND POS.PERIOD_OF_SERVICE_ID=ASGN.PERIOD_OF_SERVICE_ID
AND POS.PERSON_ID=ASGN.PERSON_ID
--AND PER.PERSON_NUMBER = '993417'

AND ASGN.ASSIGNMENT_SEQUENCE =
(SELECT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_F WHERE PERSON_ID = ASGN.PERSON_ID)

--and abtf.name like substr(AAP.NAME,1,3)||'%'

--AND TRUNC(SYSDATE) BETWEEN AAP.EFFECTIVE_START_DATE(+) AND AAP.EFFECTIVE_END_DATE(+)

--AND AAP.LANGUAGE='US'

--AND UPPER(abtf.NAME) NOT LIKE 'UNPAID LEAVE%'

order by PER.PERSON_NUMBER, apae.start_date

--------------------------

--CC salary work hours change

SELECT DISTINCT
PER.PERSON_NUMBER AS EMPLD_ID,
NAME.DISPLAY_NAME AS NAME,
TO_CHAR(NEW_ASS.Effective_start_date,'MM/DD/YYYY') AS EFFECTIVE_DATE,
NEW_ASS.ACTION_CODE as ACTION_CODE,
NEW_ASS.REASON_CODE AS ACTION_REASON,
(SELECT ACTION_REASON FROM PER_ACTION_REASONS_VL WHERE  ACTION_REASON_CODE=NEW_ASS.REASON_CODE AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN START_DATE(+) AND NVL(END_DATE,TO_DATE('4712.01.01', 'YYYY.MM.DD'))) AS REASON_DESC,

NEW_ASS.HOURLY_SALARIED_CODE AS PAY_TYPE,
OLD_ASS.NORMAL_HOURS AS OLD_STANDARD_HOURS,
NEW_ASS.NORMAL_HOURS AS NEW_STANDARD_HOURS,
ROUND(OLD_SAL.SALARY_AMOUNT,2) AS OLD_SALARY,
round(NEW_SAL.SALARY_AMOUNT,2) AS NEW_SALARY,
--(SELECT round(S.SALARY_AMOUNT,2) FROM CMP_SALARY S WHERE NEW_ASS.ASSIGNMENT_ID= S.ASSIGNMENT_ID AND TRUNC(SYSDATE) BETWEEN S.DATE_FROM AND S.DATE_TO) AS CURRENT_SALARY,

(SELECT DISTINCT HROF.ORG_INFORMATION1 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=NEW_ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS HR_DIVISION,
CASE WHEN SUBSTR(NEW_DEP.NAME,1,INSTR(NEW_DEP.NAME,'__',1)-1) IS NOT NULL THEN SUBSTR(NEW_DEP.NAME,1,INSTR(NEW_DEP.NAME,'__',1)-1) ELSE NEW_DEP.NAME END AS DEPARTMENT,
NEW_ASS.ASS_ATTRIBUTE4 AS BUSINESS_TITLE,
BU.NAME AS COMPANY,
(SELECT NA.DISPLAY_NAME FROM PER_PERSON_NAMES_F NA WHERE SUP.MANAGER_ID=NA.PERSON_ID AND NAME_TYPE = 'GLOBAL' AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN NA.EFFECTIVE_START_DATE(+) AND NA.EFFECTIVE_END_DATE(+))  AS MANAGER_NAME

FROM
PER_ASSIGNMENT_SECURED_LIST_V NEW_ASS,
PER_ASSIGNMENT_SECURED_LIST_V OLD_ASS,
PER_ASSIGNMENT_SUPERVISORS_F SUP,
PER_PERSON_SECURED_LIST_V PER,
PER_PERSON_NAMES_F NAME,
PER_DEPARTMENTS NEW_DEP,
CMP_SALARY OLD_SAL,
CMP_SALARY NEW_SAL,
HR_ORGANIZATION_UNITS BU,
PER_PERSONS PP

WHERE

PER.PERSON_ID=NEW_ASS.PERSON_ID 
AND PER.PERSON_ID=PP.PERSON_ID
AND NEW_ASS.PERSON_ID=OLD_ASS.PERSON_ID
AND NEW_ASS.PERSON_ID=NAME.PERSON_ID(+)
--AND ((NEW_ASS.ACTION_CODE in ('TRANSFER','PROMOTION','GLB_TRANSFER','CHANGE_WORKING_HOURS',')) or (NEW_ASS.ACTION_CODE='PAY_CHNG')) --as part of INC0091279
AND ((NEW_ASS.ACTION_CODE in ('TRANSFER','PROMOTION','GLB_TRANSFER','BONUS_CHANGE','SCHEDULE_CHANG')) or (NEW_ASS.ACTION_CODE='PAY_CHNG' and NEW_ASS.REASON_CODE='PROMOTION_INCREASE'))
AND NAME.NAME_TYPE='GLOBAL'
AND NEW_ASS.ASSIGNMENT_TYPE IN ('E','C')
AND OLD_ASS.ASSIGNMENT_TYPE IN ('E','C')

AND NEW_ASS.BUSINESS_UNIT_ID = BU.ORGANIZATION_ID(+)
AND NEW_ASS.ORGANIZATION_ID = NEW_DEP.ORGANIZATION_ID(+)
AND OLD_ASS.ASSIGNMENT_ID= OLD_SAL.ASSIGNMENT_ID
AND NEW_ASS.ASSIGNMENT_ID= NEW_SAL.ASSIGNMENT_ID
AND SUP.MANAGER_TYPE(+) ='LINE_MANAGER'
AND SUP.ASSIGNMENT_ID(+) = NEW_ASS.ASSIGNMENT_ID
AND SUP.PERSON_ID(+) =NEW_ASS.PERSON_ID
AND TO_CHAR(OLD_ASS.EFFECTIVE_END_DATE,'YYYY-MM-DD') = TO_CHAR(NEW_ASS.EFFECTIVE_START_DATE-1,'YYYY-MM-DD')


AND NEW_ASS.ASSIGNMENT_SEQUENCE=(SELECT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_F WHERE PERSON_ID=NEW_ASS.PERSON_ID AND ASSIGNMENT_TYPE=NEW_ASS.ASSIGNMENT_TYPE AND TRUNC(SYSDATE) BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE)
-- and NEW_ASS.effective_start_date = (select max(effective_start_date) from per_all_assignments_m where person_id=new_ass.person_id and assignment_type in ('E','C') and ((NEW_ASS.ACTION_CODE in ('TRANSFER','PROMOTION')) or (NEW_ASS.ACTION_CODE='PAY_CHNG' and NEW_ASS.REASON_CODE='PROMOTION_INCREASE')))
---AND (TO_CHAR(OLD_ASS.EFFECTIVE_END_DATE,'YYYY-MM-DD')) = (SELECT TO_CHAR(MAX(EFFECTIVE_END_DATE),'YYYY-MM-DD') FROM PER_ALL_ASSIGNMENTS_F WHERE PERSON_ID = NEW_ASS.PERSON_ID AND ASSIGNMENT_TYPE in ('E','C') AND NEW_ASS.EFFECTIVE_START_DATE > EFFECTIVE_END_DATE)
AND TRUNC(NEW_ASS.EFFECTIVE_START_DATE) BETWEEN :DATE_FROM AND :DATE_TO
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN PER.EFFECTIVE_START_DATE AND PER.EFFECTIVE_END_DATE
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN NAME.EFFECTIVE_START_DATE(+) AND NAME.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN NEW_DEP.EFFECTIVE_START_DATE(+) AND NEW_DEP.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN SUP.EFFECTIVE_START_DATE(+) AND SUP.EFFECTIVE_END_DATE(+)
AND NEW_ASS.EFFECTIVE_START_DATE BETWEEN NEW_SAL.DATE_FROM AND NEW_SAL.DATE_TO
AND OLD_ASS.EFFECTIVE_START_DATE BETWEEN OLD_SAL.DATE_FROM AND OLD_SAL.DATE_TO
ORDER BY PER.PERSON_NUMBER

----------------------------

--CC PERstuts rpt

SELECT DISTINCT PER.PERSON_NUMBER,

TO_CHAR(POS.ORIGINAL_DATE_OF_HIRE ,'MM/DD/YYYY') AS HIRE_DATE,
(SELECT DISTINCT HROF.ORG_INFORMATION2 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND ASS.EFFECTIVE_START_DATE BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND ASS.EFFECTIVE_START_DATE BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS DEPT_CODE,

(SELECT DISTINCT HROF.ORG_INFORMATION1 FROM HR_ORGANIZATION_INFORMATION_F HROF, HR_ALL_ORGANIZATION_UNITS_X HROU WHERE HROF.ORGANIZATION_ID = HROU.ORGANIZATION_ID AND HROF.ORGANIZATION_ID=ASS.ORGANIZATION_ID AND (HROF.ORG_INFORMATION_CONTEXT = 'Division' OR HROF.ORG_INFORMATION_CONTEXT IS NULL) AND ASS.EFFECTIVE_START_DATE BETWEEN HROF.EFFECTIVE_START_DATE(+) AND HROF.EFFECTIVE_END_DATE(+) AND ASS.EFFECTIVE_START_DATE BETWEEN HROU.EFFECTIVE_START_DATE(+) AND HROU.EFFECTIVE_END_DATE(+) AND ROWNUM=1) AS HR_DIVISION,
JOB.NAME AS JOB_TITLE,
LOC.LOCATION_NAME as LOCATION,
NAME.DISPLAY_NAME AS EMPLOYEE_NAME,
(select DISTINCT ED.EMAIL_ADDRESS from PER_EMAIL_ADDRESSES ED
                                       where PER.PERSON_ID = ED.PERSON_ID(+) and PER.PRIMARY_EMAIL_ID = ED.email_address_id(+)) as EMPLOYEE_EMAIL_ID,
(SELECT DISTINCT NA.DISPLAY_NAME FROM PER_PERSON_NAMES_F NA ,PER_ASSIGNMENT_SUPERVISORS_F SUP
WHERE NA.PERSON_ID = SUP.MANAGER_ID AND NA.NAME_TYPE = 'GLOBAL' AND SUP.PRIMARY_FLAG(+) = 'Y'
AND SUP.ASSIGNMENT_ID = ASS.ASSIGNMENT_ID AND SUP.PERSON_ID =ASS.PERSON_ID
AND ASS.EFFECTIVE_START_DATE BETWEEN NA.EFFECTIVE_START_DATE(+) AND NA.EFFECTIVE_END_DATE(+)
AND ASS.EFFECTIVE_START_DATE BETWEEN SUP.EFFECTIVE_START_DATE(+) AND SUP.EFFECTIVE_END_DATE(+)) AS MANAGER_NAME,
(select DISTINCT ED.EMAIL_ADDRESS from PER_EMAIL_ADDRESSES ED ,PER_ASSIGNMENT_SUPERVISORS_F SUP, PER_ALL_PEOPLE_F PERSUP
                                       where SUP.MANAGER_ID(+) = ED.PERSON_ID
       AND PERSUP.PERSON_ID = SUP.MANAGER_ID AND SUP.PRIMARY_FLAG(+) = 'Y'
       AND SUP.ASSIGNMENT_ID = ASS.ASSIGNMENT_ID AND SUP.PERSON_ID =ASS.PERSON_ID
       and PERSUP.PRIMARY_EMAIL_ID = ED.email_address_id(+)
       AND ASS.EFFECTIVE_START_DATE BETWEEN SUP.EFFECTIVE_START_DATE(+) AND SUP.EFFECTIVE_END_DATE(+)
       AND ASS.EFFECTIVE_START_DATE BETWEEN PERSUP.EFFECTIVE_START_DATE(+) AND PERSUP.EFFECTIVE_END_DATE(+)) as MANAGER_EMAIL_ID,

(SELECT EVAL_STEP.STEP_STATUS FROM HRA_EVAL_STEPS EVAL_STEP,
                                   HRA_EVAL_PARTICIPANTS SQ_EVAL_PARTIC
WHERE 1=1 and SQ_EVAL_PARTIC.PERSON_ID = PER.PERSON_ID
AND SQ_EVAL_PARTIC.EVALUATION_ID = EVAL_STEP.EVALUATION_ID
AND SQ_EVAL_PARTIC.EVAL_PARTICIPANT_ID = EVAL_STEP.EVAL_PARTICIPANT_ID
AND EVAL_STEP.STEP_CODE IN ('WSEVAL')
AND SQ_EVAL_PARTIC.ROLE_TYPE_CODE = 'WORKER'
AND EVAL_STEP.OBJECT_VERSION_NUMBER = (SELECT MAX(OBJECT_VERSION_NUMBER) FROM HRA_EVAL_STEPS
WHERE EVALUATION_ID = EVAL_STEP.EVALUATION_ID
AND EVAL_PARTICIPANT_ID = EVAL_STEP.EVAL_PARTICIPANT_ID
AND STEP_CODE = EVAL_STEP.STEP_CODE
AND EVAL_STEP_ID = EVAL_STEP.EVAL_STEP_ID
AND BUSINESS_GROUP_ID = EVAL_STEP.BUSINESS_GROUP_ID)) AS WORKER_STATUS,

(select LVL.RATING_DESCRIPTION From
HRA_EVAL_RATINGS EvalRatingEO,
HRA_EVAL_SECTIONS EvalSectionEO,
HRA_EVAL_PARTICIPANTS EvalParticipantEO,
HRA_EVAL_STEPS EvalStepEO,
HRA_EVALUATIONS EvaluationEO,
HRT_RATING_LEVELS_VL LVL

where 1=1
AND EvalParticipantEO.PERSON_ID      = PER.PERSON_ID
AND EvalRatingEO.REFERENCE_TYPE(+)   = 'SECTION'
AND EvalRatingEO.REFERENCE_ID(+)     = EvalSectionEO.EVAL_SECTION_ID
AND EvalRatingEO.EVAL_PARTICIPANT_ID = EvalParticipantEO.EVAL_PARTICIPANT_ID
AND EvalRatingEO.EVAL_PARTICIPANT_ID = EvalStepEO.EVAL_PARTICIPANT_ID
AND EvalStepEO.OBJECT_VERSION_NUMBER = (SELECT MAX(OBJECT_VERSION_NUMBER) FROM HRA_EVAL_STEPS
WHERE EVALUATION_ID = EvalStepEO.EVALUATION_ID
AND EVAL_PARTICIPANT_ID = EvalStepEO.EVAL_PARTICIPANT_ID
AND STEP_CODE = EvalStepEO.STEP_CODE
AND EVAL_STEP_ID = EvalStepEO.EVAL_STEP_ID
AND BUSINESS_GROUP_ID = EvalStepEO.BUSINESS_GROUP_ID)
AND EvalSectionEO.SECTION_TYPE_CODE = 'OS' -- 'GOAL'
AND EvalSectionEO.EVALUATION_ID     = EvaluationEO.EVALUATION_ID

AND EvalParticipantEO.EVALUATION_ID = EvaluationEO.EVALUATION_ID
--AND  (EvalStepEO.STEP_CODE = 'MGREVAL' AND EvalParticipantEO.ROLE_TYPE_CODE = 'MANAGER')
and  (EvalStepEO.STEP_CODE = 'WSEVAL' AND EvalParticipantEO.ROLE_TYPE_CODE = 'WORKER')

AND EvaluationEO.EVALUATION_ID = EvalStepEO.EVALUATION_ID

AND EvalRatingEO.PERFORMANCE_RATING_ID = LVL.RATING_LEVEL_ID
AND EvalRatingEO.BUSINESS_GROUP_ID = LVL.BUSINESS_GROUP_ID) as WORKER_RATING ,
/*
(select LVL.RATING_DESCRIPTION from HRT_RATING_LEVELS_VL LVL, HRA_OVERALL_RATINGS_VL RT
                           where RT.WORKER_ID = PER.PERSON_ID 
   AND  RT.ROLE_TYPE_CODE = 'WORKER'
                           AND  CEIL(RT.CALCULATED_OVERALL_RATING) = LVL.RATING_LEVEL_CODE) as CALCULATED_WRK_RATING, */

/*(select LVL.RATING_DESCRIPTION from HRT_RATING_LEVELS_VL LVL, HRA_OVERALL_RATINGS_VL RT
                           where LVL.BUSINESS_GROUP_ID = RT.BUSINESS_GROUP_ID
   AND  RT.WORKER_ID = PER.PERSON_ID
   AND  RT.ROLE_TYPE_CODE = 'WORKER'
                           AND  RT.OVERALL_RATING = LVL.RATING_LEVEL_ID) as WORKER_RATING,*/
 
(SELECT EVAL_STEP.STEP_STATUS FROM HRA_EVAL_STEPS EVAL_STEP,
                                   HRA_EVAL_PARTICIPANTS SQ_EVAL_PARTIC
WHERE 1=1 --and SQ_EVAL_PARTIC.PERSON_ID = PER.PERSON_ID
AND SQ_EVAL_PARTIC.EVALUATION_ID = (SELECT DISTINCT EVALUATION_ID FROM HRA_EVAL_PARTICIPANTS WHERE PERSON_ID = PER.PERSON_ID AND ROLE_TYPE_CODE = 'WORKER')
AND SQ_EVAL_PARTIC.EVALUATION_ID = EVAL_STEP.EVALUATION_ID
AND SQ_EVAL_PARTIC.EVAL_PARTICIPANT_ID = EVAL_STEP.EVAL_PARTICIPANT_ID
AND EVAL_STEP.STEP_CODE IN ('MGREVAL')
AND SQ_EVAL_PARTIC.ROLE_TYPE_CODE = 'MANAGER'
AND EVAL_STEP.OBJECT_VERSION_NUMBER = (SELECT MAX(OBJECT_VERSION_NUMBER) FROM HRA_EVAL_STEPS
WHERE EVALUATION_ID = EVAL_STEP.EVALUATION_ID
AND EVAL_PARTICIPANT_ID = EVAL_STEP.EVAL_PARTICIPANT_ID
AND STEP_CODE = EVAL_STEP.STEP_CODE
AND EVAL_STEP_ID = EVAL_STEP.EVAL_STEP_ID
AND BUSINESS_GROUP_ID = EVAL_STEP.BUSINESS_GROUP_ID)) AS MANAER_STATUS,

(select LVL.RATING_DESCRIPTION From
HRA_EVAL_RATINGS EvalRatingEO,
HRA_EVAL_SECTIONS EvalSectionEO,
HRA_EVAL_PARTICIPANTS EvalParticipantEO,
HRA_EVAL_STEPS EvalStepEO,
HRA_EVALUATIONS EvaluationEO,
HRT_RATING_LEVELS_VL LVL

where 1=1
AND EvalParticipantEO.EVALUATION_ID  = (SELECT DISTINCT EVALUATION_ID FROM HRA_EVAL_PARTICIPANTS WHERE PERSON_ID = PER.PERSON_ID AND ROLE_TYPE_CODE = 'WORKER')
AND EvalRatingEO.REFERENCE_TYPE(+)   = 'SECTION'
AND EvalRatingEO.REFERENCE_ID(+)     = EvalSectionEO.EVAL_SECTION_ID
AND EvalRatingEO.EVAL_PARTICIPANT_ID = EvalParticipantEO.EVAL_PARTICIPANT_ID
AND EvalRatingEO.EVAL_PARTICIPANT_ID = EvalStepEO.EVAL_PARTICIPANT_ID
AND EvalStepEO.OBJECT_VERSION_NUMBER = (SELECT MAX(OBJECT_VERSION_NUMBER) FROM HRA_EVAL_STEPS
WHERE EVALUATION_ID = EvalStepEO.EVALUATION_ID
AND EVAL_PARTICIPANT_ID = EvalStepEO.EVAL_PARTICIPANT_ID
AND STEP_CODE = EvalStepEO.STEP_CODE
AND EVAL_STEP_ID = EvalStepEO.EVAL_STEP_ID
AND BUSINESS_GROUP_ID = EvalStepEO.BUSINESS_GROUP_ID)
AND EvalSectionEO.SECTION_TYPE_CODE = 'OS' -- 'GOAL'
AND EvalSectionEO.EVALUATION_ID     = EvaluationEO.EVALUATION_ID

AND EvalParticipantEO.EVALUATION_ID = EvaluationEO.EVALUATION_ID
AND  (EvalStepEO.STEP_CODE = 'MGREVAL' AND EvalParticipantEO.ROLE_TYPE_CODE = 'MANAGER')
--and  (EvalStepEO.STEP_CODE = 'WSEVAL' AND EvalParticipantEO.ROLE_TYPE_CODE = 'WORKER')

AND EvaluationEO.EVALUATION_ID = EvalStepEO.EVALUATION_ID

AND EvalRatingEO.PERFORMANCE_RATING_ID = LVL.RATING_LEVEL_ID
AND EvalRatingEO.BUSINESS_GROUP_ID = LVL.BUSINESS_GROUP_ID) as MANAGER_RATING
/*
(select LVL.RATING_DESCRIPTION from HRT_RATING_LEVELS_VL LVL, HRA_OVERALL_RATINGS_VL RT
                           where RT.WORKER_ID = PER.PERSON_ID 
   AND  RT.ROLE_TYPE_CODE = 'MANAGER'
                           AND  CEIL(RT.CALCULATED_OVERALL_RATING) = LVL.RATING_LEVEL_CODE) as CALCULATED_MGR_RATING, */

/*(select LVL.RATING_DESCRIPTION from HRT_RATING_LEVELS_VL LVL, HRA_OVERALL_RATINGS_VL RT
                           where LVL.BUSINESS_GROUP_ID = RT.BUSINESS_GROUP_ID
   AND  RT.WORKER_ID = PER.PERSON_ID 
   AND  RT.ROLE_TYPE_CODE = 'MANAGER'
                           AND  RT.OVERALL_RATING = LVL.RATING_LEVEL_ID) as MANAGER_RATING */  

FROM PER_ASSIGNMENT_SECURED_LIST_V ASS,
HR_LOCATIONS_ALL LOC,
PER_PERSON_SECURED_LIST_V PER,
PER_PERIODS_OF_SERVICE POS,
--PER_DEPARTMENTS DEPT,
PER_JOBS JOB,
PER_PERSON_NAMES_F NAME
           

WHERE 1=1
/*--and EVAL_PARTIC.ROLE_TYPE_CODE = 'WORKER
and PER.PERSON_ID = EVAL_PARTIC.PERSON_ID
AND EVAL_PARTIC.EVALUATION_ID = EVAL_STEP.EVALUATION_ID
AND EVAL_PARTIC.EVAL_PARTICIPANT_ID = EVAL_STEP.EVAL_PARTICIPANT_ID
AND EVAL_STEP.STEP_CODE IN ('MGREVAL','WSEVAL')
AND EVAL_STEP.OBJECT_VERSION_NUMBER = (SELECT MAX(OBJECT_VERSION_NUMBER) FROM HRA_EVAL_STEPS WHERE
EVALUATION_ID = EVAL_STEP.EVALUATION_ID
AND EVAL_PARTICIPANT_ID = EVAL_STEP.EVAL_PARTICIPANT_ID
AND STEP_CODE = EVAL_STEP.STEP_CODE
AND EVAL_STEP_ID = EVAL_STEP.EVAL_STEP_ID
AND BUSINESS_GROUP_ID = EVAL_STEP.BUSINESS_GROUP_ID)*/
AND ASS.ASSIGNMENT_TYPE IN ('E')
AND NAME.NAME_TYPE='GLOBAL'
AND PER.PERSON_ID  = NAME.PERSON_ID(+)
AND ASS.ASSIGNMENT_SEQUENCE = (SELECT MAX(ASSIGNMENT_SEQUENCE)  FROM PER_ASSIGNMENT_SECURED_LIST_V
WHERE PERSON_ID=ASS.PERSON_ID
AND ASSIGNMENT_TYPE IN ('E')
AND TRUNC(SYSDATE) BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE)
AND ASS.ASSIGNMENT_STATUS_TYPE IN ('ACTIVE')
AND ASS.PERSON_ID=PER.PERSON_ID
AND ASS.LOCATION_ID=LOC.LOCATION_ID(+)
AND JOB.JOB_ID(+)=ASS.JOB_ID
-- AND DEPT.ORGANIZATION_ID(+)=ASS.ORGANIZATION_ID
AND POS.PERSON_ID=ASS.PERSON_ID
AND POS.PERIOD_OF_SERVICE_ID=ASS.PERIOD_OF_SERVICE_ID
AND LOC.COUNTRY NOT IN ('CO') /* To exclude Colombia based employees.. */
AND JOB.JOB_CODE NOT IN ('UR0901','UR0101','UR0102','US0201','IF0701') /* IF0701 for Temporary-- fixed term date emp's */
AND ASS.ASS_ATTRIBUTE4 NOT LIKE '%Intern%'  /* Avoide Interns emp's  */
AND ((SELECT DISTINCT(1)  FROM PER_ASSIGNMENT_SECURED_LIST_V ASSC, /* where CSR until 11.2015*/
                       PER_JOBS JOBC
                                         WHERE ASSC.PERSON_ID = ASS.PERSON_ID
        AND ASSC.ASSIGNMENT_TYPE IN ('E')
AND ASSC.ASSIGNMENT_STATUS_TYPE IN ('ACTIVE')
AND JOBC.JOB_ID(+)=ASSC.JOB_ID
AND JOBC.JOB_CODE NOT IN ('UR0901','UR0101','UR0102','US0201','IF0701')
AND ASSC.EFFECTIVE_START_DATE BETWEEN TO_DATE('2015.01.01', 'YYYY.MM.DD') and TO_DATE('2015.10.31', 'YYYY.MM.DD')
AND TRUNC(sysdate) BETWEEN JOBC.EFFECTIVE_START_DATE(+) AND JOBC.EFFECTIVE_END_DATE(+) ) = 1)
AND TRUNC(POS.DATE_START ) <= TO_DATE('2015.10.31', 'YYYY.MM.DD')
/*AND TRUNC(POS.ORIGINAL_DATE_OF_HIRE ) <= TO_DATE('2015.10.31', 'YYYY.MM.DD')
AND ((ASS.ACTION_CODE NOT in ('REHIRE')) OR
         (ASS.ACTION_CODE in ('REHIRE') AND TRUNC(ASS.EFFECTIVE_START_DATE ) <= TO_DATE('2015.10.31', 'YYYY.MM.DD')))
                and (trunc((SELECT MAX(effective_START_date) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID = ASS.PERSON_ID
                          AND (reason_CODE IN ('REHIRE','REHIRE_WKR') or (ACTION_CODE in ('REHIRE')))) <= TO_DATE('2015.10.31', 'YYYY.MM.DD')) */
AND TRUNC(SYSDATE) BETWEEN ASS.EFFECTIVE_START_DATE AND ASS.EFFECTIVE_END_DATE
AND TRUNC(sysdate)  BETWEEN PER.EFFECTIVE_START_DATE(+) AND PER.EFFECTIVE_END_DATE(+)
AND TRUNC(SYSDATE) BETWEEN LOC.EFFECTIVE_START_DATE(+) AND LOC.EFFECTIVE_END_DATE(+)
--AND ASS.EFFECTIVE_START_DATE BETWEEN DEPT.EFFECTIVE_START_DATE(+) AND DEPT.EFFECTIVE_END_DATE(+)
AND TRUNC(sysdate)  BETWEEN NAME.EFFECTIVE_START_DATE(+) AND NAME.EFFECTIVE_END_DATE(+)
AND TRUNC(sysdate)  BETWEEN JOB.EFFECTIVE_START_DATE(+) AND JOB.EFFECTIVE_END_DATE(+)
ORDER BY 1


-----------------------------

--CC Non recurring sport bonus


SELECT DISTINCT
PERSON.PERSON_NUMBER,
EENTRY.PERSON_ID,
NAME.LAST_NAME,
NAME.FIRST_NAME,
DEP.NAME AS DEPT_NAME,
EVALUE.SCREEN_ENTRY_VALUE AS AMOUNT,
ETYPE.ELEMENT_NAME,
TO_CHAR(EENTRY.EFFECTIVE_START_DATE, 'YYYY-MM-DD') AS GRANT_DATE,
TO_CHAR(EENTRY.EFFECTIVE_END_DATE, 'YYYY-MM-DD') AS END_DATE

FROM
PAY_ELEMENT_ENTRIES_F EENTRY,
PAY_ELEMENT_TYPES_VL ETYPE,
PAY_ELE_CLASSIFICATIONS_VL ECLASS,
PER_ALL_PEOPLE_F_V person,
PAY_ELEMENT_ENTRY_VALUES_F EVALUE,
PAY_INPUT_VALUES_F PINPUT,
PER_PERSON_NAMES_F NAME,
PER_ASSIGNMENT_SECURED_LIST_V ASS,
PER_DEPARTMENTS DEP

WHERE
PERSON.PERSON_ID = EENTRY.PERSON_ID (+) 
--and PERSON.PERSON_NUMBER in ('501349')
AND ECLASS.CLASSIFICATION_ID = ETYPE.CLASSIFICATION_ID
AND ETYPE.ELEMENT_TYPE_ID = EENTRY.ELEMENT_TYPE_ID
AND EVALUE.ELEMENT_ENTRY_ID = EENTRY.ELEMENT_ENTRY_ID
AND EVALUE.INPUT_VALUE_ID = PINPUT.INPUT_VALUE_ID
AND EVALUE.SCREEN_ENTRY_VALUE <> ' '
--AND ETYPE.ELEMENT_NAME IN (:ElementName)
AND UPPER(ETYPE.ELEMENT_NAME) NOT LIKE '%SALARY%'
AND ETYPE.PROCESSING_TYPE = 'N'
--AND PERSON.EFFECTIVE_START_DATE BETWEEN ETYPE.EFFECTIVE_START_DATE(+) AND ETYPE.EFFECTIVE_END_DATE(+)
--AND PERSON.EFFECTIVE_START_DATE BETWEEN PINPUT.EFFECTIVE_START_DATE(+) AND PINPUT.EFFECTIVE_END_DATE(+)
--AND :DATE_TO BETWEEN EENTRY.EFFECTIVE_START_DATE AND EENTRY.EFFECTIVE_END_DATE
AND PERSON.PERSON_ID = ASS.PERSON_ID(+)
AND ASS.PERSON_ID = NAME.PERSON_ID(+)
AND NAME.NAME_TYPE='GLOBAL'
AND ASS.ORGANIZATION_ID = DEP.ORGANIZATION_ID(+)
AND ASS.ASSIGNMENT_TYPE IN ('E','C')
AND ASS.ASSIGNMENT_STATUS_TYPE = 'ACTIVE'
AND ASS.EFFECTIVE_SEQUENCE = (SELECT MAX(EFFECTIVE_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_F
                                                             WHERE PERSON_ID = ASS.PERSON_ID AND ASSIGNMENT_NUMBER = ASS.ASSIGNMENT_NUMBER
     AND EFFECTIVE_START_DATE = ASS.EFFECTIVE_START_DATE AND ASSIGNMENT_TYPE = ASS.ASSIGNMENT_TYPE)
AND TRUNC(EENTRY.EFFECTIVE_START_DATE) BETWEEN :FROM_DATE AND :TO_DATE    
AND :FROM_DATE BETWEEN PERSON.EFFECTIVE_START_DATE(+) AND PERSON.EFFECTIVE_END_DATE(+)
AND :FROM_DATE BETWEEN ASS.EFFECTIVE_START_DATE(+) AND ASS.EFFECTIVE_END_DATE(+)
AND :FROM_DATE BETWEEN NAME.EFFECTIVE_START_DATE(+) AND NAME.EFFECTIVE_END_DATE(+)
AND :FROM_DATE BETWEEN DEP.EFFECTIVE_START_DATE(+) AND DEP.EFFECTIVE_END_DATE(+)
ORDER BY PERSON.PERSON_NUMBER, GRANT_DATE


--------------------------


--CC goals control

SELECT DISTINCT
PER.PERSON_NUMBER,
GoalR9.GOAL_ID,
GoalR9.GOAL_TYPE_CODE,
GoalR9.GOAL_NAME,
GoalR9.DESCRIPTION,
GoalR9.START_DATE,
GoalR9.TARGET_COMPLETION_DATE,
GoalR9.PERCENT_COMPLETE_CODE,
GoalR9.STATUS_CODE,
GoalR9.APPROVAL_STATUS_CODE
FROM HRG_GOALS GoalR9, PER_ALL_PEOPLE_F PER
WHERE GoalR9.PERSON_ID = PER.PERSON_ID
AND GoalR9.GOAL_TYPE_CODE = 'PERFORMANCE'
AND (GoalR9.APPROVAL_STATUS_CODE IS NULL OR GoalR9.APPROVAL_STATUS_CODE <> 'DRAFT')
ORDER BY 1,2

----------------------------

--CC ee profile

SELECT DISTINCT PER.PERSON_NUMBER,
         ASS.ACTION_CODE AS ACTION,
(SELECT ACTION_REASON FROM PER_ACTION_REASONS_VL WHERE  ACTION_REASON_CODE=ASS.REASON_CODE AND ASS.EFFECTIVE_START_DATE BETWEEN START_DATE(+) AND NVL(END_DATE,TO_DATE('4712.01.01', 'YYYY.MM.DD'))) AS ACTION_REASON,
         TO_CHAR(ASS.EFFECTIVE_START_DATE,'MM/DD/YYYY') AS ACTION_DATE,
ASS.LAST_UPDATED_BY,
(SELECT NA.DISPLAY_NAME FROM PER_PERSON_NAMES_F NA,PER_ALL_PEOPLE_F PER
WHERE NA.PERSON_ID = PER.PERSON_ID AND NA.NAME_TYPE = 'GLOBAL' AND PER.PERSON_NUMBER = ASS.LAST_UPDATED_BY
AND TRUNC(sysdate) BETWEEN NA.EFFECTIVE_START_DATE(+) AND NA.EFFECTIVE_END_DATE(+)
AND TRUNC(sysdate) BETWEEN PER.EFFECTIVE_START_DATE(+) and PER.EFFECTIVE_END_DATE(+) ) AS LAST_UPDATED_BY_NAME,
TO_CHAR(ASS.LAST_UPDATE_DATE,'MM/DD/YYYY') AS LAST_UPDATE_DATE,
ASS.EFFECTIVE_START_DATE
FROM PER_ALL_PEOPLE_F PER,
              PER_ALL_ASSIGNMENTS_F ASS
WHERE PER.PERSON_ID=ASS.PERSON_ID
         AND PER.PERSON_NUMBER in ( :PERSON_NO) --500662
         AND TRUNC(sysdate) between PER.EFFECTIVE_START_DATE(+) and PER.EFFECTIVE_END_DATE(+)
order by ASS.EFFECTIVE_START_DATE



------------------------

--Abscence DETAILS


SELECT acc.employee_id
      ,acc.employee_name
  ,acc.employee_status
  ,acc.termination_date
  ,acc.date_of_hire
  ,acc.department_code
  ,acc.location_code
  ,acc.location_name
  ,acc.currency
  ,acc.hourly_rate
  ,acc.rate_accrued_time
  ,acc.legal_entity
  ,acc.plan_name
  ,ROUND((SUM(acc.accrued)*8), 3) AS accrued
          ,ROUND((SUM(acc.used)*8), 3) AS used
  ,ROUND((SUM(acc.adjustments)*8), 3) AS adjustments
  ,ROUND((SUM(acc.accrued + acc.adjustments -acc.used)*8), 3) AS end_balance
  ,acc.dept_description
  ,acc.run_date
  ,acc.carryovereligible
 
FROM (

SELECT pno.person_number AS employee_id
      ,name.full_name AS employee_name
  ,assign.assignment_status_type AS employee_status
  ,TO_CHAR(pos.actual_termination_date,'MM/DD/YYYY') AS termination_date
  ,TO_CHAR(pos.date_start,'MM/DD/YYYY') AS date_of_hire
  ,SUBSTR(dept.name,INSTR(dept.name,'__',1)+2) AS department_code
  ,loc.internal_location_code AS location_code
  ,loc.location_name
  ,sal.local_currency AS currency
,ROUND((CASE WHEN SLA.SALARY_BASIS_CODE IN ('HOURLY')
              THEN ROUND(CM.SALARY_AMOUNT,2)
                  WHEN SLA.SALARY_BASIS_CODE NOT IN ('HOURLY') AND assign.LEGISLATION_CODE IN ('US','CA')
  THEN ROUND(((CM.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR )/(2080 * SALARY_ANNUALIZATION_FACTOR)),2)
                  WHEN SLA.SALARY_BASIS_CODE NOT IN ('HOURLY') AND assign.LEGISLATION_CODE NOT IN ('US','CA') AND SLA.NAME NOT LIKE '%13%' AND SLA.NAME NOT LIKE '%14%'
  THEN ROUND(((CM.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR )/(2080 * SALARY_ANNUALIZATION_FACTOR)),2)
                  WHEN SLA.SALARY_BASIS_CODE NOT IN ('HOURLY') AND assign.LEGISLATION_CODE NOT IN ('US','CA') AND SLA.NAME LIKE '%13%' AND SLA.NAME NOT LIKE '%14%'
  THEN ROUND(((CM.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR )/(2253.33 * SALARY_ANNUALIZATION_FACTOR)),2)
                  WHEN SLA.SALARY_BASIS_CODE NOT IN ('HOURLY') AND assign.LEGISLATION_CODE NOT IN ('US','CA') AND SLA.NAME NOT LIKE '%13%' AND SLA.NAME LIKE '%14%'
  THEN ROUND(((CM.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR )/(2426.67 * SALARY_ANNUALIZATION_FACTOR)),2)
                  ELSE 0
  END),2) AS hourly_rate

  ,ROUND(((CASE WHEN sla.salary_basis_code in ('HOURLY','MONTHLY','ANNUAL')
                THEN (cm.salary_amount * salary_annualization_factor)/2080
                    WHEN sla.salary_basis_code = 'PERIOD'
THEN (cm.salary_amount*26)/2080
   END) ),2 ) AS rate_accrued_time
  ,ple.name AS legal_entity
  ,abp.name AS plan_name
  ,DECODE(hl.meaning, 'Periodic accruals', apc.value, 'Annual accrual', apc.value, 0) AS accrued
      ,DECODE(hl.meaning, 'Absence', ABS(apc.value), 0) AS used
  ,DECODE(hl.meaning, 'Other adjustments', apc.value, 0) AS adjustments
  ,CASE WHEN SUBSTR(depts.name,1,INSTR(depts.name,'__',1)-1) IS NOT NULL THEN SUBSTR(depts.name,1,INSTR(depts.name,'__',1)-1) ELSE depts.name END AS dept_description
  ,TO_CHAR(:EFFECTIVE_DATE,'MM/DD/YYYY') AS run_date
  ,CASE WHEN apf.carry_over_flat_amt = '0' THEN 'NO' ELSE 'YES' END AS carryovereligible
  FROM per_person_secured_list_v      pno
      ,per_person_names_f             name
  ,per_assignment_secured_list_v  assign
  ,per_periods_of_service         pos
  ,hr_all_organization_units_f_vl dept
  ,per_departments                depts
  ,hr_locations_all               loc
  ,cmp_salary                     cm
  ,cmp_salary_v                   sal
  ,cmp_salary_bases               sla
  ,per_legal_employers            ple
  -- accruals
  ,anc_per_acrl_entry_dtls        apc
  ,anc_absence_plans_f_tl         abp
  ,anc_absence_plans_f            apf
  ,hcm_lookups                    hl  
 WHERE 1 = 1
   AND name.name_type              = 'GLOBAL'
   AND assign.assignment_type IN ('E')
   AND :EFFECTIVE_DATE BETWEEN pno.effective_start_date AND pno.effective_end_date
   AND assign.person_id            = pno.person_id
   AND :EFFECTIVE_DATE BETWEEN name.effective_start_date AND name.effective_end_date
   AND assign.person_id            = name.person_id
   AND :EFFECTIVE_DATE BETWEEN assign.effective_start_date AND assign.effective_end_date
   AND pos.period_of_service_id(+) = assign.period_of_service_id
   AND pos.person_id(+)            = assign.person_id
   AND :EFFECTIVE_DATE BETWEEN dept.effective_start_date(+) AND dept.effective_end_date(+)
   AND assign.organization_id      = dept.organization_id(+)
   AND :EFFECTIVE_DATE BETWEEN loc.effective_start_date(+) AND loc.effective_end_date(+)
   AND assign.location_id          = loc.location_id(+)
   AND :EFFECTIVE_DATE BETWEEN cm.date_from AND cm.date_to
   AND sal.salary_basis_id         = cm.salary_basis_id
   AND sal.salary_basis_id         = sla.salary_basis_id
   AND assign.assignment_id=cm.assignment_id
   AND :EFFECTIVE_DATE BETWEEN sal.date_from(+) AND sal.date_to(+)
   AND assign.assignment_id        = sal.assignment_id(+)
   AND assign.legal_entity_id      = ple.organization_id(+)
   AND :EFFECTIVE_DATE BETWEEN ple.effective_start_date(+) AND ple.effective_end_date(+)
   AND assign.organization_id=depts.organization_id(+)
   AND :EFFECTIVE_DATE BETWEEN depts.effective_start_date(+) AND depts.effective_end_date(+)
   AND assign.assignment_sequence  = (SELECT DISTINCT MAX(assignment_sequence)
                                        FROM per_all_assignments_m
   WHERE person_id = pno.person_id
     AND assignment_type IN ('E'))
   AND ((assign.assignment_status_type IN ('ACTIVE'))
        OR ((pos.actual_termination_date) BETWEEN TRUNC(TO_DATE(SYSDATE-1),'YEAR') AND (ADD_MONTHS(trunc(sysdate,'YEAR'),12)-1)))
   -- accruals
   AND apc.person_id               = pno.person_id
--AND pno.person_number = '991353'
   AND apc.pl_id                   = abp.absence_plan_id
   AND :EFFECTIVE_DATE BETWEEN abp.effective_start_date AND abp.effective_end_date
   AND apf.absence_plan_id         = abp.absence_plan_id
   AND :EFFECTIVE_DATE BETWEEN apf.effective_start_date AND apf.effective_end_date
   AND (ABP.LANGUAGE               = 'US' OR ABP.LANGUAGE IS NULL)
   AND apc.type                    = hl.lookup_code
   AND hl.lookup_type              = 'ANC_ACCRUAL_ENTRY_TYPE'
   AND apc.procd_date BETWEEN TRUNC(TO_DATE(TO_CHAR(:EFFECTIVE_DATE,'MM/DD/YYYY'),'MM/DD/YYYY'),'YEAR') AND :EFFECTIVE_DATE
   ) acc
WHERE (acc.accrued != 0 OR acc.adjustments != 0 OR acc.used != 0) 
GROUP BY acc.employee_id
      ,acc.employee_name
  ,acc.employee_status
  ,acc.termination_date
  ,acc.date_of_hire
  ,acc.department_code
  ,acc.location_code
  ,acc.location_name
  ,acc.currency
  ,acc.hourly_rate
  ,acc.rate_accrued_time
  ,acc.legal_entity
  ,acc.plan_name
      ,acc.dept_description
  ,acc.run_date
  ,acc.carryovereligible  
ORDER BY acc.employee_id


---------------------------------

--absence summary


SELECT  DEPTM, SUM(VALUE) AS VALUE, SUM(PTO_VALUE) AS PTO_VALUE, COUNT(DISTINCT PERSON_NUMBER) AS PERSON_NUMBER   FROM(
SELECT

PER.PERSON_NUMBER AS PERSON_NUMBER,
---ACE.END_BAL AS VALUE,

CASE WHEN ASS.HOURLY_SALARIED_CODE = 'H' THEN ACE.END_BAL
    WHEN ASS.HOURLY_SALARIED_CODE ='S' THEN ACE.END_BAL*8 END AS VALUE,

ROUND(((CASE WHEN SLA.SALARY_BASIS_CODE in('HOURLY', 'MONTHLY','ANNUAL') THEN (SAL.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR ) /2080

                        WHEN SLA.SALARY_BASIS_CODE='PERIOD' THEN (SAL.SALARY_AMOUNT*26)/2080

END ) * ACE.END_BAL ),2)
as PTO_VALUE,
SUBSTR(DEPT.NAME,INSTR(DEPT.NAME,'__',1)+2) as DEPTM

FROM
PER_PERSON_SECURED_LIST_V PER,
PER_ASSIGNMENT_SECURED_LIST_V ASS,
CMP_SALARY SAL,
HR_ALL_ORGANIZATION_UNITS_F_VL DEPT,
ANC_ABSENCE_PLANS_F_TL AAP,
ANC_PER_ACCRUAL_ENTRIES ACE,
ANC_PER_PLAN_ENROLLMENT APE,
PER_PERIODS_OF_SERVICE POS,
CMP_SALARY_BASES SLA

WHERE
PER.PERSON_ID = ASS.PERSON_ID(+)
AND ASS.ORGANIZATION_ID = DEPT.ORGANIZATION_ID(+)
AND ASS.PERSON_ID = APE.PERSON_ID(+)
AND AAP.ABSENCE_PLAN_ID(+) = APE.PLAN_ID
AND ASS.ASSIGNMENT_ID=SAL.ASSIGNMENT_ID(+)
AND SAL.SALARY_BASIS_ID=SLA.SALARY_BASIS_ID
AND PER.PERSON_ID = ACE.PERSON_ID(+)
AND APE.PER_PLAN_ENRT_ID = ACE.PER_PLAN_ENRT_ID
AND AAP.ABSENCE_PLAN_ID = ACE.PLAN_ID
AND ASS.PERSON_ID=POS.PERSON_ID(+)
AND ASS.PERIOD_OF_SERVICE_ID=POS.PERIOD_OF_SERVICE_ID(+)
AND ASS.ASSIGNMENT_TYPE IN ('E')
AND ASS.EFFECTIVE_LATEST_CHANGE = 'Y'
AND ((ASS.ASSIGNMENT_STATUS_TYPE IN ('ACTIVE')) OR (POS.ACTUAL_TERMINATION_DATE BETWEEN TRUNC(TO_DATE(SYSDATE-1),'YEAR') AND (ADD_MONTHS(trunc(sysdate,'YEAR'),12)-1)))

AND ASS.ASSIGNMENT_SEQUENCE = (SELECT MAX(ASSIGNMENT_SEQUENCE)
FROM PER_ALL_ASSIGNMENTS_F 
WHERE PERSON_ID=ASS.PERSON_ID
AND ASSIGNMENT_TYPE IN ('E')
AND EFFECTIVE_LATEST_CHANGE = 'Y'
AND :DATE_TO BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE)

AND APE.STATUS='A'
AND AAP.LANGUAGE ='US'
AND AAP.NAME LIKE ('PTO%')
----AND ACE.TYPE='ACRL'

----AND ABE.UOM='H'

-----and per.person_number in ('800140','200392','200412','991781','992743')
AND ACE.ACCRUAL_PERIOD =:DATE_TO
AND :DATE_TO BETWEEN ASS.EFFECTIVE_START_DATE(+) AND ASS.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN PER.EFFECTIVE_START_DATE AND PER.EFFECTIVE_END_DATE
AND :DATE_TO BETWEEN DEPT.EFFECTIVE_START_DATE(+) AND DEPT.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN AAP.EFFECTIVE_START_DATE(+) AND AAP.EFFECTIVE_END_DATE(+)
AND :DATE_TO BETWEEN APE.ENRT_ST_DT(+) AND APE.ENRT_END_DT(+)
AND :DATE_TO BETWEEN SAL.DATE_FROM(+) AND SAL.DATE_TO(+)
) T1
GROUP BY DEPTM

order by T1.DEPTM



-------------


--absence projection....


select

per.person_number as empl_id,
name.full_name as emp_name,

ass.assignment_status_type as emp_stat,
to_char(pos.original_date_of_hire,'mm/dd/yyyy') as hire_date,
substr(dept.name,instr(dept.name,'__',1)+2) as department_code,
loc.internal_location_code as loc_code,
loc.location_name as loc_name,

(SELECT ROUND(SUM(ACC2.ACCRUED),2)
FROM ANC_PER_ACCRUAL_ENTRIES ACC2
WHERE 1 = 1
AND ACC2.PERSON_ID = ASS.PERSON_ID
AND AAP.ABSENCE_PLAN_ID = ACC2.PLAN_ID
AND APPE.PER_PLAN_ENRT_ID = ACC2.PER_PLAN_ENRT_ID
AND APF.ABSENCE_PLAN_ID = ACC2.PLAN_ID
AND TRUNC(ACC2.ACCRUAL_PERIOD) BETWEEN (TRUNC(SYSDATE,'YEAR')) AND (ADD_MONTHS(TRUNC(SYSDATE,'YYYY'), 12)-1)
) as pto,

(select
sum(apae.duration)

from

anc_per_abs_entries    apae
,anc_absence_types_f_tl abtf

where 1 = 1

and apae.person_id               = ass.person_id
and apae.absence_type_id         = abtf.absence_type_id
and LANGUAGE                     = USERENV('LANG')
and sysdate between abtf.effective_start_date and abtf.effective_end_date
and apae.absence_status_cd       = 'SUBMITTED'
and apae.approval_status_cd      = 'APPROVED'
and abtf.name                    LIKE 'PTO%'
and apae.start_date BETWEEN (TRUNC(SYSDATE,'YEAR')) AND (ADD_MONTHS(TRUNC(SYSDATE,'YYYY'), 12)-1)
and apae.end_date BETWEEN (TRUNC(SYSDATE,'YEAR')) AND (ADD_MONTHS(TRUNC(SYSDATE,'YYYY'), 12)-1)
) as appto,

ROUND((CASE WHEN SLA.SALARY_BASIS_CODE in('HOURLY','MONTHLY','ANNUAL') THEN (sal.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR)/2080
WHEN SLA.SALARY_BASIS_CODE='PERIOD' THEN (SAL.SALARY_AMOUNT*26)/2080 END),2) AS HOURLY_RATE,




salv.LOCAL_CURRENCY as currency,


ROUND(((CASE WHEN SLA.SALARY_BASIS_CODE in('HOURLY','MONTHLY','ANNUAL') THEN (SAL.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR)/2080
WHEN SLA.SALARY_BASIS_CODE='PERIOD' THEN (SAL.SALARY_AMOUNT*26)/2080 END) * ACC.ACCRUED),2 ) AS RATE_ACCRUED_TIME,





le.name as le,
CASE WHEN SUBSTR(DEP.NAME,1,INSTR(DEPT.NAME,'__',1)-1) IS NOT NULL THEN SUBSTR(DEP.NAME,1,INSTR(DEPT.NAME,'__',1)-1) ELSE DEP.NAME END AS ddesc,


(SELECT ROUND((ACC2.end_BAL),2)
FROM ANC_PER_ACCRUAL_ENTRIES ACC2
WHERE 1 = 1
AND ACC2.PERSON_ID = per.PERSON_ID
AND AAP.ABSENCE_PLAN_ID = ACC2.PLAN_ID
AND APPE.PER_PLAN_ENRT_ID = ACC2.PER_PLAN_ENRT_ID
AND APF.ABSENCE_PLAN_ID = ACC2.PLAN_ID
AND TRUNC(ACC2.ACCRUAL_PERIOD) = (ADD_MONTHS(TRUNC(SYSDATE,'YYYY'), 12)-1)
) as eoy,

case when APF.CARRY_OVER_FLAT_AMT='0' then 'N' else 'Y'end as coe

  FROM

PER_PERSON_SECURED_LIST_V per,
per_person_names_f name,
PER_ASSIGNMENT_SECURED_LIST_V ass,
per_periods_of_service pos,
per_departments dep,
hr_all_organization_units_f_vl dept,

hr_locations loc,
cmp_salary sal,
 CMP_SALARY_V salv,
 cmp_salary_bases sla,
per_legal_employers le,

-- accruals
ANC_ABSENCE_PLANS_F_TL AAP,
ANC_PER_ACCRUAL_ENTRIES ACC,
ANC_PER_PLAN_ENROLLMENT APPE,
ANC_ABSENCE_PLANS_F APF
where
per.person_id=name.person_id
and per.person_id=ass.person_id
and per.person_id=pos.person_id
and pos.period_of_service_id(+)=ass.period_of_service_id
and loc.location_id=ass.location_id
and dept.organization_id(+)=ass.organization_id
and dep.organization_id(+)=ass.organization_id
and sal.assignment_id(+)=ass.assignment_id
and sal.salary_basis_id=sla.salary_basis_id(+)
and salv.salary_id(+)=sal.salary_id
and le.organization_id(+)=ass.legal_entity_id
and ass.assignment_status_type='ACTIVE'
and ass.assignment_type IN ('E')

and name.name_type='GLOBAL'
and trunc(sysdate) between per.effective_start_date and per.effective_end_date
and trunc(sysdate) between name.effective_start_date and name.effective_end_date
and trunc(sysdate) between ass.effective_start_date and ass.effective_end_date
and trunc(sysdate) between dep.effective_start_date(+) and dep.effective_end_date(+)
and trunc(sysdate) between dept.effective_start_date(+) and dept.effective_end_date(+)
and trunc(sysdate) between loc.effective_start_date(+) and loc.effective_end_date(+)
and trunc(sysdate) between le.effective_start_date(+) and le.effective_end_date(+)
and trunc(sysdate) between sal.date_from(+) and sal.date_to(+)
and ass.assignment_sequence=(select max(assignment_sequence) from per_All_assignments_f where person_id=ass.person_id and primary_flag='Y' and ass.assignment_type = 'E')
-- accruals
AND AAP.NAME LIKE ('PTO%')
AND ACC.PERSON_ID(+) = per.PERSON_ID
AND AAP.ABSENCE_PLAN_ID(+) = ACC.PLAN_ID
AND ACC.ACCRUAL_PERIOD BETWEEN AAP.EFFECTIVE_START_DATE(+) AND AAP.EFFECTIVE_END_DATE(+)
AND APPE.PERSON_ID = per.PERSON_ID
AND APPE.PER_PLAN_ENRT_ID(+) = ACC.PER_PLAN_ENRT_ID
AND AAP.LANGUAGE='US'
AND APF.ABSENCE_PLAN_ID(+) = ACC.PLAN_ID
AND ACC.ACCRUAL_PERIOD BETWEEN APF.EFFECTIVE_START_DATE(+) AND APF.EFFECTIVE_END_DATE(+)

AND ACC.ACCRUAL_PERIOD =(ADD_MONTHS(TRUNC(SYSDATE,'YYYY'), 12)-1)




--------------------------------

--absence details report

SELECT
PNO.PERSON_NUMBER AS EMPLOYEE_ID,
NAME.FULL_NAME AS EMPLOYEE_NAME,
ASSIGN.ASSIGNMENT_STATUS_TYPE AS EMPLOYEE_STATUS,
TO_CHAR(POS.ACTUAL_TERMINATION_DATE,'MM/DD/YYYY') AS TERMINATION_DATE,
TO_CHAR(POS.DATE_START,'MM/DD/YYYY') AS DATE_OF_HIRE,
SUBSTR(DEPT.NAME,INSTR(DEPT.NAME,'__',1)+2) AS DEPARTMENT_CODE,
LOC.INTERNAL_LOCATION_CODE AS LOCATION_CODE,
LOC.LOCATION_NAME,
SAL.LOCAL_CURRENCY AS CURRENCY,
-- TO_CHAR((CASE WHEN SLA.SALARY_BASIS_CODE in('HOURLY','MONTHLY','ANNUAL') THEN (CM.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR)/2080
-- WHEN SLA.SALARY_BASIS_CODE='PERIOD' THEN (CM.SALARY_AMOUNT*26)/2080 END),'99D9999999999999') AS HOURLY_RATE,
-- TO_CHAR(((CASE WHEN SLA.SALARY_BASIS_CODE in('HOURLY','MONTHLY','ANNUAL') THEN (CM.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR)/2080
-- WHEN SLA.SALARY_BASIS_CODE='PERIOD' THEN (CM.SALARY_AMOUNT*26)/2080 END) * ACC.ACCRUED) ,'99D9999999999999') AS RATE_ACCRUED_TIME,
ROUND((CASE WHEN SLA.SALARY_BASIS_CODE in('HOURLY','MONTHLY','ANNUAL') THEN (CM.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR)/2080
WHEN SLA.SALARY_BASIS_CODE='PERIOD' THEN (CM.SALARY_AMOUNT*26)/2080 END),2) AS HOURLY_RATE,
ROUND(((CASE WHEN SLA.SALARY_BASIS_CODE in('HOURLY','MONTHLY','ANNUAL') THEN (CM.SALARY_AMOUNT * SALARY_ANNUALIZATION_FACTOR)/2080
WHEN SLA.SALARY_BASIS_CODE='PERIOD' THEN (CM.SALARY_AMOUNT*26)/2080 END) * ACC.ACCRUED),2 ) AS RATE_ACCRUED_TIME,

PLE.NAME AS LEGAL_ENTITY,
-- ACC.ACCRUED,

AAP.NAME AS PLAN_NAME,

(SELECT ROUND(SUM(ACC2.ACCRUED),2)
FROM ANC_PER_ACCRUAL_ENTRIES ACC2
WHERE 1 = 1
AND ACC2.PERSON_ID = PNO.PERSON_ID
AND AAP.ABSENCE_PLAN_ID = ACC2.PLAN_ID
AND APPE.PER_PLAN_ENRT_ID = ACC2.PER_PLAN_ENRT_ID
AND APF.ABSENCE_PLAN_ID = ACC2.PLAN_ID
AND TRUNC(ACC2.ACCRUAL_PERIOD) BETWEEN TRUNC(TO_DATE(TO_CHAR(:EFFECTIVE_DATE,'MM/DD/YYYY'),'MM/DD/YYYY'),'YEAR') AND :EFFECTIVE_DATE
) AS ACCRUED,

(select
sum(apae.duration)

from

anc_per_abs_entries    apae
,anc_absence_types_f_tl abtf

where 1 = 1

and apae.person_id               = ASSIGN.person_id
and apae.absence_type_id         = abtf.absence_type_id
and LANGUAGE                     = USERENV('LANG')
and sysdate between abtf.effective_start_date and abtf.effective_end_date
and apae.absence_status_cd       = 'SUBMITTED'
and apae.approval_status_cd      = 'APPROVED'
and abtf.name like substr(AAP.NAME,1,3)||'%'
and apae.start_date BETWEEN TRUNC(TO_DATE(TO_CHAR(:EFFECTIVE_DATE,'MM/DD/YYYY'),'MM/DD/YYYY'),'YEAR') AND :EFFECTIVE_DATE
and apae.end_date BETWEEN TRUNC(TO_DATE(TO_CHAR(:EFFECTIVE_DATE,'MM/DD/YYYY'),'MM/DD/YYYY'),'YEAR') AND :EFFECTIVE_DATE
) as USED,

ROUND ((ACC.END_BAL),2) AS END_BALANCE,

CASE WHEN SUBSTR(DEPTS.NAME,1,INSTR(DEPTS.NAME,'__',1)-1) IS NOT NULL THEN SUBSTR(DEPTS.NAME,1,INSTR(DEPTS.NAME,'__',1)-1) ELSE DEPTS.NAME END AS DEPT_DESCRIPTION,
TO_CHAR(ACC.ACCRUAL_PERIOD,'MM/DD/YYYY') AS RUN_DATE,
CASE WHEN APF.CARRY_OVER_FLAT_AMT='0' THEN 'NO' ELSE 'YES' END AS CARRYOVERELIGIBLE
FROM
PER_PERSON_SECURED_LIST_V PNO,
PER_PERSON_NAMES_F NAME,
PER_ASSIGNMENT_SECURED_LIST_V ASSIGN,
PER_PERIODS_OF_SERVICE POS,
HR_ALL_ORGANIZATION_UNITS_F_VL DEPT,
PER_DEPARTMENTS DEPTS,
HR_LOCATIONS_ALL LOC,
CMP_SALARY CM,
CMP_SALARY_V SAL,
CMP_SALARY_BASES SLA,
PER_LEGAL_EMPLOYERS PLE,

ANC_ABSENCE_PLANS_F_TL AAP,
ANC_PER_ACCRUAL_ENTRIES ACC,
ANC_PER_PLAN_ENROLLMENT APPE,
ANC_ABSENCE_PLANS_F APF
WHERE
NAME.NAME_TYPE = 'GLOBAL'
AND ASSIGN.ASSIGNMENT_TYPE IN ('E')
----AND AAP.NAME LIKE ('PTO%')
--and PNO.person_number     = '991353'
AND :EFFECTIVE_DATE BETWEEN PNO.EFFECTIVE_START_DATE AND PNO.EFFECTIVE_END_DATE
AND ASSIGN.PERSON_ID = PNO.PERSON_ID
AND :EFFECTIVE_DATE BETWEEN NAME.EFFECTIVE_START_DATE AND NAME.EFFECTIVE_END_DATE
AND ASSIGN.PERSON_ID = NAME.PERSON_ID
AND :EFFECTIVE_DATE BETWEEN ASSIGN.EFFECTIVE_START_DATE AND ASSIGN.EFFECTIVE_END_DATE
AND POS.PERIOD_OF_SERVICE_ID(+)=ASSIGN.PERIOD_OF_SERVICE_ID
AND POS.PERSON_ID(+)=ASSIGN.PERSON_ID
AND :EFFECTIVE_DATE BETWEEN DEPT.EFFECTIVE_START_DATE(+) AND DEPT.EFFECTIVE_END_DATE(+)
AND ASSIGN.ORGANIZATION_ID = DEPT.ORGANIZATION_ID(+)
AND :EFFECTIVE_DATE BETWEEN LOC.EFFECTIVE_START_DATE(+) AND LOC.EFFECTIVE_END_DATE(+)
AND ASSIGN.LOCATION_ID=LOC.LOCATION_ID(+)
AND :EFFECTIVE_DATE BETWEEN CM.DATE_FROM AND CM.DATE_TO
AND SAL.SALARY_BASIS_ID=CM.SALARY_BASIS_ID
AND SAL.SALARY_BASIS_ID=SLA.SALARY_BASIS_ID
AND ASSIGN.ASSIGNMENT_ID=CM.ASSIGNMENT_ID
AND :EFFECTIVE_DATE BETWEEN SAL.DATE_FROM(+) AND SAL.DATE_TO(+)
AND ASSIGN.ASSIGNMENT_ID=SAL.ASSIGNMENT_ID(+)
AND ASSIGN.LEGAL_ENTITY_ID = PLE.ORGANIZATION_ID(+)
AND :EFFECTIVE_DATE BETWEEN PLE.EFFECTIVE_START_DATE(+) AND PLE.EFFECTIVE_END_DATE(+)
AND ASSIGN.ORGANIZATION_ID=DEPTS.ORGANIZATION_ID(+)
AND :EFFECTIVE_DATE BETWEEN DEPTS.EFFECTIVE_START_DATE(+) AND DEPTS.EFFECTIVE_END_DATE(+)
AND ACC.PERSON_ID(+) = PNO.PERSON_ID
AND AAP.ABSENCE_PLAN_ID(+) = ACC.PLAN_ID
AND :EFFECTIVE_DATE BETWEEN AAP.EFFECTIVE_START_DATE(+) AND AAP.EFFECTIVE_END_DATE(+)
AND APPE.PERSON_ID = PNO.PERSON_ID
AND APPE.PER_PLAN_ENRT_ID(+) = ACC.PER_PLAN_ENRT_ID
AND AAP.LANGUAGE='US'
AND APF.ABSENCE_PLAN_ID(+) = ACC.PLAN_ID
AND :EFFECTIVE_DATE BETWEEN APF.EFFECTIVE_START_DATE(+) AND APF.EFFECTIVE_END_DATE(+)
AND ASSIGN.ASSIGNMENT_SEQUENCE = (SELECT DISTINCT MAX(ASSIGNMENT_SEQUENCE) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID=PNO.PERSON_ID AND ASSIGNMENT_TYPE IN ('E'))
-- AND (ASSIGN.ASSIGNMENT_STATUS_TYPE IN ('ACTIVE') or TO_CHAR(POS.ACTUAL_TERMINATION_DATE,'YYYY') = TO_CHAR(SYSDATE,'YYYY'))
AND ((ASSIGN.ASSIGNMENT_STATUS_TYPE IN ('ACTIVE')) OR ((POS.ACTUAL_TERMINATION_DATE) BETWEEN TRUNC(TO_DATE(SYSDATE-1),'YEAR') AND (ADD_MONTHS(trunc(sysdate,'YEAR'),12)-1)))
AND (:EFFECTIVE_DATE)=tRUNC(ACC.ACCRUAL_PERIOD)

---------------

Element Entries Validates


SELECT DISTINCT
PERSON.PERSON_NUMBER,
EENTRY.PERSON_ID,
TO_CHAR(EENTRY.EFFECTIVE_START_DATE, 'YYYY-MM-DD'),
TO_CHAR(EENTRY.EFFECTIVE_END_DATE, 'YYYY-MM-DD'),
ETYPE.ELEMENT_NAME,
ETYPE.REPORTING_NAME,
ETYPE.DESCRIPTION,
ETYPE.DEDUCTION_OR_EXEMPTION,
ETYPE.DEDUCTION_TYPE_ID,
ECLASS.CLASSIFICATION_NAME,
PINPUT.BASE_NAME,
PINPUT.MANDATORY_FLAG,
EVALUE.SCREEN_ENTRY_VALUE
FROM
PAY_ELEMENT_ENTRIES_F EENTRY,
PAY_ELEMENT_TYPES_VL ETYPE,
PAY_ELE_CLASSIFICATIONS_VL ECLASS,
PER_ALL_PEOPLE_F_V person,
PAY_ELEMENT_ENTRY_VALUES_F EVALUE,
PAY_INPUT_VALUES_F PINPUT
WHERE
PERSON.PERSON_ID = EENTRY.PERSON_ID (+)
AND ECLASS.CLASSIFICATION_ID = ETYPE.CLASSIFICATION_ID
AND ETYPE.ELEMENT_TYPE_ID = EENTRY.ELEMENT_TYPE_ID
AND EVALUE.ELEMENT_ENTRY_ID = EENTRY.ELEMENT_ENTRY_ID
AND EVALUE.INPUT_VALUE_ID = PINPUT.INPUT_VALUE_ID
AND EVALUE.SCREEN_ENTRY_VALUE <> ' '
and EENTRY.OBJECT_VERSION_NUMBER = EVALUE.OBJECT_VERSION_NUMBER
AND (
UPPER(ETYPE.ELEMENT_NAME) LIKE 'ANNUAL BONUS - A%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'ANNUAL BONUS - AMS%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'ANNUAL CUSTOMIZED MGMT PLAN%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'DEPARTMENTAL INCENTIVE PLAN%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'GEORGETOWN LOB PREMIUM%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'INTERNATIONAL AUTO ALLOWANCE%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'INTERNATIONAL BENEFIT ALLOWANCE%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'MILESTONE ACHIEVEMENT%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'MISCELLANEOUS%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'NO COMP PLAN%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'OUSTANDING PERFORMANCE%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'PERFORMANCE DIFFERENTIAL%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'QUARTERLY CUSTOMIZED%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'QUARTERLY FLAT%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'QUARTERLY OPERATIONAL%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'RETENTION%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'RETROACTIVE BASE%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'RETROACTIVE BONUS%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'SALES COMMISSION OVERRIDE%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'SALES COMPENSATION%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'SALES PLAN%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'SEMI ANNUAL CUSTOM%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'SEMI-ANNUAL CUSTOMIZED%' OR
UPPER(ETYPE.ELEMENT_NAME) LIKE 'SEMI-ANNUAL OPERATIONAL%'
)
--AND UPPER(ETYPE.ELEMENT_NAME) IN ('ANNUAL BONUS - AMS','ANNUAL BONUS - ANNUAL MGMT BONUS PLAN')
--AND UPPER(ETYPE.ELEMENT_NAME) NOT LIKE '%SALARY%'
AND PERSON.EFFECTIVE_START_DATE BETWEEN ETYPE.EFFECTIVE_START_DATE(+) AND ETYPE.EFFECTIVE_END_DATE(+)
AND PERSON.EFFECTIVE_START_DATE BETWEEN PINPUT.EFFECTIVE_START_DATE(+) AND PINPUT.EFFECTIVE_END_DATE(+)
-- and TRUNC(SYSDATE) BETWEEN EENTRY.EFFECTIVE_START_DATE(+) AND EENTRY.EFFECTIVE_END_DATE(+)
--AND (EENTRY.EFFECTIVE_START_DATE >= '2015-01-01' OR EENTRY.EFFECTIVE_END_DATE >= '2015-01-01')
AND TRUNC(EENTRY.EFFECTIVE_START_DATE) BETWEEN :Range_Start_Date AND NVL(:Range_End_Date, TO_DATE('01-01-4712', 'MM-DD-YYYY'))
--AND TRUNC(EENTRY.EFFECTIVE_END_DATE) BETWEEN :Range_Start_Date AND :Range_End_Date
AND TRUNC(EVALUE.EFFECTIVE_START_DATE) BETWEEN :Range_Start_Date AND NVL(:Range_End_Date, TO_DATE('01-01-4712', 'MM-DD-YYYY'))
ORDER BY PERSON.PERSON_NUMBER,
ETYPE.ELEMENT_NAME,
TO_CHAR(EENTRY.EFFECTIVE_START_DATE, 'YYYY-MM-DD')

------------

Employee Termination REPORT

SELECT T.user_name
      ,T.user_status
      ,T.employee_display_name
      ,T.Employee_first_name
      ,T.Employee_name
      ,T.Job_name
      ,T.job_level
      ,T.EMPLOYEE_STATUS
  ,T.SHEET_NAME
FROM
(SELECT
 PU.USERNAME                      user_name
,CASE
    WHEN PU.SUSPENDED = 'N'
    THEN 'Active'
ELSE 'InActive'
 END                              user_status
,Names.DISPLAY_NAME               employee_display_name
,Names.FIRST_NAME                 Employee_first_name
,Names.FULL_NAME                  Employee_name
,Job.NAME                         Job_name
,(SELECT pjf.approval_authority
    FROM per_jobs_f pjf
   WHERE pjf.job_id = JOB.JOB_ID
     AND sysdate between effective_start_date and effective_end_date) job_level
,CASE
    WHEN NVL(PPOS.ACTUAL_TERMINATION_DATE,sysdate) >= sysdate
    THEN 'Active'
    ELSE 'Terminated'
 END                              EMPLOYEE_STATUS
, 'Terminated Employees'          SHEET_NAME
FROM
 FUSION.PER_USERS                 PU
,FUSION.PER_ALL_PEOPLE_F          PPF
,FUSION.PER_PERSON_NAMES_F_V      Names
,FUSION.PER_ALL_ASSIGNMENTS_M     PAAM
,FUSION.PER_PERIODS_OF_SERVICE    PPOS
,FUSION.PER_JOBS_F_TL             JOB
WHERE 1=1
AND PU.PERSON_ID                  = PPF.PERSON_ID
AND PPF.PERSON_ID                 = Names.PERSON_ID
AND PPF.PERSON_ID                 = PAAM.PERSON_ID
AND PAAM.PERIOD_OF_SERVICE_ID     = PPOS.PERIOD_OF_SERVICE_ID(+)
AND PAAM.PERSON_ID                = PPOS.PERSON_ID(+)
AND PAAM.JOB_ID                   = Job.JOB_ID
AND Job.LANGUAGE                  = 'US'
AND sysdate BETWEEN PPF.EFFECTIVE_START_DATE AND PPF.EFFECTIVE_END_DATE
AND sysdate BETWEEN PAAM.EFFECTIVE_START_DATE AND PAAM.EFFECTIVE_END_DATE
AND sysdate BETWEEN Names.EFFECTIVE_START_DATE AND Names.EFFECTIVE_END_DATE
AND sysdate BETWEEN Job.EFFECTIVE_START_DATE AND Job.EFFECTIVE_END_DATE
AND PAAM.PRIMARY_FLAG             ='Y') T
WHERE 1=1
  AND T.EMPLOYEE_STATUS = 'Terminated'
group by
T.user_name
      ,T.user_status
      ,T.employee_display_name
      ,T.Employee_first_name
      ,T.Employee_name
      ,T.Job_name
      ,T.job_level
      ,T.EMPLOYEE_STATUS
  ,T.SHEET_NAME
order by 1,4

------------

Employee Status Report


select USER_NAME
,USER_STATUS
,EMPLOYEE_DISPLAY_NAME
,EMPLOYEE_FIRST_NAME
,EMPLOYEE_NAME
,JOB_NAME
,JOB_LEVEL
,EMPLOYEE_STATUS
,SHEET_NAME
FROM
(SELECT
 PU.USERNAME                      user_name
,CASE
    WHEN PU.SUSPENDED = 'N'
    THEN 'Active'
ELSE 'InActive'
 END                              user_status
,Names.DISPLAY_NAME               employee_display_name
,Names.FIRST_NAME                 Employee_first_name
,Names.FULL_NAME                  Employee_name
,Job.NAME                         Job_name
,(SELECT pjf.approval_authority
    FROM per_jobs_f pjf
   WHERE pjf.job_id = JOB.JOB_ID
     AND sysdate between effective_start_date and effective_end_date) job_level
,CASE
    WHEN NVL(PPOS.ACTUAL_TERMINATION_DATE,sysdate) >= sysdate
    THEN 'Active'
    ELSE 'Terminated'
 END                              EMPLOYEE_STATUS
, 'Employee Status Details'       SHEET_NAME
FROM
 FUSION.PER_USERS                 PU
,FUSION.PER_ALL_PEOPLE_F          PPF
,FUSION.PER_PERSON_NAMES_F_V      Names
,FUSION.PER_ALL_ASSIGNMENTS_M     PAAM
,FUSION.PER_PERIODS_OF_SERVICE    PPOS
,FUSION.PER_JOBS_F_TL             JOB
WHERE 1=1
AND PU.PERSON_ID                  = PPF.PERSON_ID
AND PPF.PERSON_ID                 = Names.PERSON_ID
AND PPF.PERSON_ID                 = PAAM.PERSON_ID
AND PAAM.PERIOD_OF_SERVICE_ID     = PPOS.PERIOD_OF_SERVICE_ID(+)
AND PAAM.PERSON_ID                = PPOS.PERSON_ID(+)
AND PAAM.JOB_ID                   = Job.JOB_ID
AND Job.LANGUAGE                  = 'US'
AND sysdate BETWEEN PPF.EFFECTIVE_START_DATE AND PPF.EFFECTIVE_END_DATE
AND sysdate BETWEEN PAAM.EFFECTIVE_START_DATE AND PAAM.EFFECTIVE_END_DATE
AND sysdate BETWEEN Names.EFFECTIVE_START_DATE AND Names.EFFECTIVE_END_DATE
AND sysdate BETWEEN Job.EFFECTIVE_START_DATE AND Job.EFFECTIVE_END_DATE
AND PAAM.PRIMARY_FLAG             ='Y')
where 1 = 1
group by
USER_NAME
,USER_STATUS
,EMPLOYEE_DISPLAY_NAME
,EMPLOYEE_FIRST_NAME
,EMPLOYEE_NAME
,JOB_NAME
,JOB_LEVEL
,EMPLOYEE_STATUS
,SHEET_NAME
order by 1,4

-----------

Employee Role Details.


------------------------------Employees-----------------------------------------------
select username
      ,role_name
  ,nvl(employee_name,employee_name_contract) employee_name
  ,user_status
  ,employee_status
from
(select a.username
      ,a.role_name
  ,b.employee_name
  ,nvl(b.user_status,a.user_status) user_status
  ,b.employee_status
  ,(select perv.full_name
         from per_person_names_f_v perv
where perv.person_id = a.person_id
AND SYSDATE BETWEEN perv.effective_start_date
                         AND  perv.effective_end_date) employee_name_contract
from
(select pu.username
     , prdt.role_name
, prd.role_common_name
, pur.active_flag
,pu.person_id
,CASE
       WHEN PU.SUSPENDED = 'N'
       THEN 'Active'
   ELSE 'InActive'
       END                              user_status
from per_users pu
   , per_user_roles pur
   , per_roles_dn prd
   , per_roles_dn_tl prdt
where pu.user_id = pur.user_id
and pur.role_id = prd.role_id
and prd.role_id = prdt.role_id
and prdt.language = 'US'
and pur.role_guid = prd.role_guid
--and prdt.role_name like '%  Inc.%'
group by pu.username, pur.active_flag, prd.role_common_name, prdt.role_name, pu.person_id,PU.SUSPENDED
) a,
(SELECT T.username
      ,T.user_status
      ,T.employee_display_name
      ,T.Employee_first_name
      ,T.Employee_name
      ,T.Job_name
      ,T.job_level
      ,T.EMPLOYEE_STATUS
  ,T.SHEET_NAME
FROM
(SELECT
 PU.USERNAME                     
,CASE
    WHEN PU.SUSPENDED = 'N'
    THEN 'Active'
ELSE 'InActive'
 END                              user_status
,Names.DISPLAY_NAME               employee_display_name
,Names.FIRST_NAME                 Employee_first_name
,Names.FULL_NAME                  Employee_name
,Job.NAME                         Job_name
,(SELECT pjf.approval_authority
    FROM per_jobs_f pjf
   WHERE pjf.job_id = JOB.JOB_ID
     AND sysdate between effective_start_date and effective_end_date) job_level
,CASE
    WHEN NVL(PPOS.ACTUAL_TERMINATION_DATE,sysdate) >= sysdate
    THEN 'Active'
    ELSE 'Terminated'
 END                              EMPLOYEE_STATUS
, 'Terminated Employees'          SHEET_NAME
FROM
 FUSION.PER_USERS                 PU
,FUSION.PER_ALL_PEOPLE_F          PPF
,FUSION.PER_PERSON_NAMES_F_V      Names
,FUSION.PER_ALL_ASSIGNMENTS_M     PAAM
,FUSION.PER_PERIODS_OF_SERVICE    PPOS
,FUSION.PER_JOBS_F_TL             JOB
WHERE 1=1
AND PU.PERSON_ID                  = PPF.PERSON_ID
AND PPF.PERSON_ID                 = Names.PERSON_ID
AND PPF.PERSON_ID                 = PAAM.PERSON_ID
AND PAAM.PERIOD_OF_SERVICE_ID     = PPOS.PERIOD_OF_SERVICE_ID(+)
AND PAAM.PERSON_ID                = PPOS.PERSON_ID(+)
AND PAAM.JOB_ID                   = Job.JOB_ID
AND Job.LANGUAGE                  = 'US'
AND sysdate BETWEEN PPF.EFFECTIVE_START_DATE AND PPF.EFFECTIVE_END_DATE
AND sysdate BETWEEN PAAM.EFFECTIVE_START_DATE AND PAAM.EFFECTIVE_END_DATE
AND sysdate BETWEEN Names.EFFECTIVE_START_DATE AND Names.EFFECTIVE_END_DATE
AND sysdate BETWEEN Job.EFFECTIVE_START_DATE AND Job.EFFECTIVE_END_DATE
AND PAAM.PRIMARY_FLAG             ='Y') T
WHERE 1=1
--  AND T.EMPLOYEE_STATUS != 'Terminated'
--  AND T.user_status = 'Active'
group by
T.username
      ,T.user_status
      ,T.employee_display_name
      ,T.Employee_first_name
      ,T.Employee_name
      ,T.Job_name
      ,T.job_level
      ,T.EMPLOYEE_STATUS
  ,T.SHEET_NAME
order by 1,4) b
where 1 = 1
and a.username = b.username(+)
AND NVL(b.EMPLOYEE_STATUS,'Test') != 'Terminated'
AND b.user_status = 'Active'
--and a.username in('502195','502196','502197','502198','502199')
)
where 1= 1
----------------------------Contract Employees-----------------------------------------------
union all
select username
      ,role_name
  ,nvl(employee_name,employee_name_contract) employee_name
  ,user_status
  ,employee_status
from
(select a.username
      ,a.role_name
  ,b.employee_name
  ,nvl(b.user_status,a.user_status) user_status
  ,b.employee_status
  ,(select perv.full_name
         from per_person_names_f_v perv
where perv.person_id = a.person_id
AND SYSDATE BETWEEN perv.effective_start_date
                         AND  perv.effective_end_date) employee_name_contract
from
(select pu.username
     , prdt.role_name
, prd.role_common_name
, pur.active_flag
,pu.person_id
,CASE
       WHEN PU.SUSPENDED = 'N'
       THEN 'Active'
   ELSE 'InActive'
       END                              user_status
from per_users pu
   , per_user_roles pur
   , per_roles_dn prd
   , per_roles_dn_tl prdt
where pu.user_id = pur.user_id
and pur.role_id = prd.role_id
and prd.role_id = prdt.role_id
and prdt.language = 'US'
and pur.role_guid = prd.role_guid
--and prdt.role_name like '%  Inc.%'
group by pu.username, pur.active_flag, prd.role_common_name, prdt.role_name, pu.person_id,PU.SUSPENDED
) a,
(SELECT T.username
      ,T.user_status
      ,T.employee_display_name
      ,T.Employee_first_name
      ,T.Employee_name
      ,T.Job_name
      ,T.job_level
      ,T.EMPLOYEE_STATUS
  ,T.SHEET_NAME
FROM
(SELECT
 PU.USERNAME                     
,CASE
    WHEN PU.SUSPENDED = 'N'
    THEN 'Active'
ELSE 'InActive'
 END                              user_status
,Names.DISPLAY_NAME               employee_display_name
,Names.FIRST_NAME                 Employee_first_name
,Names.FULL_NAME                  Employee_name
,null                             Job_name
,null                             job_level
,CASE
    WHEN NVL(PPOS.ACTUAL_TERMINATION_DATE,sysdate) >= sysdate
    THEN 'Active'
    ELSE 'Terminated'
 END                              EMPLOYEE_STATUS
, 'Terminated Employees'          SHEET_NAME
FROM
 FUSION.PER_USERS                 PU
,FUSION.PER_ALL_PEOPLE_F          PPF
,FUSION.PER_PERSON_NAMES_F_V      Names
,FUSION.PER_ALL_ASSIGNMENTS_M     PAAM
,FUSION.PER_PERIODS_OF_SERVICE    PPOS
--,FUSION.PER_JOBS_F_TL             JOB
WHERE 1=1
AND PU.PERSON_ID                  = PPF.PERSON_ID
AND PPF.PERSON_ID                 = Names.PERSON_ID
AND PPF.PERSON_ID                 = PAAM.PERSON_ID
AND PAAM.PERIOD_OF_SERVICE_ID     = PPOS.PERIOD_OF_SERVICE_ID(+)
AND PAAM.PERSON_ID                = PPOS.PERSON_ID(+)
--AND PAAM.JOB_ID                   = Job.JOB_ID
--AND Job.LANGUAGE                  = 'US'
AND sysdate BETWEEN PPF.EFFECTIVE_START_DATE AND PPF.EFFECTIVE_END_DATE
AND sysdate BETWEEN PAAM.EFFECTIVE_START_DATE AND PAAM.EFFECTIVE_END_DATE
AND sysdate BETWEEN Names.EFFECTIVE_START_DATE AND Names.EFFECTIVE_END_DATE
--AND sysdate BETWEEN Job.EFFECTIVE_START_DATE AND Job.EFFECTIVE_END_DATE
AND PAAM.PRIMARY_FLAG             ='Y'
AND not exists (select 1 from PER_JOBS_F_TL where JOB_ID = PAAM.JOB_ID) ) T
WHERE 1=1
  AND T.EMPLOYEE_STATUS != 'Terminated'
  AND T.user_status = 'Active'
--AND t.username in('502195','502196','502197','502198','502199')
group by
T.username
      ,T.user_status
      ,T.employee_display_name
      ,T.Employee_first_name
      ,T.Employee_name
      ,T.Job_name
      ,T.job_level
      ,T.EMPLOYEE_STATUS
  ,T.SHEET_NAME
order by 1,4) b
where 1=1
and a.username = b.username)
where 1=1
UNION ALL
----------------------------Only Users-----------------------------------------------
select pu.username                username
     , prdt.role_name             role_name
, substr(substr(pu.USER_DISTINGUISHED_NAME,1,instr(pu.USER_DISTINGUISHED_NAME,',')-1),4,1000)  employee_name
,CASE
       WHEN PU.SUSPENDED = 'N'
       THEN 'Active'
   ELSE 'InActive'
       END                        user_status
, NULL                       employee_status
from per_users pu
   , per_user_roles pur
   , per_roles_dn prd
   , per_roles_dn_tl prdt
where pu.user_id = pur.user_id
and pur.role_id = prd.role_id
and prd.role_id = prdt.role_id
and prdt.language = 'US'
and pur.role_guid = prd.role_guid
--and prdt.role_name like '%  Inc.%'
and PU.SUSPENDED = 'N'
and not exists (select 1 from PER_ALL_PEOPLE_F where person_id = pu.person_id)
--and pu.username = '502195'
group by pu.username, pur.active_flag, prd.role_common_name, prdt.role_name, pu.person_id,PU.SUSPENDED,pu.USER_DISTINGUISHED_NAME
order by 1,2


---------------------

Costing Setup Report from Oracle Colud connect

SELECT 'LIV'         AS SourceType,
  'Link Input Value' AS SourceTypeName,
  base_name,
  meaning,
  LinkInputValueDEO.ELEMENT_LINK_ID,
  (SELECT rtrim(sys.STRAGG(ElementLinkDEO.ELEMENT_LINK_NAME|| ' |'), ' |')
  FROM PAY_ELEMENT_LINKS_F ElementLinkDEO
  WHERE ElementLinkDEO.element_link_id = LinkInputValueDEO.ELEMENT_LINK_ID
  and CostInformationDEO.effective_start_date between ElementLinkDEO.effective_start_date and ElementLinkDEO.effective_end_date
  )                              AS ElementLinkName,
  CostInformationDEO.costed_flag AS LIVCOSTEDFLAG,
  (SELECT DISTINCT NAME
  FROM per_legislative_data_groups_vl
  WHERE legislative_data_group_id = CostInformationDEO.LEGISLATIVE_DATA_GROUP_ID
  ) AS LdgName,
  CostInformationDEO.LEGISLATIVE_DATA_GROUP_ID,
  'EL'                                                          AS ParentSourceType,
  TO_CHAR(CostInformationDEO.effective_start_date,'YYYY-MM-DD') AS effective_start_date,
  TO_CHAR(CostInformationDEO.effective_end_date,'YYYY-MM-DD')   AS effective_end_date,
  TO_CHAR(CostInformationDEO.last_update_date,'YYYY-MM-DD')     AS last_update_date,
  CostInformationDEO.last_updated_by,
  (SELECT rtrim(sys.STRAGG(ElementTypeVO.ELEMENT_NAME|| ' |'), ' |')
  FROM PAY_ELEMENT_LINKS_F ElementLinkDEO,
    PAY_ELEMENT_TYPES_VL ElementTypeVO
  WHERE ElementLinkDEO.ELEMENT_TYPE_ID = ElementTypeVO.ELEMENT_TYPE_ID
  AND ElementLinkDEO.element_link_id   = LinkInputValueDEO.ELEMENT_LINK_ID
  and CostInformationDEO.effective_start_date between ElementLinkDEO.effective_start_date and ElementLinkDEO.effective_end_date
  and CostInformationDEO.effective_start_date between ElementTypeVO.effective_start_date and ElementTypeVO.effective_end_date
  ) AS ElementTypeName
FROM PAY_COST_INFO_F CostInformationDEO,
  PAY_LINK_INPUT_VALUES_F LinkInputValueDEO,
  FND_COMMON_LOOKUPS CommonLookupPEO,
  PAY_INPUT_VALUES_VL InputValueDPEO
WHERE CostInformationDEO.SOURCE_TYPE = 'LIV'
AND CostInformationDEO.SOURCE_ID     = LinkInputValueDEO.LINK_INPUT_VALUE_ID
AND LinkInputValueDEO.INPUT_VALUE_ID = InputValueDPEO.INPUT_VALUE_ID
AND InputValueDPEO.uom               = CommonLookupPEO.LOOKUP_CODE
AND CommonLookupPEO.LOOKUP_TYPE      = 'UNITS'
AND (NVL(:EffectiveDate,CostInformationDEO.effective_start_date) BETWEEN CostInformationDEO.effective_start_date AND CostInformationDEO.effective_end_date)
AND (CostInformationDEO.legislative_data_group_id =:LegislativeDataGroupId)

----------

COSTING INFO from oracle colud connect


SELECT costInfo.source_id,
  (SELECT DISTINCT NAME
  FROM per_legislative_data_groups_vl
  WHERE legislative_data_group_id = costInfo.LEGISLATIVE_DATA_GROUP_ID
  ) AS LdgName,
  costInfo.LEGISLATIVE_DATA_GROUP_ID,
  NULL AS PaymentSourceName,
  (SELECT rtrim(sys.STRAGG(ElementLinkDEO.ELEMENT_LINK_NAME|| ' |'), ' |')
  FROM PAY_ELEMENT_LINKS_F ElementLinkDEO
  WHERE ElementLinkDEO.element_link_id = costInfo.source_id
  and costInfo.effective_start_date between ElementLinkDEO.effective_start_date and ElementLinkDEO.effective_end_date
  ) AS ElementLinkName,
  costInfo.costed_flag,
  costInfo.source_type,
  'Element Eligibility' AS source_type_name,
  costInfo.costable_type,
  costInfo.distribution_set_id,
  costInfo.transfer_to_gl_flag,
  costInfo.cost_cleared_payment,
  costInfo.COST_MANUAL_PAYMENT,
  TO_CHAR(costInfo.effective_start_date,'YYYY-MM-DD') AS effective_start_date,
  TO_CHAR(costInfo.effective_end_date,'YYYY-MM-DD')   AS effective_end_date,
  TO_CHAR(costInfo.last_update_date,'YYYY-MM-DD')     AS last_update_date,
  costInfo.last_updated_by,
  (SELECT rtrim(sys.STRAGG(ElementTypeVO.ELEMENT_NAME|| ' |'), ' |')
  FROM PAY_ELEMENT_LINKS_F ElementLinkDEO,
    PAY_ELEMENT_TYPES_VL ElementTypeVO
  WHERE ElementLinkDEO.ELEMENT_TYPE_ID = ElementTypeVO.ELEMENT_TYPE_ID
  AND ElementLinkDEO.element_link_id   = costInfo.source_id
  and costInfo.effective_start_date between ElementLinkDEO.effective_start_date and ElementLinkDEO.effective_end_date
  and costInfo.effective_start_date between ElementTypeVO.effective_start_date and ElementTypeVO.effective_end_date
  ) AS ElementTypeName
FROM PAY_COST_INFO_F costInfo
WHERE (NVL(:EffectiveDate,costInfo.effective_start_date) BETWEEN costInfo.effective_start_date AND costInfo.effective_end_date)
AND (source_type               = NVL(:SourceType,source_type))
AND (legislative_data_group_id =:LegislativeDataGroupId)
AND source_type                = 'EL'
UNION ALL
SELECT costInfo.source_id,
  (SELECT DISTINCT NAME
  FROM per_legislative_data_groups_vl
  WHERE legislative_data_group_id = costInfo.LEGISLATIVE_DATA_GROUP_ID
  ) AS LdgName,
  costInfo.LEGISLATIVE_DATA_GROUP_ID,
  (SELECT rtrim(sys.STRAGG(ORG_PAYMENT_METHOD_NAME|| ' |'), ' |') AS SourceName
  FROM PAY_ORG_PAY_METHODS_VL OrganizationPaymentMethodDPE1
  WHERE OrganizationPaymentMethodDPE1.ORG_PAYMENT_METHOD_ID = costInfo.source_id
  and costInfo.effective_start_date between OrganizationPaymentMethodDPE1.effective_start_date and OrganizationPaymentMethodDPE1.effective_end_date
  )    AS PaymentSourceName,
  NULL AS ElementLinkName,
  costInfo.costed_flag,
  costInfo.source_type,
  'Payment Source' AS source_type_name,
  costInfo.costable_type,
  costInfo.distribution_set_id,
  costInfo.transfer_to_gl_flag,
  costInfo.cost_cleared_payment,
  costInfo.COST_MANUAL_PAYMENT,
  TO_CHAR(costInfo.effective_start_date,'YYYY-MM-DD') AS effective_start_date,
  TO_CHAR(costInfo.effective_end_date,'YYYY-MM-DD')   AS effective_end_date,
  TO_CHAR(costInfo.last_update_date,'YYYY-MM-DD')     AS last_update_date,
  costInfo.last_updated_by,
  NULL AS Element_Type_Name
FROM PAY_COST_INFO_F costInfo
WHERE (NVL(:EffectiveDate,costInfo.effective_start_date) BETWEEN costInfo.effective_start_date AND costInfo.effective_end_date)
AND (source_type               = NVL(:SourceType,source_type))
AND (legislative_data_group_id =:LegislativeDataGroupId)
AND source_type                = 'PM'


------------------------

Cost Report from Oracle Cloud connect

select (select 'ReportKey' from dual) as ReportKey,
(select cost_allocation_id_flex_num from per_legislative_data_groups_vl where legislative_data_group_id = :LegislativeDataGroupId) as cost_allocation_id_flex_num,
(select :LegislativeDataGroupId from dual) as Legislative_Data_Group_Id,
(select distinct name from PER_LEGISLATIVE_DATA_GROUPS_VL where legislative_data_group_id = :LegislativeDataGroupId) as legislative_name,
(select :SourceType from dual) as SourceType,
(select qry.SourceName from (
select distinct PersonNameDPEO.DISPLAY_NAME||','||ElementTypeDPEO.ELEMENT_NAME as SourceName, ElementEntryDPEO.ELEMENT_ENTRY_ID as SourceId FROM PAY_ELEMENT_ENTRIES_F ElementEntryDPEO,PER_PERSON_NAMES_F_V PersonNameDPEO,PAY_ELEMENT_TYPES_VL ElementTypeDPEO where ElementEntryDPEO.PERSON_ID = PersonNameDPEO.PERSON_ID and ElementEntryDPEO.ELEMENT_TYPE_ID = ElementTypeDPEO.ELEMENT_TYPE_ID and :SourceType = 'EE'
union all
select distinct ORG_PAYMENT_METHOD_NAME as SourceName,OrganizationPaymentMethodDPE1.ORG_PAYMENT_METHOD_ID as SourceId from PAY_ORG_PAY_METHODS_VL OrganizationPaymentMethodDPE1 where :SourceType = 'PM'
union all
select distinct PayrollDPEO.PAYROLL_NAME as SourceName,PayrollDPEO.PAYROLL_ID as SourceId from PAY_ALL_PAYROLLS_F PayrollDPEO where :SourceType = 'PAY' and PayrollDPEO.LEGISLATIVE_DATA_GROUP_ID =nvl(:LegislativeDataGroupId,PayrollDPEO.LEGISLATIVE_DATA_GROUP_ID)
union all
select distinct NAME as SourceName,ORGANIZATION_ID as SourceId from per_departments where :SourceType = 'ORG'
union all
select distinct PositionTranslationPEO.NAME as SourceName,PositionDPEO.position_id as SourceId from HR_ALL_POSITIONS_F_VL PositionDPEO,HR_ALL_POSITIONS_F_TL PositionTranslationPEO where PositionDPEO.position_id = PositionTranslationPEO.position_id and language = sys_context('USERENV', 'LANG') and :SourceType = 'POS'
union all
select distinct JobDPEO.JOB_CODE||','||JobSet.SET_CODE as SourceName,JobDPEO.job_id as SourceId from PER_JOBS_F_VL JobDPEO, FND_SETID_SETS_VL JobSet where JobDPEO.SET_ID = JobSet.SET_ID(+) and :SourceType = 'JOB'
union all
select distinct ElementLinkDEO.ELEMENT_LINK_NAME as SourceName,ElementLinkDEO.element_link_id as SourceId from PAY_ELEMENT_LINKS_F ElementLinkDEO where :SourceType = 'EL'
union all
select distinct PersonNameDPEO.DISPLAY_NAME as SourceName, PayrollRelationshipPEO.PAYROLL_RELATIONSHIP_ID as SourceId from PER_PERSON_NAMES_F_V PersonNameDPEO,PAY_PAY_RELATIONSHIPS_DN PayrollRelationshipPEO where PersonNameDPEO.person_id=PayrollRelationshipPEO.person_id and :SourceType = 'PREL'
union all
select distinct ElementTypeDPEO.ELEMENT_NAME as SourceName, ElementTypeDPEO.ELEMENT_TYPE_ID as SourceId from PAY_ELEMENT_TYPES_VL ElementTypeDPEO, PAY_ELE_CLASSIFICATIONS_VL ElementClassificationPEO where ElementTypeDPEO.classification_id=ElementClassificationPEO.classification_id and :SourceType = 'PRET'
union all
select distinct AssignmentDPEO.ASSIGNMENT_NAME as SourceName, PayrollAssignmentPEO.relationship_group_id as SourceId from PAY_REL_GROUPS_DN PayrollAssignmentPEO,PER_ALL_ASSIGNMENTS_M AssignmentDPEO where PayrollAssignmentPEO.group_type = 'T' and PayrollAssignmentPEO.assignment_id = AssignmentDPEO.assignment_id and AssignmentDPEO.effective_latest_change = 'Y' and PayrollAssignmentPEO.group_type = 'A' and PayrollAssignmentPEO.START_DATE between AssignmentDPEO.effective_start_date and AssignmentDPEO.effective_end_date and :SourceType = 'TERM'
union all
select distinct ElementTypeDPEO.ELEMENT_NAME as SourceName, ElementTypeDPEO.ELEMENT_TYPE_ID as SourceId from PAY_ELEMENT_TYPES_VL ElementTypeDPEO, PAY_ELE_CLASSIFICATIONS_VL ElementClassificationPEO where ElementTypeDPEO.classification_id=ElementClassificationPEO.classification_id and :SourceType = 'TET'
union all
select distinct AssignmentDPEO.ASSIGNMENT_NAME as SourceName, PayrollAssignmentPEO.relationship_group_id as SourceId from PAY_REL_GROUPS_DN PayrollAssignmentPEO,PER_ALL_ASSIGNMENTS_M AssignmentDPEO where PayrollAssignmentPEO.group_type = 'A' and PayrollAssignmentPEO.assignment_id = AssignmentDPEO.assignment_id and AssignmentDPEO.effective_latest_change = 'Y' and PayrollAssignmentPEO.group_type = 'A' and PayrollAssignmentPEO.START_DATE between AssignmentDPEO.effective_start_date and AssignmentDPEO.effective_end_date and :SourceType = 'ASG'
union all
select distinct ElementTypeDPEO.ELEMENT_NAME as SourceName, ElementTypeDPEO.ELEMENT_TYPE_ID as SourceId from PAY_ELEMENT_TYPES_VL ElementTypeDPEO, PAY_ELE_CLASSIFICATIONS_VL ElementClassificationPEO where ElementTypeDPEO.classification_id=ElementClassificationPEO.classification_id and :SourceType = 'AET')qry where qry.SourceId =:Source) as SourceName,
((select distinct qry.SourceName from
(select distinct PersonNameDPEO.DISPLAY_NAME as SourceName, PayrollRelationshipPEO.PAYROLL_RELATIONSHIP_ID as SourceId from PER_PERSON_NAMES_F_V PersonNameDPEO,PAY_PAY_RELATIONSHIPS_DN PayrollRelationshipPEO where PersonNameDPEO.person_id=PayrollRelationshipPEO.person_id and :SourceType = 'PRET'
union all
select distinct AssignmentDPEO.ASSIGNMENT_NAME as SourceName, PayrollAssignmentPEO.relationship_group_id as SourceId from PAY_REL_GROUPS_DN PayrollAssignmentPEO,PER_ALL_ASSIGNMENTS_M AssignmentDPEO where PayrollAssignmentPEO.group_type = 'T' and PayrollAssignmentPEO.assignment_id = AssignmentDPEO.assignment_id and AssignmentDPEO.effective_latest_change = 'Y' and PayrollAssignmentPEO.group_type = 'A' and PayrollAssignmentPEO.START_DATE between AssignmentDPEO.effective_start_date and AssignmentDPEO.effective_end_date and :SourceType = 'TET'
union all
select distinct AssignmentDPEO.ASSIGNMENT_NAME as SourceName, PayrollAssignmentPEO.relationship_group_id as SourceId from PAY_REL_GROUPS_DN PayrollAssignmentPEO,PER_ALL_ASSIGNMENTS_M AssignmentDPEO where PayrollAssignmentPEO.group_type = 'A' and PayrollAssignmentPEO.assignment_id = AssignmentDPEO.assignment_id and AssignmentDPEO.effective_latest_change = 'Y' and PayrollAssignmentPEO.group_type = 'A' and PayrollAssignmentPEO.START_DATE between AssignmentDPEO.effective_start_date and AssignmentDPEO.effective_end_date and :SourceType = 'AET')qry where qry.SourceId = :Source)) as CreatorName,
(select to_char(:EffectiveDate,'YYYY-MM-DD') from dual) as EffectiveDate from dual

-----

Account info

select APPLICATION_COLUMN_NAME,COST_ALLOCATION_RECORD_ID,COST_ALLOCATION_KEYFLEX_ID,SOURCE_SUB_TYPE,ID_FLEX_NUM,PERCENTAGE,SEGMENT1,SEGMENT2,SEGMENT3,SEGMENT4,SEGMENT5,SEGMENT6,SEGMENT7,SEGMENT8 from (select flexSegment.APPLICATION_COLUMN_NAME,account.COST_ALLOCATION_RECORD_ID,account.COST_ALLOCATION_KEYFLEX_ID,account.SOURCE_SUB_TYPE,account.ID_FLEX_NUM,account.proportion*100||'%' PERCENTAGE,account.SEGMENT1,account.SEGMENT2,account.SEGMENT3,account.SEGMENT4,account.SEGMENT5,account.SEGMENT6,account.SEGMENT7,account.SEGMENT8 from PAY_COST_ALLOC_ACCOUNTS
 account, FND_ID_FLEX_SEGMENTS_vl flexSegment where flexSegment.ID_FLEX_NUM = account.ID_FLEX_NUM  and flexSegment.id_flex_code = 'COST' and flexSegment.DISPLAY_FLAG = 'Y' and account.source_sub_type in ('COST','BAL') order by SEGMENT_NUM)
 union all
 select APPLICATION_COLUMN_NAME,COST_ALLOCATION_RECORD_ID,COST_ALLOCATION_KEYFLEX_ID,SOURCE_SUB_TYPE,ID_FLEX_NUM,PERCENTAGE,SEGMENT1,SEGMENT2,SEGMENT3,SEGMENT4,SEGMENT5,SEGMENT6,SEGMENT7,SEGMENT8 from (select flexSegment.APPLICATION_COLUMN_NAME,account.COST_ALLOCATION_RECORD_ID,account.COST_ALLOCATION_KEYFLEX_ID,account.SOURCE_SUB_TYPE,account.proportion*100||'%' PERCENTAGE,pack.ID_FLEX_NUM,pack.SEGMENT1,pack.SEGMENT2,pack.SEGMENT3,pack.SEGMENT4,pack.SEGMENT5,pack.SEGMENT6,pack.SEGMENT7,pack.SEGMENT8 from PAY_COST_ALLOC_ACCOUNTS
 account, FND_ID_FLEX_SEGMENTS_vl flexSegment,PAY_COST_ALLOC_KEYFLEX pack where pack.cost_allocation_keyflex_id = account.cost_allocation_keyflex_id and
 pack.id_flex_num = flexSegment.ID_FLEX_NUM  and flexSegment.id_flex_code = 'COST' and flexSegment.DISPLAY_FLAG = 'Y' and account.source_sub_type not in ('COST','BAL') order by SEGMENT_NUM)


 ----


 Job element codes


 SELECT LdgName,
  last_update_date,
  last_updated_by,
  JobName,
  CostableType,
  LivValue,
  CostCleardPayment,
  CostManulPayment,
  CostedFlag,
  TransferToGlFlag,
  DistributionSetName,
  SOURCE_SUB_TYPE,
  id_flex_num,
  source_id,
  cost_allocation_record_id,
  TermName,
  AssignmentName,
  ElementTypeName,
  personName,
  payrollName,
  JobCode,
  SetCode,
  DepartmentName,
  PaymentSource,
  PositionName,
  ElementLinkName,
  source_type,
  Source_Type_Name,
  TO_CHAR(effective_start_date,'YYYY-MM-DD') AS effective_start_date,
  TO_CHAR(effective_end_date,'YYYY-MM-DD')   AS effective_end_date,
  legislative_data_group_id,
  CREATOR_ID
FROM
  (SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    NULL AS AssignmentName,
    (SELECT rtrim(sys.STRAGG(ElementTypeDPEO.ELEMENT_NAME|| ' |'), ' |')
    FROM PAY_ELEMENT_ENTRIES_F ElementEntryDPEO,
      PAY_ELEMENT_TYPES_VL ElementTypeDPEO
    WHERE ElementEntryDPEO.ELEMENT_TYPE_ID = ElementTypeDPEO.ELEMENT_TYPE_ID
    AND ElementEntryDPEO.ELEMENT_ENTRY_ID  = alloc.source_id
    AND alloc.effective_start_date between ElementEntryDPEO.effective_start_date and ElementEntryDPEO.effective_end_date
    AND alloc.effective_start_date between ElementTypeDPEO.effective_start_date and ElementTypeDPEO.effective_end_date
    ) AS ElementTypeName,
    (SELECT rtrim(sys.STRAGG(PersonNameDPEO.DISPLAY_NAME|| ' |'), ' |')
    FROM PAY_ELEMENT_ENTRIES_F ElementEntryDPEO,
      PER_PERSON_NAMES_F_V PersonNameDPEO
    WHERE ElementEntryDPEO.PERSON_ID      = PersonNameDPEO.PERSON_ID
    AND ElementEntryDPEO.ELEMENT_ENTRY_ID = alloc.source_id
    AND alloc.effective_start_date between ElementEntryDPEO.effective_start_date and ElementEntryDPEO.effective_end_date
    AND alloc.effective_start_date between PersonNameDPEO.effective_start_date and PersonNameDPEO.effective_end_date
    )    AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'EE'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    (SELECT costInfo.COST_CLEARED_PAYMENT
    FROM PAY_COST_INFO_F costInfo
    WHERE costInfo.source_type = 'PM'
    AND costInfo.source_id     = alloc.source_id
    AND alloc.effective_start_date BETWEEN costInfo.effective_start_date AND costInfo.effective_end_date
    ) AS CostCleardPayment,
    (SELECT costInfo.COST_MANUAL_PAYMENT
    FROM PAY_COST_INFO_F costInfo
    WHERE costInfo.source_type = 'PM'
    AND costInfo.source_id     = alloc.source_id
    AND alloc.effective_start_date BETWEEN costInfo.effective_start_date AND costInfo.effective_end_date
    ) AS CostManulPayment,
    (SELECT costInfo.costed_flag
    FROM PAY_COST_INFO_F costInfo
    WHERE costInfo.source_type = 'PM'
    AND costInfo.source_id     = alloc.source_id
    AND alloc.effective_start_date BETWEEN costInfo.effective_start_date AND costInfo.effective_end_date
    ) AS CostedFlag,
    (SELECT costInfo.transfer_to_gl_flag
    FROM PAY_COST_INFO_F costInfo
    WHERE costInfo.source_type = 'PM'
    AND costInfo.source_id     = alloc.source_id
    AND alloc.effective_start_date BETWEEN costInfo.effective_start_date AND costInfo.effective_end_date
    )    AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    NULL AS AssignmentName,
    NULL AS ElementTypeName,
    NULL AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    (SELECT rtrim(sys.STRAGG(ORG_PAYMENT_METHOD_NAME|| ' |'), ' |') AS SourceName
    FROM PAY_ORG_PAY_METHODS_VL OrganizationPaymentMethodDPE1
    WHERE OrganizationPaymentMethodDPE1.ORG_PAYMENT_METHOD_ID = alloc.source_id
     and alloc.effective_start_date between OrganizationPaymentMethodDPE1.effective_start_date and OrganizationPaymentMethodDPE1.effective_end_date
  )    AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'PM'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    NULL AS AssignmentName,
    NULL AS ElementTypeName,
    NULL AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    (SELECT rtrim(sys.STRAGG(OrganizationDPEO.NAME|| ' |'), ' |')
    FROM HR_ORGANIZATION_V OrganizationDPEO
    WHERE OrganizationDPEO.organization_id                  = alloc.source_id
    AND OrganizationDPEO.classification_code                = 'DEPARTMENT'
    AND OrganizationDPEO.status                             = 'A'
    AND NVL(OrganizationDPEO.internal_external_flag, 'INT') = 'INT'
    and alloc.effective_start_date between OrganizationDPEO.effective_start_date and OrganizationDPEO.effective_end_date
    )    AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'ORG'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    NULL AS AssignmentName,
    NULL AS ElementTypeName,
    NULL AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    (SELECT rtrim(sys.STRAGG(PositionTranslationPEO.NAME|| ' |'), ' |')
    FROM HR_ALL_POSITIONS_F_VL PositionDPEO,
      HR_ALL_POSITIONS_F_TL PositionTranslationPEO
    WHERE PositionDPEO.position_id = PositionTranslationPEO.position_id
    AND language                   = sys_context('USERENV', 'LANG')
    AND PositionDPEO.position_id   = alloc.source_id
    AND alloc.effective_start_date between PositionDPEO.effective_start_date and PositionDPEO.effective_end_date
    )    AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'POS'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    (SELECT rtrim(sys.STRAGG(name|| ' |'), ' |')
    FROM PER_JOBS_F_VL JobDPEO,
      FND_SETID_SETS_VL JobSet
    WHERE JobDPEO.job_id = alloc.source_id
    AND JobDPEO.SET_ID   = JobSet.SET_ID(+)
    AND alloc.effective_start_date between JobDPEO.effective_start_date and JobDPEO.effective_end_date
    )    AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    NULL AS AssignmentName,
    NULL AS ElementTypeName,
    NULL AS personName,
    NULL AS payrollName,
    (SELECT rtrim(sys.STRAGG(JobDPEO.JOB_CODE|| ' |'), ' |')
    FROM PER_JOBS_F_VL JobDPEO,
      FND_SETID_SETS_VL JobSet
    WHERE JobDPEO.job_id = alloc.source_id
    AND JobDPEO.SET_ID   = JobSet.SET_ID(+)
    AND alloc.effective_start_date between JobDPEO.effective_start_date and JobDPEO.effective_end_date
    ) AS JobCode,
    (SELECT rtrim(sys.STRAGG(JobSet.SET_CODE|| ' |'), ' |')
    FROM PER_JOBS_F_VL JobDPEO,
      FND_SETID_SETS_VL JobSet
    WHERE JobDPEO.job_id = alloc.source_id
    AND JobDPEO.SET_ID   = JobSet.SET_ID(+)
    AND alloc.effective_start_date between JobDPEO.effective_start_date and JobDPEO.effective_end_date
    )    AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'JOB'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    (SELECT costInfo.costable_type
    FROM PAY_COST_INFO_F costInfo
    WHERE costInfo.source_type = 'EL'
    AND costInfo.source_id     = alloc.source_id
    AND alloc.effective_start_date BETWEEN costInfo.effective_start_date AND costInfo.effective_end_date
    ) AS CostableType,
    (SELECT LISTAGG(base_name
      ||'|'
      ||meaning
      ||'|'
      ||COSTED_FLAG,',') within GROUP (
    ORDER BY base_name
      ||'|'
      ||meaning
      ||'|'
      ||COSTED_FLAG) AS LivValue
    FROM PAY_COST_INFO_F CostInformationDEO,
      PAY_LINK_INPUT_VALUES_F LinkInputValueDEO,
      FND_COMMON_LOOKUPS CommonLookupPEO,
      PAY_INPUT_VALUES_VL InputValueDPEO
    WHERE LinkInputValueDEO.ELEMENT_LINK_ID = alloc.source_id
    AND CostInformationDEO.SOURCE_TYPE      = 'LIV'
    AND CostInformationDEO.SOURCE_ID        = LinkInputValueDEO.LINK_INPUT_VALUE_ID
    AND LinkInputValueDEO.INPUT_VALUE_ID    = InputValueDPEO.INPUT_VALUE_ID
    AND InputValueDPEO.uom                  = CommonLookupPEO.LOOKUP_CODE
    AND CommonLookupPEO.LOOKUP_TYPE         = 'UNITS'
    AND alloc.effective_start_date BETWEEN CostInformationDEO.effective_start_date AND CostInformationDEO.effective_end_date
    )    AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    (SELECT costInfo.transfer_to_gl_flag
    FROM PAY_COST_INFO_F costInfo
    WHERE costInfo.source_type = 'EL'
    AND costInfo.source_id     = alloc.source_id
    AND alloc.effective_start_date BETWEEN costInfo.effective_start_date AND costInfo.effective_end_date
    ) AS TransferToGlFlag,
    (SELECT rtrim(sys.STRAGG(POG.OBJECT_GROUP_NAME|| ' |'), ' |')
    FROM PAY_COST_INFO_F costInfo,
      PAY_OBJECT_GROUPS_VL POG,
      PAY_OBJECT_GROUP_TYPES POGT,
      HCM_LOOKUPS Lookup
    WHERE costInfo.distribution_set_id = pog.object_group_id
    AND POG.OBJECT_GROUP_TYPE_ID       =POGT.OBJECT_GROUP_TYPE_ID
    AND Lookup.LOOKUP_TYPE             ='PAY_OBJECT_GROUP_TYPE'
    AND Lookup.LOOKUP_CODE             =POGT.NAME_CODE
    AND POGT.NAME_CODE                 = 'ELEGRP'
    AND costInfo.source_type           = 'EL'
    AND costInfo.source_id             = alloc.source_id
    AND alloc.effective_start_date BETWEEN costInfo.effective_start_date AND costInfo.effective_end_date
    ) AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    NULL AS AssignmentName,
    (SELECT rtrim(sys.STRAGG(ElementTypeVO.ELEMENT_NAME|| ' |'), ' |')
    FROM PAY_ELEMENT_LINKS_F ElementLinkDEO,
      PAY_ELEMENT_TYPES_VL ElementTypeVO
    WHERE ElementLinkDEO.ELEMENT_TYPE_ID = ElementTypeVO.ELEMENT_TYPE_ID
    AND ElementLinkDEO.element_link_id   = alloc.source_id
    AND alloc.effective_start_date between ElementLinkDEO.effective_start_date and ElementLinkDEO.effective_end_date
    AND alloc.effective_start_date between ElementTypeVO.effective_start_date and ElementTypeVO.effective_end_date
    )    AS ElementTypeName,
    NULL AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    (SELECT rtrim(sys.STRAGG(ElementLinkDEO.ELEMENT_LINK_NAME|| ' |'), ' |')
    FROM PAY_ELEMENT_LINKS_F ElementLinkDEO
    WHERE ElementLinkDEO.element_link_id = alloc.source_id
    AND alloc.effective_start_date between ElementLinkDEO.effective_start_date and ElementLinkDEO.effective_end_date
    ) AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'EL'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    NULL AS AssignmentName,
    NULL AS ElementTypeName,
    NULL AS personName,
    (SELECT rtrim(sys.STRAGG(PayrollDPEO.PAYROLL_NAME|| ' |'), ' |')
    FROM PAY_ALL_PAYROLLS_F PayrollDPEO
    WHERE PayrollDPEO.PAYROLL_ID = alloc.source_id
    and alloc.effective_start_date between PayrollDPEO.effective_start_date and PayrollDPEO.effective_end_date
    )    AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'PAY'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    NULL AS AssignmentName,
    NULL AS ElementTypeName,
    (SELECT rtrim(sys.STRAGG(PersonNameDPEO.DISPLAY_NAME|| ' |'), ' |')
    FROM PER_PERSON_NAMES_F_V PersonNameDPEO,
      PAY_PAY_RELATIONSHIPS_DN PayrollRelationshipPEO
    WHERE PersonNameDPEO.person_id                     =PayrollRelationshipPEO.person_id
    AND PayrollRelationshipPEO.PAYROLL_RELATIONSHIP_ID = alloc.source_id
    AND alloc.effective_start_date between PersonNameDPEO.effective_start_date and PersonNameDPEO.effective_end_date
    )    AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'PREL'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    NULL AS AssignmentName,
    (SELECT rtrim(sys.STRAGG(ElementTypeDPEO.ELEMENT_NAME|| ' |'), ' |')
    FROM PAY_ELEMENT_TYPES_VL ElementTypeDPEO,
      PAY_ELE_CLASSIFICATIONS_VL ElementClassificationPEO
    WHERE ElementTypeDPEO.classification_id=ElementClassificationPEO.classification_id
    AND ElementTypeDPEO.ELEMENT_TYPE_ID    = alloc.source_id
    AND alloc.effective_start_date between ElementTypeDPEO.effective_start_date and ElementTypeDPEO.effective_end_date
    ) AS ElementTypeName,
    (SELECT rtrim(sys.STRAGG(PersonNameDPEO.DISPLAY_NAME|| ' |'), ' |')
    FROM PER_PERSON_NAMES_F_V PersonNameDPEO,
      PAY_PAY_RELATIONSHIPS_DN PayrollRelationshipPEO
    WHERE PersonNameDPEO.person_id                     =PayrollRelationshipPEO.person_id
    AND PayrollRelationshipPEO.PAYROLL_RELATIONSHIP_ID = alloc.creator_id
    AND alloc.effective_start_date between PersonNameDPEO.effective_start_date and PersonNameDPEO.effective_end_date
    )    AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'PRET'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    (SELECT rtrim(sys.STRAGG(AssignmentDPEO.ASSIGNMENT_NAME|| ' |'), ' |')
    FROM PAY_REL_GROUPS_DN PayrollAssignmentPEO,
      PER_ALL_ASSIGNMENTS_M AssignmentDPEO
    WHERE PayrollAssignmentPEO.relationship_group_id = alloc.source_id
    AND PayrollAssignmentPEO.group_type              = 'T'
    AND PayrollAssignmentPEO.assignment_id           = AssignmentDPEO.assignment_id
    AND AssignmentDPEO.effective_latest_change       = 'Y'
    AND PayrollAssignmentPEO.group_type              = 'A'
    AND alloc.effective_start_date BETWEEN AssignmentDPEO.effective_start_date AND AssignmentDPEO.effective_end_date
    )    AS TermName,
    NULL AS AssignmentName,
    NULL AS ElementTypeName,
    (SELECT rtrim(sys.STRAGG(PersonNameDPEO.DISPLAY_NAME|| ' |'), ' |')
    FROM PER_PERSON_NAMES_F_V PersonNameDPEO,
      PAY_PAY_RELATIONSHIPS_DN PayrollRelationshipPEO
    WHERE PersonNameDPEO.person_id                     =PayrollRelationshipPEO.person_id
    AND PayrollRelationshipPEO.PAYROLL_RELATIONSHIP_ID = alloc.payroll_relationship_id
    AND alloc.effective_start_date BETWEEN PersonNameDPEO.effective_start_date AND PersonNameDPEO.effective_end_date
    )    AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'TERM'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    (SELECT rtrim(sys.STRAGG(AssignmentDPEO.ASSIGNMENT_NAME|| ' |'), ' |')
    FROM PAY_REL_GROUPS_DN PayrollAssignmentPEO,
      PER_ALL_ASSIGNMENTS_M AssignmentDPEO
    WHERE PayrollAssignmentPEO.relationship_group_id = alloc.CREATOR_ID
    AND PayrollAssignmentPEO.group_type              = 'T'
    AND PayrollAssignmentPEO.assignment_id           = AssignmentDPEO.assignment_id
    AND AssignmentDPEO.effective_latest_change       = 'Y'
    AND PayrollAssignmentPEO.group_type              = 'A'
    AND alloc.effective_start_date BETWEEN AssignmentDPEO.effective_start_date AND AssignmentDPEO.effective_end_date
    )    AS TermName,
    NULL AS AssignmentName,
    (SELECT rtrim(sys.STRAGG(ElementTypeDPEO.ELEMENT_NAME|| ' |'), ' |')
    FROM PAY_ELEMENT_TYPES_VL ElementTypeDPEO,
      PAY_ELE_CLASSIFICATIONS_VL ElementClassificationPEO
    WHERE ElementTypeDPEO.classification_id=ElementClassificationPEO.classification_id
    AND ElementTypeDPEO.ELEMENT_TYPE_ID    = alloc.source_id
    AND alloc.effective_start_date between ElementTypeDPEO.effective_start_date and ElementTypeDPEO.effective_end_date
    ) AS ElementTypeName,
    (SELECT rtrim(sys.STRAGG(PersonNameDPEO.DISPLAY_NAME|| ' |'), ' |')
    FROM PER_PERSON_NAMES_F_V PersonNameDPEO,
      PAY_PAY_RELATIONSHIPS_DN PayrollRelationshipPEO
    WHERE PersonNameDPEO.person_id                     =PayrollRelationshipPEO.person_id
    AND PayrollRelationshipPEO.PAYROLL_RELATIONSHIP_ID = alloc.payroll_relationship_id
    AND alloc.effective_start_date between PersonNameDPEO.effective_start_date and PersonNameDPEO.effective_end_date
    )    AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'TET'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    (SELECT rtrim(sys.STRAGG(AssignmentDPEO.ASSIGNMENT_NAME|| ' |'), ' |')
    FROM PAY_REL_GROUPS_DN PayrollAssignmentPEO,
      PER_ALL_ASSIGNMENTS_M AssignmentDPEO
    WHERE PayrollAssignmentPEO.relationship_group_id = alloc.source_id
    AND PayrollAssignmentPEO.group_type              = 'A'
    AND PayrollAssignmentPEO.assignment_id           = AssignmentDPEO.assignment_id
    AND AssignmentDPEO.effective_latest_change       = 'Y'
    AND PayrollAssignmentPEO.group_type              = 'A'
    AND alloc.effective_start_date BETWEEN AssignmentDPEO.effective_start_date AND AssignmentDPEO.effective_end_date
    )    AS AssignmentName,
    NULL AS ElementTypeName,
    (SELECT rtrim(sys.STRAGG(PersonNameDPEO.DISPLAY_NAME|| ' |'), ' |')
    FROM PER_PERSON_NAMES_F_V PersonNameDPEO,
      PAY_PAY_RELATIONSHIPS_DN PayrollRelationshipPEO
    WHERE PersonNameDPEO.person_id                     =PayrollRelationshipPEO.person_id
    AND PayrollRelationshipPEO.PAYROLL_RELATIONSHIP_ID = alloc.payroll_relationship_id
    AND alloc.effective_start_date between PersonNameDPEO.effective_start_date and PersonNameDPEO.effective_end_date
    )    AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'ASG'
  UNION ALL
  SELECT
    (SELECT DISTINCT NAME
    FROM per_legislative_data_groups_vl
    WHERE legislative_data_group_id = alloc.legislative_data_group_id
    ) AS LdgName,
    alloc.last_update_date,
    alloc.last_updated_by,
    NULL AS JobName,
    NULL AS CostableType,
    NULL AS LivValue,
    NULL AS CostCleardPayment,
    NULL AS CostManulPayment,
    NULL AS CostedFlag,
    NULL AS TransferToGlFlag,
    NULL AS DistributionSetName,
    account.SOURCE_SUB_TYPE,
    account.id_flex_num AS id_flex_num,
    alloc.source_id,
    alloc.cost_allocation_record_id,
    NULL AS TermName,
    (SELECT rtrim(sys.STRAGG(AssignmentDPEO.ASSIGNMENT_NAME|| ' |'), ' |')
    FROM PAY_REL_GROUPS_DN PayrollAssignmentPEO,
      PER_ALL_ASSIGNMENTS_M AssignmentDPEO
    WHERE PayrollAssignmentPEO.relationship_group_id = alloc.CREATOR_ID
    AND PayrollAssignmentPEO.group_type              = 'A'
    AND PayrollAssignmentPEO.assignment_id           = AssignmentDPEO.assignment_id
    AND AssignmentDPEO.effective_latest_change       = 'Y'
    AND PayrollAssignmentPEO.group_type              = 'A'
    AND alloc.effective_start_date BETWEEN AssignmentDPEO.effective_start_date AND AssignmentDPEO.effective_end_date
    ) AS AssignmentName,
    (SELECT rtrim(sys.STRAGG(ElementTypeDPEO.ELEMENT_NAME|| ' |'), ' |')
    FROM PAY_ELEMENT_TYPES_VL ElementTypeDPEO,
      PAY_ELE_CLASSIFICATIONS_VL ElementClassificationPEO
    WHERE ElementTypeDPEO.classification_id=ElementClassificationPEO.classification_id
    AND ElementTypeDPEO.ELEMENT_TYPE_ID    = alloc.source_id
    AND alloc.effective_start_date between ElementTypeDPEO.effective_start_date and ElementTypeDPEO.effective_end_date
    ) AS ElementTypeName,
    (SELECT rtrim(sys.STRAGG(PersonNameDPEO.DISPLAY_NAME|| ' |'), ' |')
    FROM PER_PERSON_NAMES_F_V PersonNameDPEO,
      PAY_PAY_RELATIONSHIPS_DN PayrollRelationshipPEO
    WHERE PersonNameDPEO.person_id                     =PayrollRelationshipPEO.person_id
    AND PayrollRelationshipPEO.PAYROLL_RELATIONSHIP_ID = alloc.payroll_relationship_id
    AND alloc.effective_start_date between PersonNameDPEO.effective_start_date and PersonNameDPEO.effective_end_date
    )    AS personName,
    NULL AS payrollName,
    NULL AS JobCode,
    NULL AS SetCode,
    NULL AS DepartmentName,
    NULL AS PaymentSource,
    NULL AS PositionName,
    NULL AS ElementLinkName,
    alloc.source_type,
    CASE source_type
      WHEN 'EL'
      THEN 'Element Eligibility'
      WHEN 'ORG'
      THEN 'Department'
      WHEN 'POS'
      THEN 'Position'
      WHEN 'PM'
      THEN 'Payment Source'
      WHEN 'JOB'
      THEN 'Job'
      WHEN 'PAY'
      THEN 'Payroll'
      WHEN 'PREL'
      THEN 'Payroll Relationship'
      WHEN 'PRET'
      THEN 'Payroll Relationship Element'
      WHEN 'TERM'
      THEN 'Terms'
      WHEN 'TET'
      THEN 'Term Element'
      WHEN 'ASG'
      THEN 'Assigment'
      WHEN 'AET'
      THEN 'Assignment Element'
      ELSE 'Element Entry'
    END AS Source_Type_Name,
    alloc.effective_start_date,
    alloc.effective_end_date,
    alloc.legislative_data_group_id,
    alloc.CREATOR_ID
  FROM PAY_COST_ALLOCATIONS_F alloc,
    PAY_COST_ALLOC_ACCOUNTS account
  WHERE alloc.cost_allocation_record_id = account.cost_allocation_record_id
  AND source_type                       = 'AET'
  )
WHERE (legislative_data_group_id =:LegislativeDataGroupId)
AND (NVL(:EffectiveDate,effective_start_date) BETWEEN effective_start_date AND effective_end_date)
AND (source_type          = NVL(:SourceType,source_type))
AND (source_id            = NVL(:Source,source_id))
AND (NVL(CREATOR_ID,-999) = NVL(:Creator,NVL(CREATOR_ID,-999)))








Roles report:








------------------------------Employees-----------------------------------------------
select username
      ,role_name
  ,nvl(employee_name,employee_name_contract) employee_name
  ,user_status
  ,employee_status
from
(select a.username
      ,a.role_name
  ,b.employee_name
  ,nvl(b.user_status,a.user_status) user_status
  ,b.employee_status
  ,(select perv.full_name
         from per_person_names_f_v perv
where perv.person_id = a.person_id
AND SYSDATE BETWEEN perv.effective_start_date
                         AND  perv.effective_end_date) employee_name_contract
from
(select pu.username
     , prdt.role_name
, prd.role_common_name
, pur.active_flag
,pu.person_id
,CASE
       WHEN PU.SUSPENDED = 'N'
       THEN 'Active'
   ELSE 'InActive'
       END                              user_status
from per_users pu
   , per_user_roles pur
   , per_roles_dn prd
   , per_roles_dn_tl prdt
where pu.user_id = pur.user_id
and pur.role_id = prd.role_id
and prd.role_id = prdt.role_id
and prdt.language = 'US'
and pur.role_guid = prd.role_guid
--and prdt.role_name like '%  Inc.%'
group by pu.username, pur.active_flag, prd.role_common_name, prdt.role_name, pu.person_id,PU.SUSPENDED
) a,
(SELECT T.username
      ,T.user_status
      ,T.employee_display_name
      ,T.Employee_first_name
      ,T.Employee_name
      ,T.Job_name
      ,T.job_level
      ,T.EMPLOYEE_STATUS
  ,T.SHEET_NAME
FROM
(SELECT
 PU.USERNAME                     
,CASE
    WHEN PU.SUSPENDED = 'N'
    THEN 'Active'
ELSE 'InActive'
 END                              user_status
,Names.DISPLAY_NAME               employee_display_name
,Names.FIRST_NAME                 Employee_first_name
,Names.FULL_NAME                  Employee_name
,Job.NAME                         Job_name
,(SELECT pjf.approval_authority
    FROM per_jobs_f pjf
   WHERE pjf.job_id = JOB.JOB_ID
     AND sysdate between effective_start_date and effective_end_date) job_level
,CASE
    WHEN NVL(PPOS.ACTUAL_TERMINATION_DATE,sysdate) >= sysdate
    THEN 'Active'
    ELSE 'Terminated'
 END                              EMPLOYEE_STATUS
, 'Terminated Employees'          SHEET_NAME
FROM
 FUSION.PER_USERS                 PU
,FUSION.PER_ALL_PEOPLE_F          PPF
,FUSION.PER_PERSON_NAMES_F_V      Names
,FUSION.PER_ALL_ASSIGNMENTS_M     PAAM
,FUSION.PER_PERIODS_OF_SERVICE    PPOS
,FUSION.PER_JOBS_F_TL             JOB
WHERE 1=1
AND PU.PERSON_ID                  = PPF.PERSON_ID
AND PPF.PERSON_ID                 = Names.PERSON_ID
AND PPF.PERSON_ID                 = PAAM.PERSON_ID
AND PAAM.PERIOD_OF_SERVICE_ID     = PPOS.PERIOD_OF_SERVICE_ID(+)
AND PAAM.PERSON_ID                = PPOS.PERSON_ID(+)
AND PAAM.JOB_ID                   = Job.JOB_ID
AND Job.LANGUAGE                  = 'US'
AND sysdate BETWEEN PPF.EFFECTIVE_START_DATE AND PPF.EFFECTIVE_END_DATE
AND sysdate BETWEEN PAAM.EFFECTIVE_START_DATE AND PAAM.EFFECTIVE_END_DATE
AND sysdate BETWEEN Names.EFFECTIVE_START_DATE AND Names.EFFECTIVE_END_DATE
AND sysdate BETWEEN Job.EFFECTIVE_START_DATE AND Job.EFFECTIVE_END_DATE
AND PAAM.PRIMARY_FLAG             ='Y') T
WHERE 1=1
--  AND T.EMPLOYEE_STATUS != 'Terminated'
--  AND T.user_status = 'Active'
group by
T.username
      ,T.user_status
      ,T.employee_display_name
      ,T.Employee_first_name
      ,T.Employee_name
      ,T.Job_name
      ,T.job_level
      ,T.EMPLOYEE_STATUS
  ,T.SHEET_NAME
order by 1,4) b
where 1 = 1
and a.username = b.username(+)
AND NVL(b.EMPLOYEE_STATUS,'Test') != 'Terminated'
AND b.user_status = 'Active'
--and a.username in('502195','502196','502197','502198','502199')
)
where 1= 1
----------------------------Contract Employees-----------------------------------------------
union all
select username
      ,role_name
  ,nvl(employee_name,employee_name_contract) employee_name
  ,user_status
  ,employee_status
from
(select a.username
      ,a.role_name
  ,b.employee_name
  ,nvl(b.user_status,a.user_status) user_status
  ,b.employee_status
  ,(select perv.full_name
         from per_person_names_f_v perv
where perv.person_id = a.person_id
AND SYSDATE BETWEEN perv.effective_start_date
                         AND  perv.effective_end_date) employee_name_contract
from
(select pu.username
     , prdt.role_name
, prd.role_common_name
, pur.active_flag
,pu.person_id
,CASE
       WHEN PU.SUSPENDED = 'N'
       THEN 'Active'
   ELSE 'InActive'
       END                              user_status
from per_users pu
   , per_user_roles pur
   , per_roles_dn prd
   , per_roles_dn_tl prdt
where pu.user_id = pur.user_id
and pur.role_id = prd.role_id
and prd.role_id = prdt.role_id
and prdt.language = 'US'
and pur.role_guid = prd.role_guid
--and prdt.role_name like '%  Inc.%'
group by pu.username, pur.active_flag, prd.role_common_name, prdt.role_name, pu.person_id,PU.SUSPENDED
) a,
(SELECT T.username
      ,T.user_status
      ,T.employee_display_name
      ,T.Employee_first_name
      ,T.Employee_name
      ,T.Job_name
      ,T.job_level
      ,T.EMPLOYEE_STATUS
  ,T.SHEET_NAME
FROM
(SELECT
 PU.USERNAME                     
,CASE
    WHEN PU.SUSPENDED = 'N'
    THEN 'Active'
ELSE 'InActive'
 END                              user_status
,Names.DISPLAY_NAME               employee_display_name
,Names.FIRST_NAME                 Employee_first_name
,Names.FULL_NAME                  Employee_name
,null                             Job_name
,null                             job_level
,CASE
    WHEN NVL(PPOS.ACTUAL_TERMINATION_DATE,sysdate) >= sysdate
    THEN 'Active'
    ELSE 'Terminated'
 END                              EMPLOYEE_STATUS
, 'Terminated Employees'          SHEET_NAME
FROM
 FUSION.PER_USERS                 PU
,FUSION.PER_ALL_PEOPLE_F          PPF
,FUSION.PER_PERSON_NAMES_F_V      Names
,FUSION.PER_ALL_ASSIGNMENTS_M     PAAM
,FUSION.PER_PERIODS_OF_SERVICE    PPOS
--,FUSION.PER_JOBS_F_TL             JOB
WHERE 1=1
AND PU.PERSON_ID                  = PPF.PERSON_ID
AND PPF.PERSON_ID                 = Names.PERSON_ID
AND PPF.PERSON_ID                 = PAAM.PERSON_ID
AND PAAM.PERIOD_OF_SERVICE_ID     = PPOS.PERIOD_OF_SERVICE_ID(+)
AND PAAM.PERSON_ID                = PPOS.PERSON_ID(+)
--AND PAAM.JOB_ID                   = Job.JOB_ID
--AND Job.LANGUAGE                  = 'US'
AND sysdate BETWEEN PPF.EFFECTIVE_START_DATE AND PPF.EFFECTIVE_END_DATE
AND sysdate BETWEEN PAAM.EFFECTIVE_START_DATE AND PAAM.EFFECTIVE_END_DATE
AND sysdate BETWEEN Names.EFFECTIVE_START_DATE AND Names.EFFECTIVE_END_DATE
--AND sysdate BETWEEN Job.EFFECTIVE_START_DATE AND Job.EFFECTIVE_END_DATE
AND PAAM.PRIMARY_FLAG             ='Y'
AND not exists (select 1 from PER_JOBS_F_TL where JOB_ID = PAAM.JOB_ID) ) T
WHERE 1=1
  AND T.EMPLOYEE_STATUS != 'Terminated'
  AND T.user_status = 'Active'
--AND t.username in('502195','502196','502197','502198','502199')
group by
T.username
      ,T.user_status
      ,T.employee_display_name
      ,T.Employee_first_name
      ,T.Employee_name
      ,T.Job_name
      ,T.job_level
      ,T.EMPLOYEE_STATUS
  ,T.SHEET_NAME
order by 1,4) b
where 1=1
and a.username = b.username)
where 1=1
UNION ALL
----------------------------Only Users-----------------------------------------------
select pu.username                username
     , prdt.role_name             role_name
, substr(substr(pu.USER_DISTINGUISHED_NAME,1,instr(pu.USER_DISTINGUISHED_NAME,',')-1),4,1000)  employee_name
,CASE
       WHEN PU.SUSPENDED = 'N'
       THEN 'Active'
   ELSE 'InActive'
       END                        user_status
, NULL                       employee_status
from per_users pu
   , per_user_roles pur
   , per_roles_dn prd
   , per_roles_dn_tl prdt
where pu.user_id = pur.user_id
and pur.role_id = prd.role_id
and prd.role_id = prdt.role_id
and prdt.language = 'US'
and pur.role_guid = prd.role_guid
--and prdt.role_name like '%  Inc.%'
and PU.SUSPENDED = 'N'
and not exists (select 1 from PER_ALL_PEOPLE_F where person_id = pu.person_id)
--and pu.username = '502195'
group by pu.username, pur.active_flag, prd.role_common_name, prdt.role_name, pu.person_id,PU.SUSPENDED,pu.USER_DISTINGUISHED_NAME
order by 1,2



----

Time report
select distinct BU,
"Department Name" as Department,
          DEPT,
"Employee Last Name" as Last_Name,
"Employee First Name" as First_Name,
"Person Number" as Person_Number,
"Manager Name" as Manager,
         "Manager Person Number" as Manager_Number,
"Code" as Earnings_Code,
         "Time Card Status Name" as Status,
"Time Card Stop Time" as Pay_Period_End,
         "Time Card Creation Date",
         "Time Card Last Update Date",
         "Time Card Created By",
         "Time Card Last Updated By" ,
SUM("Processed Hours") as Hours
FROM
(
select "Business Unit"."Business Unit Name" as BU,
 substring("Department"."Department Name" FROM LOCATE('__', "Department"."Department Name")+2 for LOCATE('0-', "Department"."Department Name")-LOCATE('__', "Department"."Department Name")-1)  as "Department Name",
        substring("Department"."Department Name" FROM LOCATE('__', "Department"."Department Name")+2) as DEPT,
         "Worker"."Employee Last Name" as "Employee Last Name",
"Worker"."Employee First Name" as "Employee First Name",
"Worker"."Person Number" as "Person Number",
"Worker"."Manager Name" as "Manager Name",
"Worker"."Manager Person Number" as "Manager Person Number",
"Processed Time Cards"."Processed Hours" as "Processed Hours",
"Processed Time Entry Details"."Time Entry Start Time" as "Time Entry Start Time",
"Processed Time Entry Details"."Time Entry Stop Time" as "Time Entry Stop Time",
"Processed Time Entry Details"."Payroll Time Type Name" ||  "Absence Type"."Absence Type Name"  as "Payroll Time Type Name",
CASE "Processed Time Entry Details"."Payroll Time Type Name" ||  "Absence Type"."Absence Type Name"
when 'Regular US Hourly' then 'REG'
when 'Bereavement-US' THEN 'BRVMT'
when 'Jury Duty-US' THEN 'JURY'
when 'Regular US HourlyJury Duty-US' THEN 'JURY'
when ' _US_Holiday_Pay' THEN 'HOL'
when ' _US_Holiday_Shift_Differential' THEN 'HOLSD'
when ' _US_Holiday_Worked' THEN 'HOLSS'
when ' _US_Overtime' THEN 'OT'
when ' _US_Doubletime' THEN 'DT'
when ' _US_Perf_Diff_1' THEN 'PDIFF1'
when ' _US_Perf_Diff_125' THEN 'PDIFF125'
when ' _US_Perf_Diff_2' THEN 'PDIFF2'
when ' _US_Perf_Diff_225' THEN 'PDIFF225'
when ' _US_Perf_Diff_3' THEN 'PDIFF3'
when ' _US_Shift_Differential' THEN 'SHDIF'
when ' _US_Break' THEN 'BREAK'
when 'Hourly PTO' THEN 'PTO'
ELSE "Processed Time Entry Details"."Payroll Time Type Name" ||  "Absence Type"."Absence Type Name"
END as "Code",
         "Time Card Status"."Time Card Status Name" as "Time Card Status Name",
"Processed Time Card Details"."Time Card Start Time" as "Time Card Start Time",
"Processed Time Card Details"."Time Card Stop Time" as "Time Card Stop Time",
         "Processed Time Card Details"."Time Card Creation Date",
         "Processed Time Card Details"."Time Card Last Update Date",
         "Processed Time Card Details"."Time Card Created By",
         "Processed Time Card Details"."Time Card Last Updated By"
from "Workforce Management - Processed Time Cards Real Time"."Worker" "Worker",
"Workforce Management - Processed Time Cards Real Time"."Time Card Status" "Time Card Status",
         "Workforce Management - Processed Time Cards Real Time"."Absence Type" "Absence Type",
"Workforce Management - Processed Time Cards Real Time"."Processed Time Card Details" "Processed Time Card Details",
"Workforce Management - Processed Time Cards Real Time"."Processed Time Entry Details" "Processed Time Entry Details",
"Workforce Management - Processed Time Cards Real Time"."Processed Time Cards" "Processed Time Cards",
"Workforce Management - Processed Time Cards Real Time"."Department" "Department",
"Workforce Management - Processed Time Cards Real Time"."Business Unit" "Business Unit"

 WHERE
   "Processed Time Entry Details"."Time Entry Start Time" is not null
   and  "Time Card Status"."Time Card Status Name" not in ('In error','Incomplete')
   and   "Processed Time Card Details"."Time Card Start Time" >= TIMESTAMPADD(SQL_TSI_DAY,-13,:Pay_Period_Date)
  and "Processed Time Card Details"."Time Card Stop Time" <= TIMESTAMPADD(SQL_TSI_DAY,1,:Pay_Period_Date)
 and        "Processed Time Card Details"."Time Card Created By" <>  "Processed Time Card Details"."Time Card Last Updated By"
) D
GROUP BY  BU, "Department Name" ,DEPT, "Employee Last Name", "Employee First Name", "Person Number", "Manager Name" ,"Manager Person Number" ,"Code","Time Card Status Name", "Time Card Stop Time",     "Time Card Creation Date",
         "Time Card Last Update Date",
         "Time Card Created By",
         "Time Card Last Updated By"

----

Time report


select b.BUSINESS_UNIT
,b.DEPARTMENT
,b.LAST_NAME
,b.FIRST_NAME
,b.PERSON_NUMBER
,b.MANAGER_ID
,b.MANAGER_NAME
,b.MANAGER_EMAIL
,b.STATUS
,b.code
,TO_CHAR(b.PAY_PERIOD_END_DATE,'MM/DD/YYYY') PAY_PERIOD_END_DATE
,sum(b.HOURS) HOURS
from
(
select SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,(INSTR(OrganizationUnitPEO.NAME,'0-')-INSTR(OrganizationUnitPEO.NAME,'__')-1)) BUSINESS_UNIT
,SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,LENGTH(OrganizationUnitPEO.NAME)) DEPARTMENT
,pname.LAST_NAME LAST_NAME
,pname.FIRST_NAME FIRST_NAME
,pp.PERSON_NUMBER PERSON_NUMBER
,htr.start_time ENTRY_START
,htr.stop_time  ENTRY_STOP
,(CASE when hratrbs.ATTRIBUTE_CATEGORY =  'Regular US Hourly' then 'REG'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Bereavement-US' THEN 'BRVMT'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Jury Duty-US' THEN 'JURY'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Pay' THEN 'HOL'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Shift_Differential' THEN 'HOLSD'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Worked' THEN 'HOLSS'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Overtime' THEN 'OT'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Doubletime' THEN 'DT'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_1' THEN 'PDIFF1'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_125' THEN 'PDIFF125'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_2' THEN 'PDIFF2'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_225' THEN 'PDIFF225'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_3' THEN 'PDIFF3'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Shift_Differential' THEN 'SHDIF'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Break' THEN 'BREAK'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Hourly PTO' THEN 'PTO'
ELSE  hratrbs.ATTRIBUTE_CATEGORY
END
) CODE
,htr.measure HOURS
,htr.date_from  TIME_CARD_START
,htr.date_to  TIME_CARD_STOP
,htr.CREATION_DATE CREATION_DATE
,htr.LAST_UPDATE_DATE LAST_UPDATE_DATE
,time_period.end_date PAY_PERIOD_END_DATE
,time_period.start_date PAY_PERIOD_START_DATE
,super.MANAGER_ID MANAGER_ID
,super.MANAGER_NAME MANAGER_NAME
,super.MANAGER_EMAIL MANAGER_EMAIL
,stat.STATUS_VALUE STATUS
from per_all_people_f pp
,(select sup.assignment_id
,sup_pp.person_number MANAGER_ID
,sup_pname.FULL_NAME MANAGER_NAME
,sup_email.EMAIL_ADDRESS MANAGER_EMAIL
from PER_EMAIL_ADDRESSES sup_email
,PER_ASSIGNMENT_SUPERVISORS_F sup
,PER_ALL_PEOPLE_F sup_pp
,PER_PERSON_NAMES_F_V sup_pname
where 1=1
and :p_eff_date between sup.effective_start_date and sup.effective_end_date
and sup.manager_id = sup_pp.person_id
and :p_eff_date between sup_pp.effective_start_date and sup_pp.effective_end_date
and sup.manager_id = sup_pname.person_id
and :p_eff_date between sup_pname.effective_start_date and sup_pname.effective_end_date
and sup_pp.PRIMARY_EMAIL_ID = sup_email.EMAIL_ADDRESS_ID
and sup.PRIMARY_FLAG = 'Y') super
,HWM_TM_STATUSES STAT
,HWM_TM_STATUS_DEFINITIONS_VL DEF
,HCM_LOOKUPS LOOKUP
,PER_ALL_ASSIGNMENTS_M paa
,PER_PERSON_NAMES_F_V pname
,HWM_TM_REC htr
,HWM_GRP_TYPE hgt
,HWM_TM_REC_GRP_USAGES htrgusage
,HWM_TM_REC_GRP htrgrp
,HWM_TM_REC_GRP htrgrp2
,HWM_TM_REP_ATRB_USAGES htatrbusage
,HWM_TM_REP_ATRBS hratrbs
,HR_ALL_ORGANIZATION_UNITS_VL OrganizationUnitPEO
,HR_ALL_ORGANIZATION_UNITS_VL BusinessUnitsPEO
,(select hrtr.START_DATE, hrtr.END_DATE
from HWM_RP_TM_RESOLVED hrtr
,HWM_RP_TM_PERIODS_B hrtpb
where 1=1
and PERIOD_CD = '  BIWEEKLY STARTS MONDAY'
and hrtr.REPEATING_TM_PERIOD_ID = hrtpb.REPEATING_TM_PERIOD_ID) time_period
where 1=1
and hratrbs.ATTRIBUTE_CATEGORY IN ( 'Regular US Hourly'
, 'Bereavement-US'
, 'Jury Duty-US'
, ' _US_Holiday_Pay'
, ' _US_Holiday_Shift_Differential'
, ' _US_Holiday_Worked'
, ' _US_Overtime'
, ' _US_Doubletime'
, ' _US_Perf_Diff_1'
, ' _US_Perf_Diff_125'
, ' _US_Perf_Diff_2'
, ' _US_Perf_Diff_225'
, ' _US_Perf_Diff_3'
, ' _US_Shift_Differential'
, ' _US_Break'
, 'Hourly PTO')
and htr.TM_REC_ID = htrgusage.TM_REC_ID
and htr.TM_REC_VERSION = htrgusage.TM_REC_VERSION
and htrgusage.TM_REC_GRP_ID = htrgrp.TM_REC_GRP_ID
and htrgusage.TM_REC_GRP_VERSION = htrgrp.TM_REC_GRP_VERSION
and htrgrp.ORIG_TM_REC_GRP_ID = htrgrp2.TM_REC_GRP_ID
and htrgrp.ORIG_TM_REC_GRP_VERSION = htrgrp2.TM_REC_GRP_VERSION
and htrgrp2.PARENT_TM_REC_GRP_ID = stat.TM_BLDG_BLK_ID
and htrgrp2.PARENT_TM_REC_GRP_VERSION = stat.TM_BLDG_BLK_VERSION
AND STAT.TM_STATUS_DEF_ID =DEF.TM_STATUS_DEF_ID
AND DEF.DEFINITIONCODE = 'D_TM_UI_STATUS'
AND LOOKUP.LOOKUP_CODE = STAT.STATUS_VALUE
AND Lookup.LOOKUP_TYPE = DEF.ALLOWABLE_VALUES
AND SYSDATE BETWEEN STAT.DATE_FROM AND STAT.DATE_TO
and stat.STATUS_VALUE = NVL(:p_status,stat.STATUS_VALUE)
and htr.subresource_id = paa.assignment_id
and paa.assignment_id = super.assignment_id(+)
and pp.person_id = paa.person_id
and pp.person_id = pname.person_id
and htr.GRP_TYPE_ID = hgt.GRP_TYPE_ID
and hgt.NAME = 'Processed TimecardEntry'
and hratrbs.ATTRIBUTE_CATEGORY !=  ' _US_Break'
and hratrbs.ATTRIBUTE_CATEGORY != 'TimeEvent'
and hratrbs.ATTRIBUTE_CATEGORY != 'TcdSupplier'
and htr.measure > 0
and htr.TM_REC_ID = htatrbusage.USAGES_SOURCE_ID
and htr.TM_REC_VERSION = htatrbusage.USAGES_SOURCE_VERSION
and htatrbusage.TM_REP_ATRB_ID = hratrbs.TM_REP_ATRB_ID
and hratrbs.ATTRIBUTE_CATEGORY != 'Security Attributes'
and TRUNC(htr.START_TIME) BETWEEN pname.EFFECTIVE_START_DATE and pname.EFFECTIVE_END_DATE
and TRUNC(htr.START_TIME) BETWEEN pp.EFFECTIVE_START_DATE and pp.EFFECTIVE_END_DATE
and TRUNC(htr.START_TIME) BETWEEN paa.EFFECTIVE_START_DATE and paa.EFFECTIVE_END_DATE
and OrganizationUnitPEO.ORGANIZATION_ID = paa.ORGANIZATION_ID
and BusinessUnitsPEO.ORGANIZATION_ID = paa.BUSINESS_UNIT_ID
and TRUNC(htr.START_TIME) between (:p_eff_date - 13) and (:p_eff_date)
and htr.DELETE_FLAG is null
--and htr.START_TIME >= (:p_eff_date - 13)
--and NVL(TRUNC(htr.STOP_TIME),:p_eff_date) <= (:p_eff_date + 1)
and TRUNC(htr.START_TIME) between time_period.start_date and time_period.end_date
and htr.LATEST_VERSION = 'Y'
UNION
(
select SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,(INSTR(OrganizationUnitPEO.NAME,'0-')-INSTR(OrganizationUnitPEO.NAME,'__')-1)) BUSINESS_UNIT
,SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,LENGTH(OrganizationUnitPEO.NAME)) DEPARTMENT
,pname.LAST_NAME LAST_NAME
,pname.FIRST_NAME FIRST_NAME
,pp.PERSON_NUMBER PERSON_NUMBER
,htr.start_time ENTRY_START
,htr.stop_time  ENTRY_STOP
,(CASE when abstype.NAME =  'Regular US Hourly' then 'REG'
when  abstype.NAME =  'Bereavement-US' THEN 'BRVMT'
when  abstype.NAME =  'Jury Duty-US' THEN 'JURY'
when  abstype.NAME =  ' _US_Holiday_Pay' THEN 'HOL'
when  abstype.NAME =  ' _US_Holiday_Shift_Differential' THEN 'HOLSD'
when  abstype.NAME =  ' _US_Holiday_Worked' THEN 'HOLSS'
when  abstype.NAME =  ' _US_Overtime' THEN 'OT'
when  abstype.NAME =  ' _US_Doubletime' THEN 'DT'
when  abstype.NAME =  ' _US_Perf_Diff_1' THEN 'PDIFF1'
when  abstype.NAME =  ' _US_Perf_Diff_125' THEN 'PDIFF125'
when  abstype.NAME =  ' _US_Perf_Diff_2' THEN 'PDIFF2'
when  abstype.NAME =  ' _US_Perf_Diff_225' THEN 'PDIFF225'
when  abstype.NAME =  ' _US_Perf_Diff_3' THEN 'PDIFF3'
when  abstype.NAME =  ' _US_Shift_Differential' THEN 'SHDIF'
when  abstype.NAME =  ' _US_Break' THEN 'BREAK'
when  abstype.NAME =  'Hourly PTO' THEN 'PTO'
ELSE  abstype.NAME
END
) CODE
,htr.measure HOURS
,htr.date_from  TIME_CARD_START
,htr.date_to  TIME_CARD_STOP
,htr.CREATION_DATE CREATION_DATE
,htr.LAST_UPDATE_DATE LAST_UPDATE_DATE
,time_period.end_date PAY_PERIOD_END_DATE
,time_period.start_date PAY_PERIOD_START_DATE
,sup_pp.person_number MANAGER_ID
,sup_pname.FULL_NAME MANAGER_NAME
,sup_email.EMAIL_ADDRESS MANAGER_EMAIL
,stat.STATUS_VALUE STATUS
from per_all_people_f pp
,HWM_TM_STATUSES STAT
,HWM_TM_STATUS_DEFINITIONS_VL DEF
,HCM_LOOKUPS LOOKUP
,PER_EMAIL_ADDRESSES sup_email
,HWM_TM_ABS_ENTRY_V absv
,PER_ASSIGNMENT_SUPERVISORS_F sup
,PER_ALL_PEOPLE_F sup_pp
,PER_PERSON_NAMES_F_V sup_pname
,PER_ALL_ASSIGNMENTS_M paa
,PER_PERSON_NAMES_F_V pname
,HWM_TM_REC htr
,HWM_GRP_TYPE hgt
,HWM_TM_REP_ATRB_USAGES htatrbusage
,HWM_TM_REP_ATRBS hratrbs
,HR_ALL_ORGANIZATION_UNITS_VL OrganizationUnitPEO
,HR_ALL_ORGANIZATION_UNITS_VL BusinessUnitsPEO
,ANC_ABSENCE_TYPES_VL abstype
,(select hrtr.START_DATE, hrtr.END_DATE
from HWM_RP_TM_RESOLVED hrtr
,HWM_RP_TM_PERIODS_B hrtpb
where 1=1
and PERIOD_CD = '  BIWEEKLY STARTS MONDAY'
and hrtr.REPEATING_TM_PERIOD_ID = hrtpb.REPEATING_TM_PERIOD_ID) time_period
where 1=1
and htr.TM_REC_ID = absv.TIME_ENTRY_TM_REC_ID
and htr.TM_REC_VERSION = absv.TIME_ENTRY_TM_REC_VERSION
and absv.TIME_ENTRY_LATEST_VERSION = 'Y'
and absv.TIME_ENTRY_DELETE_FLAG is null
and absv.TIME_CARD_DELETE_FLAG is null
and absv.TIME_CARD_LATEST_VERSION = 'Y'
and htr.subresource_id = paa.assignment_id
and pp.person_id = paa.person_id
and pp.person_id = pname.person_id
and paa.assignment_id = sup.assignment_id
and :p_eff_date between sup.effective_start_date and sup.effective_end_date
and sup.manager_id = sup_pp.person_id
and :p_eff_date between sup_pp.effective_start_date and sup_pp.effective_end_date
and sup.manager_id = sup_pname.person_id
and :p_eff_date between sup_pname.effective_start_date and
sup_pname.effective_end_date
and sup_pp.PRIMARY_EMAIL_ID = sup_email.EMAIL_ADDRESS_ID
and absv.TIME_CARD_TM_REC_GRP_ID = stat.TM_BLDG_BLK_ID
and absv.TIME_CARD_TM_REC_GRP_VERSION = stat.TM_BLDG_BLK_VERSION
AND STAT.TM_STATUS_DEF_ID =DEF.TM_STATUS_DEF_ID
AND DEF.DEFINITIONCODE = 'D_TM_UI_STATUS'
AND LOOKUP.LOOKUP_CODE = STAT.STATUS_VALUE
AND Lookup.LOOKUP_TYPE = DEF.ALLOWABLE_VALUES
AND SYSDATE BETWEEN STAT.DATE_FROM AND STAT.DATE_TO
and stat.STATUS_VALUE = NVL(:p_status,stat.STATUS_VALUE)
and htr.resource_id = pp.person_id
and htr.GRP_TYPE_ID = hgt.GRP_TYPE_ID
and hratrbs.ATTRIBUTE_CATEGORY = abstype.absence_type_id
and hgt.NAME = 'Absences Entry Details'
--and htr.TM_REC_TYPE = 'RANGE','MEASURE'
and hratrbs.ATTRIBUTE_CATEGORY != 'TcdSupplier'
and htr.measure > 0
and htr.TM_REC_ID = htatrbusage.USAGES_SOURCE_ID
and htr.TM_REC_VERSION = htatrbusage.USAGES_SOURCE_VERSION
and htatrbusage.TM_REP_ATRB_ID = hratrbs.TM_REP_ATRB_ID
and hratrbs.ATTRIBUTE_CATEGORY != 'Security Attributes'
and TRUNC(htr.START_TIME) BETWEEN pname.EFFECTIVE_START_DATE and pname.EFFECTIVE_END_DATE
and TRUNC(htr.START_TIME) BETWEEN pp.EFFECTIVE_START_DATE and pp.EFFECTIVE_END_DATE
and TRUNC(htr.START_TIME) BETWEEN paa.EFFECTIVE_START_DATE and paa.EFFECTIVE_END_DATE
and OrganizationUnitPEO.ORGANIZATION_ID = paa.ORGANIZATION_ID
and BusinessUnitsPEO.ORGANIZATION_ID = paa.BUSINESS_UNIT_ID
and TRUNC(htr.START_TIME) between (:p_eff_date - 13) and (:p_eff_date)
and htr.DELETE_FLAG is null
--and htr.START_TIME >= (:p_eff_date - 13)
--and NVL(htr.STOP_TIME,:p_eff_date) <= (:p_eff_date + 1)
and htr.START_TIME between time_period.start_date and time_period.end_date
and htr.LATEST_VERSION = 'Y'
and sup.PRIMARY_FLAG = 'Y'
)
) b
where b.code != 'BREAK'
and TO_CHAR(b.PAY_PERIOD_END_DATE,'MM/DD/YYYY') = TO_CHAR(:p_eff_date,'MM/DD/YYYY')
--and b.person_number = '992284'
group by b.BUSINESS_UNIT
,b.DEPARTMENT
,b.LAST_NAME
,b.FIRST_NAME
,b.PERSON_NUMBER
,b.code
,b.PAY_PERIOD_END_DATE
,b.MANAGER_ID
,b.MANAGER_NAME
,b.MANAGER_EMAIL
,b.STATUS
order by b.person_number,b.PAY_PERIOD_END_DATE







--STOP

/*select b.BUSINESS_UNIT
,b.DEPARTMENT
,b.LAST_NAME
,b.FIRST_NAME
,b.PERSON_NUMBER
,b.MANAGER_ID
,b.MANAGER_NAME
,b.MANAGER_EMAIL
,b.STATUS
,b.code
,TO_CHAR(b.PAY_PERIOD_END_DATE,'MM/DD/YYYY') PAY_PERIOD_END_DATE
,sum(b.HOURS) HOURS
from
(
select SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,(INSTR(OrganizationUnitPEO.NAME,'0-')-INSTR(OrganizationUnitPEO.NAME,'__')-1)) BUSINESS_UNIT
,SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,LENGTH(OrganizationUnitPEO.NAME)) DEPARTMENT
,pname.LAST_NAME LAST_NAME
,pname.FIRST_NAME FIRST_NAME
,pp.PERSON_NUMBER PERSON_NUMBER
,htr.start_time ENTRY_START
,htr.stop_time  ENTRY_STOP
,(CASE when hratrbs.ATTRIBUTE_CATEGORY =  'Regular US Hourly' then 'REG'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Bereavement-US' THEN 'BRVMT'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Jury Duty-US' THEN 'JURY'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Pay' THEN 'HOL'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Shift_Differential' THEN 'HOLSD'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Worked' THEN 'HOLSS'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Overtime' THEN 'OT'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Doubletime' THEN 'DT'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_1' THEN 'PDIFF1'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_125' THEN 'PDIFF125'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_2' THEN 'PDIFF2'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_225' THEN 'PDIFF225'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_3' THEN 'PDIFF3'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Shift_Differential' THEN 'SHDIF'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Break' THEN 'BREAK'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Hourly PTO' THEN 'PTO'
ELSE  hratrbs.ATTRIBUTE_CATEGORY
END
) CODE
,htr.measure HOURS
,htr.date_from  TIME_CARD_START
,htr.date_to  TIME_CARD_STOP
,htr.CREATION_DATE CREATION_DATE
,htr.LAST_UPDATE_DATE LAST_UPDATE_DATE
,time_period.end_date PAY_PERIOD_END_DATE
,time_period.start_date PAY_PERIOD_START_DATE
,sup_pp.person_number MANAGER_ID
,sup_pname.FULL_NAME MANAGER_NAME
,sup_email.EMAIL_ADDRESS MANAGER_EMAIL
,stat.STATUS_VALUE STATUS
from per_all_people_f pp
,PER_EMAIL_ADDRESSES sup_email
,PER_ASSIGNMENT_SUPERVISORS_F sup
,PER_ALL_PEOPLE_F sup_pp
,PER_PERSON_NAMES_F_V sup_pname
,(
select rgu.TM_REC_ID, rgu.TM_REC_VERSION, stat_sum.STATUS_VALUE
from HWM_TM_REC_GRP_USAGES rgu
,HWM_TM_REC_GRP rgd
,HWM_TM_REC_GRP_SUM_V stat_sum
,HWM_TM_REC_GRP rg
where 1=1
and rgd.tm_rec_grp_id = rgu.tm_rec_grp_id
and rgd.tm_rec_grp_version = rgu.tm_rec_grp_version
and rgd.parent_tm_rec_grp_id = rg.tm_rec_grp_id
and rgd.parent_tm_rec_grp_version = rg.tm_rec_grp_version
and rg.tm_rec_grp_id = stat_sum.TM_REC_GRP_ID
and rg.tm_rec_grp_version = stat_sum.TM_REC_GRP_VERSION
) stat
,PER_ALL_ASSIGNMENTS_M paa
,PER_PERSON_NAMES_F_V pname
,HWM_TM_REC htr
,HWM_GRP_TYPE hgt
,HWM_TM_REP_ATRB_USAGES htatrbusage
,HWM_TM_REP_ATRBS hratrbs
,HR_ALL_ORGANIZATION_UNITS_VL OrganizationUnitPEO
,HR_ALL_ORGANIZATION_UNITS_VL BusinessUnitsPEO
,(select hrtr.START_DATE, hrtr.END_DATE
from HWM_RP_TM_RESOLVED hrtr
,HWM_RP_TM_PERIODS_B hrtpb
where 1=1
and PERIOD_CD = '  BIWEEKLY STARTS MONDAY'
and hrtr.REPEATING_TM_PERIOD_ID = hrtpb.REPEATING_TM_PERIOD_ID) time_period
where 1=1
and hratrbs.ATTRIBUTE_CATEGORY IN ( 'Regular US Hourly'
, 'Bereavement-US'
, 'Jury Duty-US'
, ' _US_Holiday_Pay'
, ' _US_Holiday_Shift_Differential'
, ' _US_Holiday_Worked'
, ' _US_Overtime'
, ' _US_Doubletime'
, ' _US_Perf_Diff_1'
, ' _US_Perf_Diff_125'
, ' _US_Perf_Diff_2'
, ' _US_Perf_Diff_225'
, ' _US_Perf_Diff_3'
, ' _US_Shift_Differential'
, ' _US_Break'
, 'Hourly PTO')
and htr.ORIG_TM_REC_ID = stat.TM_REC_ID
and htr.ORIG_TM_REC_VERSION = stat.TM_REC_VERSION
and stat.STATUS_VALUE = NVL(:p_status,stat.STATUS_VALUE)
and htr.subresource_id = paa.assignment_id
and pp.person_id = paa.person_id
and paa.assignment_id = sup.assignment_id
and :p_eff_date between sup.effective_start_date and sup.effective_end_date
and sup.manager_id = sup_pp.person_id
and :p_eff_date between sup_pp.effective_start_date and sup_pp.effective_end_date
and sup.manager_id = sup_pname.person_id
and :p_eff_date between sup_pname.effective_start_date and sup_pname.effective_end_date
and sup_pp.PRIMARY_EMAIL_ID = sup_email.EMAIL_ADDRESS_ID
and pp.person_id = pname.person_id
and htr.GRP_TYPE_ID = hgt.GRP_TYPE_ID
and hgt.NAME = 'Processed TimecardEntry'
and htr.TM_REC_TYPE in ('RANGE','MEASURE')
and hratrbs.ATTRIBUTE_CATEGORY !=  ' _US_Break'
and hratrbs.ATTRIBUTE_CATEGORY != 'TimeEvent'
and hratrbs.ATTRIBUTE_CATEGORY != 'TcdSupplier'
and htr.measure > 0
and htr.TM_REC_ID = htatrbusage.USAGES_SOURCE_ID
and htr.TM_REC_VERSION = htatrbusage.USAGES_SOURCE_VERSION
and htatrbusage.TM_REP_ATRB_ID = hratrbs.TM_REP_ATRB_ID
and hratrbs.ATTRIBUTE_CATEGORY != 'Security Attributes'
and :p_eff_date BETWEEN pname.EFFECTIVE_START_DATE and pname.EFFECTIVE_END_DATE
and :p_eff_date BETWEEN pp.EFFECTIVE_START_DATE and pp.EFFECTIVE_END_DATE
and :p_eff_date BETWEEN paa.EFFECTIVE_START_DATE and paa.EFFECTIVE_END_DATE
and OrganizationUnitPEO.ORGANIZATION_ID = paa.ORGANIZATION_ID
and BusinessUnitsPEO.ORGANIZATION_ID = paa.BUSINESS_UNIT_ID
and htr.START_TIME >= (:p_eff_date - 13)
and NVL(htr.STOP_TIME,:p_eff_date) <= (:p_eff_date + 1)
and htr.START_TIME between time_period.start_date and time_period.end_date
and htr.LATEST_VERSION = 'Y'
and sup.PRIMARY_FLAG = 'Y'
UNION
(
select SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,(INSTR(OrganizationUnitPEO.NAME,'0-')-INSTR(OrganizationUnitPEO.NAME,'__')-1)) BUSINESS_UNIT
,SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,LENGTH(OrganizationUnitPEO.NAME)) DEPARTMENT
,pname.LAST_NAME LAST_NAME
,pname.FIRST_NAME FIRST_NAME
,pp.PERSON_NUMBER PERSON_NUMBER
,htr.start_time ENTRY_START
,htr.stop_time  ENTRY_STOP
,(CASE when abstype.NAME =  'Regular US Hourly' then 'REG'
when  abstype.NAME =  'Bereavement-US' THEN 'BRVMT'
when  abstype.NAME =  'Jury Duty-US' THEN 'JURY'
when  abstype.NAME =  ' _US_Holiday_Pay' THEN 'HOL'
when  abstype.NAME =  ' _US_Holiday_Shift_Differential' THEN 'HOLSD'
when  abstype.NAME =  ' _US_Holiday_Worked' THEN 'HOLSS'
when  abstype.NAME =  ' _US_Overtime' THEN 'OT'
when  abstype.NAME =  ' _US_Doubletime' THEN 'DT'
when  abstype.NAME =  ' _US_Perf_Diff_1' THEN 'PDIFF1'
when  abstype.NAME =  ' _US_Perf_Diff_125' THEN 'PDIFF125'
when  abstype.NAME =  ' _US_Perf_Diff_2' THEN 'PDIFF2'
when  abstype.NAME =  ' _US_Perf_Diff_225' THEN 'PDIFF225'
when  abstype.NAME =  ' _US_Perf_Diff_3' THEN 'PDIFF3'
when  abstype.NAME =  ' _US_Shift_Differential' THEN 'SHDIF'
when  abstype.NAME =  ' _US_Break' THEN 'BREAK'
when  abstype.NAME =  'Hourly PTO' THEN 'PTO'
ELSE  abstype.NAME
END
) CODE
,htr.measure HOURS
,htr.date_from  TIME_CARD_START
,htr.date_to  TIME_CARD_STOP
,htr.CREATION_DATE CREATION_DATE
,htr.LAST_UPDATE_DATE LAST_UPDATE_DATE
,time_period.end_date PAY_PERIOD_END_DATE
,time_period.start_date PAY_PERIOD_START_DATE
,sup_pp.person_number MANAGER_ID
,sup_pname.FULL_NAME MANAGER_NAME
,sup_email.EMAIL_ADDRESS MANAGER_EMAIL
,stat.STATUS_VALUE STATUS
from per_all_people_f pp
,HWM_TM_STATUSES STAT
,HWM_TM_STATUS_DEFINITIONS_VL DEF
,HCM_LOOKUPS LOOKUP
,PER_EMAIL_ADDRESSES sup_email
,HWM_TM_ABS_ENTRY_V absv
,PER_ASSIGNMENT_SUPERVISORS_F sup
,PER_ALL_PEOPLE_F sup_pp
,PER_PERSON_NAMES_F_V sup_pname
,PER_ALL_ASSIGNMENTS_M paa
,PER_PERSON_NAMES_F_V pname
,HWM_TM_REC htr
,HWM_GRP_TYPE hgt
,HWM_TM_REP_ATRB_USAGES htatrbusage
,HWM_TM_REP_ATRBS hratrbs
,HR_ALL_ORGANIZATION_UNITS_VL OrganizationUnitPEO
,HR_ALL_ORGANIZATION_UNITS_VL BusinessUnitsPEO
,ANC_ABSENCE_TYPES_VL abstype
,(select hrtr.START_DATE, hrtr.END_DATE
from HWM_RP_TM_RESOLVED hrtr
,HWM_RP_TM_PERIODS_B hrtpb
where 1=1
and PERIOD_CD = '  BIWEEKLY STARTS MONDAY'
and hrtr.REPEATING_TM_PERIOD_ID = hrtpb.REPEATING_TM_PERIOD_ID) time_period
where 1=1
and htr.TM_REC_ID = absv.TIME_ENTRY_TM_REC_ID
and htr.TM_REC_VERSION = absv.TIME_ENTRY_TM_REC_VERSION
and absv.TIME_ENTRY_LATEST_VERSION = 'Y'
and absv.TIME_ENTRY_DELETE_FLAG is null
and absv.TIME_CARD_DELETE_FLAG is null
and absv.TIME_CARD_LATEST_VERSION = 'Y'
and htr.subresource_id = paa.assignment_id
and pp.person_id = paa.person_id
and pp.person_id = pname.person_id
and paa.assignment_id = sup.assignment_id
and :p_eff_date between sup.effective_start_date and sup.effective_end_date
and sup.manager_id = sup_pp.person_id
and :p_eff_date between sup_pp.effective_start_date and sup_pp.effective_end_date
and sup.manager_id = sup_pname.person_id
and :p_eff_date between sup_pname.effective_start_date and
sup_pname.effective_end_date
and sup_pp.PRIMARY_EMAIL_ID = sup_email.EMAIL_ADDRESS_ID
and absv.TIME_CARD_TM_REC_GRP_ID = stat.TM_BLDG_BLK_ID
and absv.TIME_CARD_TM_REC_GRP_VERSION = stat.TM_BLDG_BLK_VERSION
AND STAT.TM_STATUS_DEF_ID =DEF.TM_STATUS_DEF_ID
AND DEF.DEFINITIONCODE = 'D_TM_UI_STATUS'
AND LOOKUP.LOOKUP_CODE = STAT.STATUS_VALUE
AND Lookup.LOOKUP_TYPE = DEF.ALLOWABLE_VALUES
AND SYSDATE BETWEEN STAT.DATE_FROM AND STAT.DATE_TO
and stat.STATUS_VALUE = NVL(:p_status,stat.STATUS_VALUE)
and htr.resource_id = pp.person_id
and htr.GRP_TYPE_ID = hgt.GRP_TYPE_ID
and hratrbs.ATTRIBUTE_CATEGORY = abstype.absence_type_id
and hgt.NAME = 'Absences Entry Details'
and htr.TM_REC_TYPE = 'RANGE'
and hratrbs.ATTRIBUTE_CATEGORY != 'TcdSupplier'
and htr.measure > 0
and htr.TM_REC_ID = htatrbusage.USAGES_SOURCE_ID
and htr.TM_REC_VERSION = htatrbusage.USAGES_SOURCE_VERSION
and htatrbusage.TM_REP_ATRB_ID = hratrbs.TM_REP_ATRB_ID
and hratrbs.ATTRIBUTE_CATEGORY != 'Security Attributes'
and :p_eff_date BETWEEN pname.EFFECTIVE_START_DATE and pname.EFFECTIVE_END_DATE
and :p_eff_date BETWEEN pp.EFFECTIVE_START_DATE and pp.EFFECTIVE_END_DATE
and :p_eff_date BETWEEN paa.EFFECTIVE_START_DATE and paa.EFFECTIVE_END_DATE
and OrganizationUnitPEO.ORGANIZATION_ID = paa.ORGANIZATION_ID
and BusinessUnitsPEO.ORGANIZATION_ID = paa.BUSINESS_UNIT_ID
and htr.START_TIME >= (:p_eff_date - 13)
and NVL(htr.STOP_TIME,:p_eff_date) <= (:p_eff_date + 1)
and htr.START_TIME between time_period.start_date and time_period.end_date
and htr.LATEST_VERSION = 'Y'
and sup.PRIMARY_FLAG = 'Y'
)
) b
where b.code != 'BREAK'
--and b.person_number = '001093'
--and b.STATUS = NVL(:p_status,b.STATUS)
group by b.BUSINESS_UNIT
,b.DEPARTMENT
,b.LAST_NAME
,b.FIRST_NAME
,b.PERSON_NUMBER
,b.code
,b.PAY_PERIOD_END_DATE
,b.MANAGER_ID
,b.MANAGER_NAME
,b.MANAGER_EMAIL
,b.STATUS
order by b.person_number,b.PAY_PERIOD_END_DATE*/






--STOP
/*select b.BUSINESS_UNIT
,b.DEPARTMENT
,b.LAST_NAME
,b.FIRST_NAME
,b.PERSON_NUMBER
,b.MANAGER_ID
,b.MANAGER_NAME
,b.MANAGER_EMAIL
,b.STATUS
,b.code
,TO_CHAR(b.PAY_PERIOD_END_DATE,'MM/DD/YYYY') PAY_PERIOD_END_DATE
,sum(b.HOURS) HOURS
from
(
select SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,(INSTR(OrganizationUnitPEO.NAME,'0-')-INSTR(OrganizationUnitPEO.NAME,'__')-1)) BUSINESS_UNIT
,SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,LENGTH(OrganizationUnitPEO.NAME)) DEPARTMENT
,pname.LAST_NAME LAST_NAME
,pname.FIRST_NAME FIRST_NAME
,pp.PERSON_NUMBER PERSON_NUMBER
,htr.start_time ENTRY_START
,htr.stop_time  ENTRY_STOP
,(CASE when hratrbs.ATTRIBUTE_CATEGORY =  'Regular US Hourly' then 'REG'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Bereavement-US' THEN 'BRVMT'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Jury Duty-US' THEN 'JURY'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Pay' THEN 'HOL'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Shift_Differential' THEN 'HOLSD'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Worked' THEN 'HOLSS'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Overtime' THEN 'OT'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Doubletime' THEN 'DT'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_1' THEN 'PDIFF1'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_125' THEN 'PDIFF125'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_2' THEN 'PDIFF2'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_225' THEN 'PDIFF225'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_3' THEN 'PDIFF3'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Shift_Differential' THEN 'SHDIF'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Break' THEN 'BREAK'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Hourly PTO' THEN 'PTO'
ELSE  hratrbs.ATTRIBUTE_CATEGORY
END
) CODE
,htr.measure HOURS
,htr.date_from  TIME_CARD_START
,htr.date_to  TIME_CARD_STOP
,htr.CREATION_DATE CREATION_DATE
,htr.LAST_UPDATE_DATE LAST_UPDATE_DATE
,time_period.end_date PAY_PERIOD_END_DATE
,time_period.start_date PAY_PERIOD_START_DATE
,sup_pp.person_number MANAGER_ID
,sup_pname.FULL_NAME MANAGER_NAME
,sup_email.EMAIL_ADDRESS MANAGER_EMAIL
,stat.STATUS_VALUE STATUS
from per_all_people_f pp
,PER_EMAIL_ADDRESSES sup_email
,PER_ASSIGNMENT_SUPERVISORS_F sup
,PER_ALL_PEOPLE_F sup_pp
,PER_PERSON_NAMES_F_V sup_pname
,(
select rgu.TM_REC_ID, rgu.TM_REC_VERSION, stat_sum.STATUS_VALUE
from HWM_TM_REC_GRP_USAGES rgu
,HWM_TM_REC_GRP rgd
,HWM_TM_REC_GRP_SUM_V stat_sum
,HWM_TM_REC_GRP rg
where 1=1
and rgd.tm_rec_grp_id = rgu.tm_rec_grp_id
and rgd.tm_rec_grp_version = rgu.tm_rec_grp_version
and rgd.parent_tm_rec_grp_id = rg.tm_rec_grp_id
and rgd.parent_tm_rec_grp_version = rg.tm_rec_grp_version
and rg.tm_rec_grp_id = stat_sum.TM_REC_GRP_ID
and rg.tm_rec_grp_version = stat_sum.TM_REC_GRP_VERSION
) stat
,PER_ALL_ASSIGNMENTS_M paa
,PER_PERSON_NAMES_F_V pname
,HWM_TM_REC htr
,HWM_GRP_TYPE hgt
,HWM_TM_REP_ATRB_USAGES htatrbusage
,HWM_TM_REP_ATRBS hratrbs
,HR_ALL_ORGANIZATION_UNITS_VL OrganizationUnitPEO
,HR_ALL_ORGANIZATION_UNITS_VL BusinessUnitsPEO
,(select hrtr.START_DATE, hrtr.END_DATE
from HWM_RP_TM_RESOLVED hrtr
,HWM_RP_TM_PERIODS_B hrtpb
where 1=1
and PERIOD_CD = '  BIWEEKLY STARTS MONDAY'
and hrtr.REPEATING_TM_PERIOD_ID = hrtpb.REPEATING_TM_PERIOD_ID) time_period
where 1=1
and hratrbs.ATTRIBUTE_CATEGORY IN ( 'Regular US Hourly'
, 'Bereavement-US'
, 'Jury Duty-US'
, ' _US_Holiday_Pay'
, ' _US_Holiday_Shift_Differential'
, ' _US_Holiday_Worked'
, ' _US_Overtime'
, ' _US_Doubletime'
, ' _US_Perf_Diff_1'
, ' _US_Perf_Diff_125'
, ' _US_Perf_Diff_2'
, ' _US_Perf_Diff_225'
, ' _US_Perf_Diff_3'
, ' _US_Shift_Differential'
, ' _US_Break'
, 'Hourly PTO')
and htr.ORIG_TM_REC_ID = stat.TM_REC_ID
and htr.ORIG_TM_REC_VERSION = stat.TM_REC_VERSION
and stat.STATUS_VALUE = NVL(:p_status,stat.STATUS_VALUE)
and htr.subresource_id = paa.assignment_id
and pp.person_id = paa.person_id
and paa.assignment_id = sup.assignment_id
and :p_eff_date between sup.effective_start_date and sup.effective_end_date
and sup.manager_id = sup_pp.person_id
and :p_eff_date between sup_pp.effective_start_date and sup_pp.effective_end_date
and sup.manager_id = sup_pname.person_id
and :p_eff_date between sup_pname.effective_start_date and sup_pname.effective_end_date
and sup_pp.PRIMARY_EMAIL_ID = sup_email.EMAIL_ADDRESS_ID
and pp.person_id = pname.person_id
and htr.GRP_TYPE_ID = hgt.GRP_TYPE_ID
and hgt.NAME = 'Processed TimecardEntry'
and htr.TM_REC_TYPE in ('RANGE','MEASURE')
and hratrbs.ATTRIBUTE_CATEGORY !=  ' _US_Break'
and hratrbs.ATTRIBUTE_CATEGORY != 'TimeEvent'
and hratrbs.ATTRIBUTE_CATEGORY != 'TcdSupplier'
and htr.measure > 0
and htr.TM_REC_ID = htatrbusage.USAGES_SOURCE_ID
and htr.TM_REC_VERSION = htatrbusage.USAGES_SOURCE_VERSION
and htatrbusage.TM_REP_ATRB_ID = hratrbs.TM_REP_ATRB_ID
and hratrbs.ATTRIBUTE_CATEGORY != 'Security Attributes'
and :p_eff_date BETWEEN pname.EFFECTIVE_START_DATE and pname.EFFECTIVE_END_DATE
and :p_eff_date BETWEEN pp.EFFECTIVE_START_DATE and pp.EFFECTIVE_END_DATE
and :p_eff_date BETWEEN paa.EFFECTIVE_START_DATE and paa.EFFECTIVE_END_DATE
and OrganizationUnitPEO.ORGANIZATION_ID = paa.ORGANIZATION_ID
and BusinessUnitsPEO.ORGANIZATION_ID = paa.BUSINESS_UNIT_ID
and htr.START_TIME >= (:p_eff_date - 13)
and NVL(htr.STOP_TIME,:p_eff_date) <= (:p_eff_date + 1)
and htr.START_TIME between time_period.start_date and time_period.end_date
and htr.LATEST_VERSION = 'Y'
and sup.PRIMARY_FLAG = 'Y'
UNION
(
select SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,(INSTR(OrganizationUnitPEO.NAME,'0-')-INSTR(OrganizationUnitPEO.NAME,'__')-1)) BUSINESS_UNIT
,SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,LENGTH(OrganizationUnitPEO.NAME)) DEPARTMENT
,pname.LAST_NAME LAST_NAME
,pname.FIRST_NAME FIRST_NAME
,pp.PERSON_NUMBER PERSON_NUMBER
,htr.start_time ENTRY_START
,htr.stop_time  ENTRY_STOP
,(CASE when abstype.NAME =  'Regular US Hourly' then 'REG'
when  abstype.NAME =  'Bereavement-US' THEN 'BRVMT'
when  abstype.NAME =  'Jury Duty-US' THEN 'JURY'
when  abstype.NAME =  ' _US_Holiday_Pay' THEN 'HOL'
when  abstype.NAME =  ' _US_Holiday_Shift_Differential' THEN 'HOLSD'
when  abstype.NAME =  ' _US_Holiday_Worked' THEN 'HOLSS'
when  abstype.NAME =  ' _US_Overtime' THEN 'OT'
when  abstype.NAME =  ' _US_Doubletime' THEN 'DT'
when  abstype.NAME =  ' _US_Perf_Diff_1' THEN 'PDIFF1'
when  abstype.NAME =  ' _US_Perf_Diff_125' THEN 'PDIFF125'
when  abstype.NAME =  ' _US_Perf_Diff_2' THEN 'PDIFF2'
when  abstype.NAME =  ' _US_Perf_Diff_225' THEN 'PDIFF225'
when  abstype.NAME =  ' _US_Perf_Diff_3' THEN 'PDIFF3'
when  abstype.NAME =  ' _US_Shift_Differential' THEN 'SHDIF'
when  abstype.NAME =  ' _US_Break' THEN 'BREAK'
when  abstype.NAME =  'Hourly PTO' THEN 'PTO'
ELSE  abstype.NAME
END
) CODE
,htr.measure HOURS
,htr.date_from  TIME_CARD_START
,htr.date_to  TIME_CARD_STOP
,htr.CREATION_DATE CREATION_DATE
,htr.LAST_UPDATE_DATE LAST_UPDATE_DATE
,time_period.end_date PAY_PERIOD_END_DATE
,time_period.start_date PAY_PERIOD_START_DATE
,sup_pp.person_number MANAGER_ID
,sup_pname.FULL_NAME MANAGER_NAME
,sup_email.EMAIL_ADDRESS MANAGER_EMAIL
,stat.STATUS_VALUE STATUS
from per_all_people_f pp
,(
select rgu.TM_REC_ID, rgu.TM_REC_VERSION, stat_sum.STATUS_VALUE
from HWM_TM_REC_GRP_USAGES rgu
,HWM_TM_REC_GRP rgd
,HWM_TM_REC_GRP_SUM_V stat_sum
,HWM_TM_REC_GRP rg
where 1=1
and rgd.tm_rec_grp_id = rgu.tm_rec_grp_id
and rgd.tm_rec_grp_version = rgu.tm_rec_grp_version
and rgd.parent_tm_rec_grp_id = rg.tm_rec_grp_id
and rgd.parent_tm_rec_grp_version = rg.tm_rec_grp_version
and rg.tm_rec_grp_id = stat_sum.TM_REC_GRP_ID
and rg.tm_rec_grp_version = stat_sum.TM_REC_GRP_VERSION
) stat
,PER_EMAIL_ADDRESSES sup_email
,HWM_TM_ABS_ENTRY_V absv
,PER_ASSIGNMENT_SUPERVISORS_F sup
,PER_ALL_PEOPLE_F sup_pp
,PER_PERSON_NAMES_F_V sup_pname
,PER_ALL_ASSIGNMENTS_M paa
,PER_PERSON_NAMES_F_V pname
,HWM_TM_REC htr
,HWM_GRP_TYPE hgt
,HWM_TM_REP_ATRB_USAGES htatrbusage
,HWM_TM_REP_ATRBS hratrbs
,HR_ALL_ORGANIZATION_UNITS_VL OrganizationUnitPEO
,HR_ALL_ORGANIZATION_UNITS_VL BusinessUnitsPEO
,ANC_ABSENCE_TYPES_VL abstype
,(select hrtr.START_DATE, hrtr.END_DATE
from HWM_RP_TM_RESOLVED hrtr
,HWM_RP_TM_PERIODS_B hrtpb
where 1=1
and PERIOD_CD = '  BIWEEKLY STARTS MONDAY'
and hrtr.REPEATING_TM_PERIOD_ID = hrtpb.REPEATING_TM_PERIOD_ID) time_period*/
/*,(select *
from HWM_TCSMR_CONFIG_SETS_TL tcsl
where 1=1
and tcsl.LANGUAGE = 'US'
and tcsl.SOURCE_LANG = 'US'
and tcsl.NAME = '  Payroll Only') conf*/
/*where 1=1
and htr.TM_REC_ID = absv.TIME_ENTRY_TM_REC_ID
and htr.TM_REC_VERSION = absv.TIME_ENTRY_TM_REC_VERSION
and absv.TIME_ENTRY_LATEST_VERSION = 'Y'
and absv.TIME_ENTRY_DELETE_FLAG is null
and absv.TIME_CARD_DELETE_FLAG is null
and absv.TIME_CARD_LATEST_VERSION = 'Y'
and htr.subresource_id = paa.assignment_id
and pp.person_id = paa.person_id
and pp.person_id = pname.person_id
and paa.assignment_id = sup.assignment_id
and :p_eff_date between sup.effective_start_date and sup.effective_end_date
and sup.manager_id = sup_pp.person_id
and :p_eff_date between sup_pp.effective_start_date and sup_pp.effective_end_date
and sup.manager_id = sup_pname.person_id
and :p_eff_date between sup_pname.effective_start_date and
sup_pname.effective_end_date
and sup_pp.PRIMARY_EMAIL_ID = sup_email.EMAIL_ADDRESS_ID
and htr.ORIG_TM_REC_ID = stat.TM_REC_ID
and htr.ORIG_TM_REC_VERSION = stat.TM_REC_VERSION
and stat.STATUS_VALUE = NVL(:p_status,stat.STATUS_VALUE)
and htr.resource_id = pp.person_id
and htr.GRP_TYPE_ID = hgt.GRP_TYPE_ID
and hratrbs.ATTRIBUTE_CATEGORY = abstype.absence_type_id
--and htr.TCSMR_CONFIG_SET_ID = conf.TCSMR_CONFIG_SET_ID
and hgt.NAME = 'Absences Entry Details'
and htr.TM_REC_TYPE = 'RANGE'
and hratrbs.ATTRIBUTE_CATEGORY != 'TcdSupplier'
and htr.measure > 0
and htr.TM_REC_ID = htatrbusage.USAGES_SOURCE_ID
and htr.TM_REC_VERSION = htatrbusage.USAGES_SOURCE_VERSION
and htatrbusage.TM_REP_ATRB_ID = hratrbs.TM_REP_ATRB_ID
and hratrbs.ATTRIBUTE_CATEGORY != 'Security Attributes'
and :p_eff_date BETWEEN pname.EFFECTIVE_START_DATE and pname.EFFECTIVE_END_DATE
and :p_eff_date BETWEEN pp.EFFECTIVE_START_DATE and pp.EFFECTIVE_END_DATE
and :p_eff_date BETWEEN paa.EFFECTIVE_START_DATE and paa.EFFECTIVE_END_DATE
and OrganizationUnitPEO.ORGANIZATION_ID = paa.ORGANIZATION_ID
and BusinessUnitsPEO.ORGANIZATION_ID = paa.BUSINESS_UNIT_ID
and htr.START_TIME >= (:p_eff_date - 13)
and NVL(htr.STOP_TIME,:p_eff_date) <= (:p_eff_date + 1)
and htr.START_TIME between time_period.start_date and time_period.end_date
and htr.LATEST_VERSION = 'Y'
and sup.PRIMARY_FLAG = 'Y'
)
) b
where b.code != 'BREAK'
and b.person_number = '001093'
--and b.STATUS = NVL(:p_status,b.STATUS)
group by b.BUSINESS_UNIT
,b.DEPARTMENT
,b.LAST_NAME
,b.FIRST_NAME
,b.PERSON_NUMBER
,b.code
,b.PAY_PERIOD_END_DATE
,b.MANAGER_ID
,b.MANAGER_NAME
,b.MANAGER_EMAIL
,b.STATUS
order by b.person_number,b.PAY_PERIOD_END_DATE*/


/*select b.BUSINESS_UNIT
,b.DEPARTMENT
,b.LAST_NAME
,b.FIRST_NAME
,b.PERSON_NUMBER
,b.code
,sum(b.HOURS) HOURS
,TO_CHAR(b.PAY_PERIOD_END_DATE,'MM/DD/YYYY') PAY_PERIOD_END_DATE
from
(
select SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,(INSTR(OrganizationUnitPEO.NAME,'0-')-INSTR(OrganizationUnitPEO.NAME,'__')-1)) BUSINESS_UNIT
,SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,LENGTH(OrganizationUnitPEO.NAME)) DEPARTMENT
,pname.LAST_NAME LAST_NAME
,pname.FIRST_NAME FIRST_NAME
,pp.PERSON_NUMBER PERSON_NUMBER
,htr.start_time ENTRY_START
,htr.stop_time  ENTRY_STOP
,(CASE when hratrbs.ATTRIBUTE_CATEGORY =  'Regular US Hourly' then 'REG'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Bereavement-US' THEN 'BRVMT'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Jury Duty-US' THEN 'JURY'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Pay' THEN 'HOL'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Shift_Differential' THEN 'HOLSD'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Holiday_Worked' THEN 'HOLSS'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Overtime' THEN 'OT'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Doubletime' THEN 'DT'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_1' THEN 'PDIFF1'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_125' THEN 'PDIFF125'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_2' THEN 'PDIFF2'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_225' THEN 'PDIFF225'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Perf_Diff_3' THEN 'PDIFF3'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Shift_Differential' THEN 'SHDIF'
when  hratrbs.ATTRIBUTE_CATEGORY =  ' _US_Break' THEN 'BREAK'
when  hratrbs.ATTRIBUTE_CATEGORY =  'Hourly PTO' THEN 'PTO'
ELSE  hratrbs.ATTRIBUTE_CATEGORY
END
) CODE
,htr.measure HOURS
,htr.date_from  TIME_CARD_START
,htr.date_to  TIME_CARD_STOP
,htr.CREATION_DATE CREATION_DATE
,htr.LAST_UPDATE_DATE LAST_UPDATE_DATE
,time_period.end_date PAY_PERIOD_END_DATE
,time_period.start_date PAY_PERIOD_START_DATE
from per_all_people_f pp
,PER_ALL_ASSIGNMENTS_M paa
,PER_PERSON_NAMES_F_V pname
,HWM_TM_REC htr
,HWM_GRP_TYPE hgt
,HWM_TM_REP_ATRB_USAGES htatrbusage
,HWM_TM_REP_ATRBS hratrbs
,HR_ALL_ORGANIZATION_UNITS_VL OrganizationUnitPEO
,HR_ALL_ORGANIZATION_UNITS_VL BusinessUnitsPEO
,(select hrtr.START_DATE, hrtr.END_DATE
from HWM_RP_TM_RESOLVED hrtr
,HWM_RP_TM_PERIODS_B hrtpb
where 1=1
and PERIOD_CD = '  BIWEEKLY STARTS MONDAY'
and hrtr.REPEATING_TM_PERIOD_ID = hrtpb.REPEATING_TM_PERIOD_ID) time_period
where 1=1
and paa.assignment_type = 'E'
and paa.assignment_status_type = 'ACTIVE'
and pp.person_id = paa.person_id
and pp.person_id = pname.person_id
and htr.resource_id = pp.person_id
and htr.GRP_TYPE_ID = hgt.GRP_TYPE_ID
and hgt.NAME = 'Processed TimecardEntry'
and htr.TM_REC_TYPE = 'MEASURE'
and hratrbs.ATTRIBUTE_CATEGORY != 'TcdSupplier'
and htr.measure > 0
and htr.TM_REC_ID = htatrbusage.USAGES_SOURCE_ID
and htr.TM_REC_VERSION = htatrbusage.USAGES_SOURCE_VERSION
and htatrbusage.TM_REP_ATRB_ID = hratrbs.TM_REP_ATRB_ID
and hratrbs.ATTRIBUTE_CATEGORY != 'Security Attributes'
and :p_eff_date BETWEEN pname.EFFECTIVE_START_DATE and pname.EFFECTIVE_END_DATE
and :p_eff_date BETWEEN pp.EFFECTIVE_START_DATE and pp.EFFECTIVE_END_DATE
and :p_eff_date BETWEEN paa.EFFECTIVE_START_DATE and paa.EFFECTIVE_END_DATE
and OrganizationUnitPEO.ORGANIZATION_ID = paa.ORGANIZATION_ID
and BusinessUnitsPEO.ORGANIZATION_ID = paa.BUSINESS_UNIT_ID
and htr.START_TIME >= (:p_eff_date - 13)
and htr.STOP_TIME <= (:p_eff_date + 1)
and htr.START_TIME between time_period.start_date and time_period.end_date
and htr.LATEST_VERSION = 'Y'
and htr.LAST_UPDATE_DATE <= :p_last_update_date
UNION
(
select SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,(INSTR(OrganizationUnitPEO.NAME,'0-')-INSTR(OrganizationUnitPEO.NAME,'__')-1)) BUSINESS_UNIT
,SUBSTR(OrganizationUnitPEO.NAME,INSTR(OrganizationUnitPEO.NAME,'__')+2,LENGTH(OrganizationUnitPEO.NAME)) DEPARTMENT
,pname.LAST_NAME LAST_NAME
,pname.FIRST_NAME FIRST_NAME
,pp.PERSON_NUMBER PERSON_NUMBER
,absplan.START_DATETIME ENTRY_START
,absplan.END_DATETIME ENTRY_STOP
,(CASE when abstype.NAME =  'Regular US Hourly' then 'REG'
when  abstype.NAME =  'Bereavement-US' THEN 'BRVMT'
when  abstype.NAME =  'Jury Duty-US' THEN 'JURY'
when  abstype.NAME =  ' _US_Holiday_Pay' THEN 'HOL'
when  abstype.NAME =  ' _US_Holiday_Shift_Differential' THEN 'HOLSD'
when  abstype.NAME =  ' _US_Holiday_Worked' THEN 'HOLSS'
when  abstype.NAME =  ' _US_Overtime' THEN 'OT'
when  abstype.NAME =  ' _US_Doubletime' THEN 'DT'
when  abstype.NAME =  ' _US_Perf_Diff_1' THEN 'PDIFF1'
when  abstype.NAME =  ' _US_Perf_Diff_125' THEN 'PDIFF125'
when  abstype.NAME =  ' _US_Perf_Diff_2' THEN 'PDIFF2'
when  abstype.NAME =  ' _US_Perf_Diff_225' THEN 'PDIFF225'
when  abstype.NAME =  ' _US_Perf_Diff_3' THEN 'PDIFF3'
when  abstype.NAME =  ' _US_Shift_Differential' THEN 'SHDIF'
when  abstype.NAME =  ' _US_Break' THEN 'BREAK'
when  abstype.NAME =  'Hourly PTO' THEN 'PTO'
ELSE abstype.NAME
END
) CODE
,ABSPLAN.ABS_UNITS HOURS
,ABSPLAN.START_DATETIME  TIME_CARD_START
,ABSPLAN.END_DATETIME  TIME_CARD_STOP
,ABSPLAN.CREATION_DATE CREATION_DATE
,ABSPLAN.LAST_UPDATE_DATE LAST_UPDATE_DATE
,time_period.end_date pay_period_end_date
,time_period.start_date pay_period_start_date
from anc_per_abs_plan_entries absplan
,per_all_people_f pp
,PER_ALL_ASSIGNMENTS_M paa
,ANC_PER_ABS_TYPE_ENTRIES abstypeentry
,ANC_ABSENCE_TYPES_VL abstype
,PER_PERSON_NAMES_F_V pname
,HR_ALL_ORGANIZATION_UNITS_VL OrganizationUnitPEO
,HR_ALL_ORGANIZATION_UNITS_VL BusinessUnitsPEO
,(select hrtr.START_DATE, hrtr.END_DATE
from HWM_RP_TM_RESOLVED hrtr
,HWM_RP_TM_PERIODS_B hrtpb
where 1=1
and PERIOD_CD = '  BIWEEKLY STARTS MONDAY'
and hrtr.REPEATING_TM_PERIOD_ID = hrtpb.REPEATING_TM_PERIOD_ID) time_period
where 1=1
and paa.assignment_type = 'E'
and paa.assignment_status_type = 'ACTIVE'
and absplan.person_id = paa.person_id
and absplan.assignment_id = paa.assignment_id
and pp.person_id = paa.person_id
and pp.person_id = pname.person_id
and absplan.PER_ABS_TYPE_ENTRY_ID = abstypeentry.PER_ABS_TYPE_ENTRY_ID
and abstypeentry.ABSENCE_TYPE_ID = abstype.ABSENCE_TYPE_ID
and absplan.start_datetime >= (:p_eff_date-13)
and absplan.end_datetime <= (:p_eff_date+1)
and absplan.start_datetime between time_period.start_date and time_period.end_date
and OrganizationUnitPEO.ORGANIZATION_ID = paa.ORGANIZATION_ID
and BusinessUnitsPEO.ORGANIZATION_ID = paa.BUSINESS_UNIT_ID
and abstype.NAME IN ( 'Regular US Hourly'
, 'Bereavement-US'
, 'Jury Duty-US'

, 'Hourly PTO')
and :p_eff_date between paa.effective_start_date and paa.effective_end_date
and :p_eff_date between pp.effective_start_date and pp.effective_end_date
and absplan.LAST_UPDATE_DATE <= :p_last_update_date
)
) b
where b.code != 'BREAK'
and b.STATUS = NVL(:p_status,b.STATUS)
group by b.BUSINESS_UNIT
,b.DEPARTMENT
,b.LAST_NAME
,b.FIRST_NAME
,b.PERSON_NUMBER
,b.code
,b.PAY_PERIOD_END_DATE
,b.STATUS
--where b.person_number = '001093'
--where b.person_number = '503173'
order by b.person_number,b.PAY_PERIOD_END_DATE
*/

Comments

Popular posts from this blog

face1

--NewHireRehire_AAP_DM SELECT DISTINCT PER.PERSON_NUMBER, ASSIGNMENT_SEQUENCE, NAME.DISPLAY_NAME AS NAME, case when ASS.REASON_CODE in ('REHIRE') then ' ' else TO_CHAR((SELECT MIN(effective_START_date) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID = ASS.PERSON_ID and ASSIGNMENT_TYPE in ('E')                                           AND ACTION_CODE in ('HIRE','ADD_AN_EMPLOYEE','HIRE_ADD_WORK_RELATION') AND EFFECTIVE_START_DATE = ASS.EFFECTIVE_START_DATE  ),'MM/DD/YYYY') end as HIRE_DATE,  case when ASS.REASON_CODE in ('REHIRE') then           to_char((SELECT MAX(effective_START_date) FROM PER_ALL_ASSIGNMENTS_M WHERE PERSON_ID = ASS.PERSON_ID               AND (reason_CODE IN ('REHIRE','REHIRE_WKR') or (ACTION_CODE in ('REHIRE')))  AND EFFECTIVE_START_DATE = ASS.EFFECTIVE_START_DATE),'MM/DD...

Integration1

Equifax: SELECT '000HEADER' AS RECORD_TYPE, '' AS FILLER1, '02.00' AS VERSION, '17059' AS SOURCE_ID, 'EMPLOYER' AS SOURCE_TYPE, '' AS FILLER2, '' AS SOURCE_SERVICE, '' AS EMP_ID FROM DUAL ------------------- SELECT '202EMPLPIM' AS RECORD_TYPE, '17059' AS COMP_CD, LPAD(REPLACE(PNI.NATIONAL_IDENTIFIER_NUMBER,'-',''),9,'0')  AS NATIONAL_IDENTIFIER_NUMBER, PER.PERSON_NUMBER, PP.ATTRIBUTE6 USERNAME, '' AS ACC_NUM, '' AS PAYROLL, NAME.FIRST_NAME, NAME.MIDDLE_NAMES, NAME.LAST_NAME, '' AS SUFFIX, '' AS TITLE, LPAD(SUBSTR(PNI.NATIONAL_IDENTIFIER_NUMBER,-4),4,'0') AS EMP_ID, 'Y' AS DIRECT_ACCESS, --LOC.INTERNAL_LOCATION_CODE AS DIVISION, '' AS DIVISION, --JOB.NAME,         ASS.ASS_ATTRIBUTE4 AS NAME, CASE WHEN ASS.ACTION_CODE IN ('REHIRE','REHIRE_WKR',...