Search 800 + Posts

May 6, 2019

Query to find next approver in Oracle EBS


SELECT     LEVEL, e.*
      FROM (SELECT DISTINCT papf.person_id, papf.employee_number,
                            papf.full_name "EMPLOYEE_FULL_NAME",
                            paaf.supervisor_id,
                            papf1.employee_number "SUPERVISOR_EMP_NUMBER",
                            papf1.full_name "SUPERVISOR_FULL_NAME",
                            ppt.user_person_type,
                            papf.business_group_id
                       FROM apps.per_all_people_f papf,
                            apps.per_all_assignments_f paaf,
                            apps.per_all_people_f papf1,
                            apps.per_person_types ppt
                      WHERE papf.person_id = paaf.person_id
                        AND papf1.person_id = paaf.supervisor_id
                       -- AND papf.business_group_id = 142
                        AND papf.business_group_id = paaf.business_group_id
                        AND TRUNC (SYSDATE) BETWEEN TRUNC(NVL(papf.effective_start_date,sysdate)) AND TRUNC(NVL(papf.effective_end_date,sysdate))
                        AND TRUNC (SYSDATE) BETWEEN TRUNC(NVL(paaf.effective_start_date,sysdate)) AND TRUNC(NVL(paaf.effective_end_date,sysdate))
                        AND ppt.person_type_id = papf.person_type_id
                        AND ppt.user_person_type <> 'Ex-employee'
                        ) e
CONNECT BY PRIOR person_id = supervisor_id
START WITH person_id = 'Enter Employee ID'

No comments:

Post a Comment