SELECT PAF.ASSIGNMENT_ID , PTP.PERIOD_NAME , PTP.START_DATE , PTP.END_DATE , PBT.BALANCE_NAME , PBD.DATABASE_ITEM_SUFFIX , PY_ZA_BAL.CALC_ALL_BALANCES(PTP.END_DATE , PAF.ASSIGNMENT_ID , PDB.DEFINED_BALANCE_ID) VALUE , PBT.BALANCE_TYPE_ID , PDB.DEFINED_BALANCE_ID , PTP.TIME_PERIOD_ID FROM PAY_BALANCE_TYPES PBT , PER_TIME_PERIODS PTP , PER_ALL_ASSIGNMENTS_F PAF , PAY_DEFINED_BALANCES PDB , PAY_BALANCE_DIMENSIONS PBD WHERE (PBT.LEGISLATION_CODE IS NULL OR PBT.LEGISLATION_CODE = 'ZA') AND (PBT.BUSINESS_GROUP_ID = PAF.BUSINESS_GROUP_ID OR PBT.BUSINESS_GROUP_ID IS NULL) AND PBT.BALANCE_TYPE_ID = PDB.BALANCE_TYPE_ID AND (PDB.BUSINESS_GROUP_ID = PBT.BUSINESS_GROUP_ID OR PDB.BUSINESS_GROUP_ID IS NULL) AND (PDB.LEGISLATION_CODE IS NULL OR PDB.LEGISLATION_CODE = 'ZA') AND (PBD.BUSINESS_GROUP_ID = PBT.BUSINESS_GROUP_ID OR PBD.BUSINESS_GROUP_ID IS NULL) AND (PBD.LEGISLATION_CODE IS NULL OR PBD.LEGISLATION_CODE = 'ZA') AND PBD.BALANCE_DIMENSION_ID = PDB.BALANCE_DIMENSION_ID AND PTP.PAYROLL_ID = PAF.PAYROLL_ID AND PAF.EFFECTIVE_END_DATE = ( SELECT MAX(PAF2.EFFECTIVE_END_DATE) FROM PER_ALL_ASSIGNMENTS_F PAF2 WHERE PAF2.ASSIGNMENT_ID = PAF.ASSIGNMENT_ID )