我正在尝试检索特定人员的缺勤历史记录(已批准、待定、已拒绝、返回更正)。我只是 EBS 和 PL/SQL 的新手。我在网上找到了一些有用的 sql 查询,但我完全理解其中的含义。
下一个请求是查找批准的缺勤:
SELECT pat.name absence_type,
paa.date_start leave_start_date,
paa.date_end leave_end_date,
paa.absence_days,
paa.abs_information_category,
paa.abs_information2,
paa.abs_information3,
paa.abs_information4
FROM per_absence_attendances paa,
per_absence_attendance_types pat,
per_all_people_f papf
WHERE paa.absence_attendance_type_id = pat.absence_attendance_type_id
AND papf.person_id = paa.person_id
AND Trunc (paa.date_start) BETWEEN Trunc (papf.effective_start_date) AND
Trunc (papf.effective_end_date)
-- I removed the next section
/*AND TRUNC (p_date) BETWEEN TRUNC (paa.date_start)
AND TRUNC (NVL (paa.date_end,
paa.date_start
)
)
*/
AND papf.person_id = :p_person_id;
如果我错了,请纠正我,我从这个请求中理解的是,如果缺勤的开始日期在表中员工的工作生效日期之间,per_all_people_f
那么他的休假请求是否被批准?
这里没有主管和分配的方面吗?
要获得待处理的缺勤请求,我们必须查询表:
HR_API_TRANSACTIONS
HR_API_TRANSACTION_STEPS
HR_API_TRANSACTION_VALUES
并且, hr_api_transactions.status = 'Y'
。
发现的其他状态:
'IR'=Return for correction
'E'=Error
但是“W”和“D”是什么意思?
我怎样才能得到主管拒绝的缺席?