Skip to main content

SQL Query to identify loop in the Employee - Supervisor hierarchy in Oracle Applications



SELECT a.business_group_id, 
       a."person_id", 
       a.assignment_id, 
       a."employee_number", 
       a."full_name", 
       a."supervisor_id", 
       a."supervisor_emp_no", 
       a."supervisor", 
       a."organization_id", 
       a."position", 
       LEVEL                                        level1, 
       connect_by_root supervisor_emp_no            top_supervisor, 
       connect_by_iscycle                           loopback, 
       connect_by_root supervisor_id                AS top_supervisor_id, 
       Sys_connect_by_path (supervisor_emp_no, '/') PATH 
FROM   (SELECT papf.business_group_id, 
               papf.person_id, 
               paaf.assignment_id, 
               papf.employee_number, 
               papf.full_name, 
               paaf.supervisor_id, 
               papf1.employee_number                        supervisor_emp_no, 
               papf1.full_name                              supervisor, 
               paaf.organization_id, 
               hr_general.Decode_position(paaf.position_id) position 
        FROM   per_all_people_f papf, 
               per_all_assignments_f paaf, 
               per_all_people_f papf1 
        WHERE  papf.person_id = paaf.person_id 
               AND papf1.person_id = paaf.supervisor_id 
               AND papf.current_employee_flag = 'Y' 
               AND paaf.primary_flag = 'Y' 
               AND papf.business_group_id = paaf.business_group_id 
               AND papf1.business_group_id = papf.business_group_id 
               AND Trunc(SYSDATE) BETWEEN papf.effective_start_date AND 
                                          papf.effective_end_date 
               AND Trunc(SYSDATE) BETWEEN paaf.effective_start_date AND 
                                          paaf.effective_end_date 
               AND Trunc(SYSDATE) BETWEEN papf1.effective_start_date AND 
                                          papf1.effective_end_date) a 
WHERE  connect_by_iscycle > 0 
CONNECT BY NOCYCLE PRIOR a.person_id = a.supervisor_id 
ORDER  SIBLINGS BY a.person_id; 

Comments

Popular posts from this blog

SQL Query to extract Oracle Purchase Order Information

SELECT   poh.po_header_id,    poh.type_lookup_code PO_TYPE,   poh.authorization_status PO_STATUS,   poh.segment1 PO_NUMBER,   pov.vendor_name SUPPLIER_NAME,   povs.vendor_site_code Location,   hrls.location_code Ship_To,   hrlb.location_code Bill_to,   pol.line_num ,   msib.segment1 Item,   pol.unit_price,   pol.quantity,   pod.amount_billed Amount,   pod.destination_subinventory,   ppf.full_name Buyer_Name,   poh.closed_Code  FROM   PO_HEADERS_ALL poh,   PO_LINES_ALL pol,   mtl_system_items_b msib,   PO_LINE_LOCATIONS_ALL poll,   PO_DISTRIBUTIONS_ALL pod,   po_vendors pov,   po_vendor_sites_All povs,   hr_locations_all hrls,   hr_locations_all hrlb,   per_all_people_f ppf,   po_line_types polt WHERE   1                         =1 AND polt.line...

Query to find Operating Unit, Business Group and Legal Entity Information

SELECT   DISTINCT   hrl . country ,                  hroutl_bg . name              bg ,                  hroutl_bg . organization_id ,                  lep . legal_entity_id ,                  lep . name                    legal_entity ,                  hroutl_ou . name              ou_name ,               ...

How To Enable / Disable Forms Personalization Option

Forms Personalization gives great flexibility to execute custom business logic without performing so much of technical work. To start forms personalization navigate to Help -> Diagnostics -> Custom Code -> Personalize But many time when we click on personalize it give below error  " Function is not available for this respnosibility. Change responsibilities or contact your System Administrator " To Enable access to forms personalization function we need to set below profile option.  -  Utilities:Diagnostics -> Yes / No It determines the diagnostics option is enabled for a user / responsibility or site, depending on the level profile option is set. Navigate to System Administrator -> Profile -> System Query for your user / responsibility for which you want to provide access. Set the value to 'Yes' , If you want allow access to forms personalization Since we change the profile option please change the respons...