SELECT DISTINCT P.FULL_NAME , P.PERSON_ID , NVL(P.EMPLOYEE_NUMBER , P.NPW_NUMBER ) , P.LAST_NAME , P.FIRST_NAME , P.EMAIL_ADDRESS FROM PER_PEOPLE_F P , PER_ASSIGNMENT_STATUS_TYPES AST , 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 = AST.ASSIGNMENT_STATUS_TYPE_ID AND AST.PER_SYSTEM_STATUS IN ('ACTIVE_ASSIGN' , 'ACTIVE_CWK') AND P.PERSON_ID = A.SUPERVISOR_ID AND TRUNC(SYSDATE) BETWEEN P.EFFECTIVE_START_DATE AND P.EFFECTIVE_END_DATE 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))