1. SELECT papf.person_id person_id,
papf.employee_number emp_number,
papf.full_name emp_name,
hrorg.name org_name ,
hap.name position,
abt.name,
TRX.ITEM_KEY ITEM_KEY ,
TO_CHAR(trx.transaction_effective_date,'DD-MON-YY') Submission_Date,
nvl(to_char(to_date(stp.information1,'RRRR-MM-DD'),'DD-MON-
YYYY'),to_char(to_date(stp.information3,'RRRR-MM-DD'),'DD-MON-YYYY'))
Star_Date,
nvl(to_char(to_date(stp.information2,'RRRR-MM-DD'),'DD-MON-
YYYY'),to_char(to_date(stp.information4,'RRRR-MM-DD'),'DD-MON-YYYY'))
End_Date,
stp.information8 Num_Days,
hl1.meaning Approval_Status ,
stp.information9 Obsence_Status,
pass.assignment_id,
pass.payroll_id ,
extractvalue(VALUE(xx_row), '/PerAbsenceAttendancesEORow/DateStart') AS
Date_Start,
extractvalue(VALUE(xx_row), '/PerAbsenceAttendancesEORow/DateEnd') AS
Date_End
FROM per_all_people_f papf,
hr_all_organization_units hrorg,
per_all_assignments_f pass,
hr_all_positions_f hap,
hr_api_transactions trx,
hr_api_transaction_steps stp,
hr_lookups hl1,
per_absence_attendance_types abt,
TABLE(xmlsequence(extract(xmlparse(document transaction_document
wellformed),
'/Transaction/TransCache/AM/TXN/EO/PerAbsenceAttendancesEORow'))) xx_row
--WHERE trx.transaction_id =:transaction_id
WHERE
papf.current_employee_flag = 'Y'
AND pass.primary_flag = 'Y'
--AND pass.organization_id = nvl(:p_org_id,pass.organization_id)
AND hrorg.organization_id=pass.organization_id
--AND papf.business_group_id =
nvl(:p_bus_group_id,papf.business_group_id)
AND papf.person_id = pass.person_id
AND papf.person_id = trx.selected_person_id
--AND papf.person_id = nvl(:p_person_id,papf.person_id)
AND pass.position_id=hap.position_id
AND trx.transaction_id(+)=stp.transaction_id
AND trx.selected_person_id=papf.person_id
AND trx.assignment_id=pass.assignment_id
AND hl1.lookup_type(+) = 'PQH_SS_TRANSACTION_STATUS'
AND hl1.lookup_code = trx.status
--AND hl1.meaning =nvl(:p_approval_status,hl1.meaning)
--AND stp.information9 =nvl(:p_absence_status,stp.information9)
AND stp.information5=abt.absence_attendance_type_id
2. --AND abt.name=nvl(:p_abt_type,abt.name)
AND sysdate between papf.effective_start_date and papf.effective_end_date
AND sysdate between pass.effective_start_date and pass.effective_end_date
AND sysdate between hap.effective_start_date and hap.effective_end_date
--AND pass.BUSINESS_GROUP_ID = 6247
AND papf.employee_number = 29099
ORDER BY start_date DESC;