Sunday, 3 December 2017

Employee Wise HR Query for Saudi

SELECT   pap.employee_number "Employee No.", pap.full_name "Full Name",
         NVL (pap.national_identifier,
              ppe.pei_information1) "Iqama/Id Number",
         hlk.meaning "Nationality", hsc.segment2 "GOSI Number",
         ppa.proposed_salary_n "Basic Salary",
         TO_CHAR (pap.start_date, 'DD-MON-YYYY') "Hire Date",
         TO_CHAR (pap.date_of_birth, 'DD-MON-YYYY') "Date Of Birth",
         pap.per_information8 "AR Date of Birth",
         pap.per_information9 "AR Hire Date", pj.NAME "Job",
         pp.NAME "Position", pj.NAME "Grade", hao.NAME "Department",
         ppg.group_name "People Group",
         ppe.pei_information2 "Iqama Profession",
         ppe.pei_information4 "AR Iqama Exp Date",
         ppe.pei_information7 "ENG Iqama Exp Date",
         ppe1.pei_information1 "Passport No",
         ppe1.pei_information4 "Passport Exp Date",
         ppe1.pei_information5 "Passport Issue Place"
       
    FROM hr.per_all_people_f pap,
         hr.per_all_assignments_f paf,
         hr.hr_all_organization_units hao,
         per_pay_proposals ppa,
         hr.per_jobs pj,
         per_positions pp,
         hr.per_grades pg,
         pay_people_groups ppg,
         hr.hr_locations_all hla,
         hr_soft_coding_keyflex hsc,
         apps.hr_lookups hlk,
         per_people_extra_info ppe,
         per_people_extra_info ppe1
   WHERE paf.organization_id = hao.organization_id
     AND paf.job_id = pj.job_id
     AND pap.person_id = paf.person_id
     AND paf.location_id = hla.location_id
     AND pap.person_id = ppe.person_id(+)
     AND ppe.information_type(+) = 'SA_IQAMA'
      AND pap.person_id = ppe1.person_id(+)
     AND ppe1.information_type(+) = 'SA_PASSPORT'
     AND paf.people_group_id = ppg.people_group_id(+)
     AND hsc.segment1 = hao.business_group_id
     AND hsc.soft_coding_keyflex_id(+) = paf.soft_coding_keyflex_id
     AND paf.grade_id = pg.grade_id(+)
     AND paf.assignment_id = ppa.assignment_id
     AND paf.position_id = pp.position_id(+)
     AND TRUNC (SYSDATE) BETWEEN pap.effective_start_date
                             AND pap.effective_end_date
     AND TRUNC (SYSDATE) BETWEEN paf.effective_start_date
                             AND paf.effective_end_date
     AND hlk.lookup_type = 'NATIONALITY'
     AND hlk.lookup_code(+) = pap.nationality
ORDER BY TO_NUMBER (pap.employee_number)

No comments:

Post a Comment