SELECT PAB.ROWID , PAC.ASSIGNMENT_ID ASSIGNMENT_ID , PTP.TIME_PERIOD_ID TIME_PERIOD_ID , NVL(PET.REPORTING_NAME , PET.ELEMENT_NAME) ELEMENT_REPORTING_NAME , DECODE(PET.PROCESSING_TYPE , 'R' , GREATEST(PAB.DATE_START , PTP.START_DATE) , PAB.DATE_START) START_DATE , DECODE(PET.PROCESSING_TYPE , 'R' , LEAST(PAB.DATE_END , PTP.END_DATE) , PAB.DATE_END) END_DATE , DECODE(PET.PROCESSING_TYPE , 'R' , TO_NUMBER(PRV_I2.RESULT_VALUE) , DECODE(PAT.HOURS_OR_DAYS , 'D' , PAB.ABSENCE_DAYS , PAB.ABSENCE_HOURS)) ABSENCE_DURATION , TO_NUMBER(PRV_I.RESULT_VALUE) PAYMENT , PPA.DATE_EARNED FROM PER_TIME_PERIODS PTP , PAY_PAYROLL_ACTIONS PPA , PAY_ASSIGNMENT_ACTIONS PAC , PAY_RUN_RESULTS PRR , PAY_ELEMENT_TYPES_F PET , PAY_INPUT_VALUES_F PIV , PER_ABSENCE_ATTENDANCE_TYPES PAT , PER_ABSENCE_ATTENDANCES PAB , PAY_ELEMENT_ENTRIES_F PEE , PAY_ELEMENT_ENTRY_VALUES_F PEV , PAY_RUN_RESULTS PRR_I , PAY_RUN_RESULTS PRR_I2 , PAY_RUN_RESULT_VALUES PRV_I , PAY_RUN_RESULT_VALUES PRV_I2 , PAY_INPUT_VALUES_F PIV_I , PAY_INPUT_VALUES_F PIV_I2 WHERE PTP.PAYROLL_ID = PPA.PAYROLL_ID AND PTP.TIME_PERIOD_ID = PPA.TIME_PERIOD_ID AND PPA.DATE_EARNED BETWEEN PTP.START_DATE AND PTP.END_DATE AND PPA.PAYROLL_ACTION_ID = PAC.PAYROLL_ACTION_ID AND PAC.ASSIGNMENT_ACTION_ID = PRR.ASSIGNMENT_ACTION_ID AND PRR.SOURCE_ID = PEE.ELEMENT_ENTRY_ID AND PAC.ASSIGNMENT_ID = PEE.ASSIGNMENT_ID AND PEE.CREATOR_TYPE = 'A' AND PEE.CREATOR_ID = PAB.ABSENCE_ATTENDANCE_ID AND PAT.ABSENCE_ATTENDANCE_TYPE_ID = PAB.ABSENCE_ATTENDANCE_TYPE_ID AND PIV.INPUT_VALUE_ID = PAT.INPUT_VALUE_ID AND PET.ELEMENT_TYPE_ID = PRR.ELEMENT_TYPE_ID AND PET.ELEMENT_TYPE_ID = PIV.ELEMENT_TYPE_ID AND PIV.INPUT_VALUE_ID = PAT.INPUT_VALUE_ID AND PIV.INPUT_VALUE_ID = PEV.INPUT_VALUE_ID AND PEE.ELEMENT_ENTRY_ID = PEV.ELEMENT_ENTRY_ID AND PRR_I.SOURCE_ID = PRR.SOURCE_ID AND PRR_I2.SOURCE_ID = PRR.SOURCE_ID AND PRR_I.SOURCE_TYPE = 'E' AND PRR_I2.SOURCE_TYPE = 'E' AND PRR_I.ASSIGNMENT_ACTION_ID = PRR.ASSIGNMENT_ACTION_ID AND PRR_I2.ASSIGNMENT_ACTION_ID = PRR.ASSIGNMENT_ACTION_ID AND PRR_I.RUN_RESULT_ID = PRV_I.RUN_RESULT_ID AND PRR_I2.RUN_RESULT_ID = PRV_I2.RUN_RESULT_ID AND PIV_I.INPUT_VALUE_ID = PRV_I.INPUT_VALUE_ID AND PIV_I.NAME = 'PAY VALUE' AND PIV_I2.INPUT_VALUE_ID = PRV_I2.INPUT_VALUE_ID AND PIV_I2.NAME = 'LEAVE TAKEN' AND PPA.DATE_EARNED BETWEEN PET.EFFECTIVE_START_DATE AND PET.EFFECTIVE_END_DATE AND PPA.DATE_EARNED BETWEEN PIV.EFFECTIVE_START_DATE AND PIV.EFFECTIVE_END_DATE AND PPA.DATE_EARNED BETWEEN PEE.EFFECTIVE_START_DATE AND PEE.EFFECTIVE_END_DATE AND PPA.DATE_EARNED BETWEEN PEV.EFFECTIVE_START_DATE AND PEV.EFFECTIVE_END_DATE AND PPA.DATE_EARNED BETWEEN PIV_I.EFFECTIVE_START_DATE AND PIV_I.EFFECTIVE_END_DATE AND PPA.DATE_EARNED BETWEEN PIV_I2.EFFECTIVE_START_DATE AND PIV_I2.EFFECTIVE_END_DATE