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_type_id    = pol.line_type_id AND povs.vendor_site_id     = poh.vendor_site_id AND pov.vendor_id           = poh.vendor_id AND pol.item_id             = msib.inventory_item_id AND msib.organization_id  

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 ,                  hroutl_ou . organization_id   org_id ,                  hrl . location_id ,                  hrl . location_code ,                  glev . flex_segment_value FROM     apps . xle_entity_profiles   lep ,         apps . xle_registrations   reg ,         apps . hr_locations_all   hrl ,         apps . hz_parties   hzp ,         apps . fnd_territories_vl   ter ,         apps . hr_operating_units   hro ,         apps . hr_all_organization_units_tl   hroutl_bg ,         apps . hr_all_organization_units_tl   hroutl_ou ,         hr_organization_units   gloperatingunitseo ,         apps . gl_legal_entities_bsvs   glev WHERE    lep . transacting_entity_flag   =   'Y'         AND   l

List of iExpenses Tables

List of iExpenses Tables  Table Name Description AP_EXPENSE_REPORT_HEADERS_ALL Expense report header information AP_EXPENSE_REPORT_LINES_ALL Expense report lines information AP_EXP_REPORT_DISTS_ALL Expense report distribution information. It contains the accounts against each expense report line. AP_CREDIT_CARD_TRXNS_ALL Table to store the corporate credit card transactions that are sent by the banks. These lines are saved as expense lines when the user creates the expense lines for credit cards AP_NOTES Table to store the comments entered by approvers and auditors     Setup tables   AP_EXPENSE_REPORTS_ALL This table contains the header level information about the expense templates AP_EXPENSE_REPORT_PARAMS_ALL This table contains the detail level information about the expense templates AP_POL_CAT_OPTIONS_ALL Table to store the policy options AP_POL_CONTEXT Table to store the policy context     AP_POL_LOCATIONS_TL Table