SELECT GRT.NAME , GRD.GRADE_ID , VGP.DATE_FROM , VGP.DATE_TO , GRD.BUSINESS_GROUP_ID , POS.POSITION_ID , LKP.MEANING VALID_FOR_POS FROM HR_LOOKUPS LKP , PER_VALID_GRADES VGP , PER_GRADES_TL GRT , PER_GRADES GRD , HR_ALL_POSITIONS POS WHERE GRD.GRADE_ID=VGP.GRADE_ID AND GRD.DATE_FROM BETWEEN VGP.DATE_FROM AND NVL(VGP.DATE_TO , GRD.DATE_FROM+1) AND LKP.LOOKUP_TYPE='YES_NO' AND LKP.LOOKUP_CODE='Y' AND GRT.GRADE_ID = GRD.GRADE_ID AND GRT.LANGUAGE = USERENV('LANG') AND VGP.POSITION_ID=POS.POSITION_ID AND POS.DATE_EFFECTIVE < NVL(GRD.DATE_TO , POS.DATE_EFFECTIVE+1) AND NVL(POS.DATE_END , GRD.DATE_FROM+1) > GRD.DATE_FROM UNION SELECT GRT.NAME , GRD.GRADE_ID , GRD.DATE_FROM , GRD.DATE_TO , GRD.BUSINESS_GROUP_ID , POS.POSITION_ID , LKP.MEANING VALID_FOR_POS FROM HR_LOOKUPS LKP , PER_GRADES_TL GRT , PER_GRADES GRD , HR_ALL_POSITIONS POS WHERE LKP.LOOKUP_TYPE='YES_NO' AND LKP.LOOKUP_CODE='N' AND GRT.GRADE_ID = GRD.GRADE_ID AND GRT.LANGUAGE = USERENV('LANG') AND POS.DATE_EFFECTIVE < NVL(GRD.DATE_TO , POS.DATE_EFFECTIVE+1) AND NVL(POS.DATE_END , GRD.DATE_FROM+1) > GRD.DATE_FROM AND GRD.BUSINESS_GROUP_ID+0=POS.BUSINESS_GROUP_ID+0 AND NOT EXISTS (SELECT NULL FROM PER_VALID_GRADES VGP WHERE POS.POSITION_ID=VGP.POSITION_ID AND GRD.GRADE_ID=VGP.GRADE_ID AND VGP.DATE_FROM BETWEEN GRD.DATE_FROM AND NVL(GRD.DATE_TO , VGP.DATE_FROM+1))