SELECT DISTINCT P.FULL_NAME , P.PERSON_ID , DECODE(P.CURRENT_EMPLOYEE_FLAG , 'Y' , P.EMPLOYEE_NUMBER , P.NPW_NUMBER) EMPLOYEE_NUMBER , P.LAST_NAME , P.FIRST_NAME , P.EMAIL_ADDRESS FROM PER_PEOPLE_F P , PER_ASSIGNMENT_STATUS_TYPES AST1 , PER_ASSIGNMENTS_F A WHERE TRUNC(SYSDATE) BETWEEN A.EFFECTIVE_START_DATE AND A.EFFECTIVE_END_DATE AND A.ASSIGNMENT_TYPE IN ('E' , 'C') AND A.ASSIGNMENT_STATUS_TYPE_ID = AST1.ASSIGNMENT_STATUS_TYPE_ID AND AST1.PER_SYSTEM_STATUS IN ('ACTIVE_ASSIGN' , 'ACTIVE_CWK' ) AND A.PRIMARY_FLAG = 'Y' AND P.PERSON_ID = A.SUPERVISOR_ID AND ( (P.CURRENT_EMPLOYEE_FLAG = 'Y' AND P.EMPLOYEE_NUMBER IS NOT NULL ) OR (P.CURRENT_NPW_FLAG ='Y' AND P.NPW_NUMBER IS NOT NULL ) ) AND TRUNC(SYSDATE) BETWEEN P.EFFECTIVE_START_DATE AND P.EFFECTIVE_END_DATE