CREATE OR REPLACE VIEW PER_EMPLOYEES_CURRENT_X
(business_group_id, organization_id, employee_id, assignment_id, last_update_date, last_updated_by, last_update_login, creation_date, created_by, employee_num, full_name, first_name, middle_name, last_name, prefix, location_id, supervisor_id, set_of_books_id, default_code_combination_id, expense_check_address_flag, inactive_date, email_address, attribute1, attribute2, attribute3, attribute4, attribute5, attribute6, attribute7, attribute8, attribute9, attribute10, attribute11, attribute12, attribute13, attribute14, attribute15, attribute16, attribute17, attribute18, attribute19, attribute20, attribute21, attribute22, attribute23, attribute24, attribute25, attribute26, attribute27, attribute28, attribute29, attribute30, attribute_category, party_id, global_name, local_name, list_name)
AS
SELECT P.BUSINESS_GROUP_ID,
A.ORGANIZATION_ID,
P.PERSON_ID,
A.ASSIGNMENT_ID,
P.LAST_UPDATE_DATE,
P.LAST_UPDATED_BY,
P.LAST_UPDATE_LOGIN,
P.CREATION_DATE,
P.CREATED_BY,
P.EMPLOYEE_NUMBER,
P.FULL_NAME,
P.FIRST_NAME,
P.MIDDLE_NAMES,
P.LAST_NAME,
P.TITLE,
A.LOCATION_ID,
A.SUPERVISOR_ID,
A.SET_OF_BOOKS_ID,
A.DEFAULT_CODE_COMB_ID,
P.EXPENSE_CHECK_SEND_TO_ADDRESS,
B.ACTUAL_TERMINATION_DATE,
P.EMAIL_ADDRESS,
P.ATTRIBUTE1,
P.ATTRIBUTE2,
P.ATTRIBUTE3,
P.ATTRIBUTE4,
P.ATTRIBUTE5,
P.ATTRIBUTE6,
P.ATTRIBUTE7,
P.ATTRIBUTE8,
P.ATTRIBUTE9,
P.ATTRIBUTE10,
P.ATTRIBUTE11,
P.ATTRIBUTE12,
P.ATTRIBUTE13,
P.ATTRIBUTE14,
P.ATTRIBUTE15,
P.ATTRIBUTE16,
P.ATTRIBUTE17,
P.ATTRIBUTE18,
P.ATTRIBUTE19,
P.ATTRIBUTE20,
P.ATTRIBUTE21,
P.ATTRIBUTE22,
P.ATTRIBUTE23,
P.ATTRIBUTE24,
P.ATTRIBUTE25,
P.ATTRIBUTE26,
P.ATTRIBUTE27,
P.ATTRIBUTE28,
P.ATTRIBUTE29,
P.ATTRIBUTE30,
P.ATTRIBUTE_CATEGORY,
P.PARTY_ID,
P.GLOBAL_NAME,
P.LOCAL_NAME,
P.LIST_NAME
FROM PER_PEOPLE_F P, PER_ALL_ASSIGNMENTS_F A, PER_PERIODS_OF_SERVICE B
WHERE A.PERSON_ID = P.PERSON_ID
AND A.PRIMARY_FLAG = 'Y'
AND A.ASSIGNMENT_TYPE = 'E'
AND A.PERIOD_OF_SERVICE_ID = B.PERIOD_OF_SERVICE_ID
AND TRUNC(SYSDATE) BETWEEN P.EFFECTIVE_START_DATE AND
P.EFFECTIVE_END_DATE
AND TRUNC(SYSDATE) BETWEEN A.EFFECTIVE_START_DATE AND
A.EFFECTIVE_END_DATE
AND (B.ACTUAL_TERMINATION_DATE >= trunc(sysdate) or
B.ACTUAL_TERMINATION_DATE is null)
AND P.EMPLOYEE_NUMBER IS NOT NULL;