DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_SA_GET_PERSON_DETAILS

Source


1 PACKAGE BODY HR_SA_GET_PERSON_DETAILS AS
2 /* $Header: pesagpdt.pkb 120.0 2005/05/31 20:38:27 appldev noship $ */
3 
4   Function ASG_NATIONALITY_GROUP (p_Assignment_Id Number,
5                                  p_Effective_Date Date) return Varchar2
6   IS
7     l_Nationality_Group HR_LOOKUPS.MEANING%TYPE;
8 
9     CURSOR csr_Nationality_Group (l_Assignment_Id Number,
10                                  l_Effective_Date Date) IS
11      select a.meaning
12      from   per_all_people_f       PEOPLE
13             ,hr_lookups             a
14             ,per_all_assignments_f  ASSIGN
15             ,per_shared_types       SHTYPE
16     where   l_effective_date between ASSIGN.effective_start_date
17                              and ASSIGN.effective_end_date
18     and     l_effective_date BETWEEN PEOPLE.effective_start_date
19                              and PEOPLE.effective_end_date
20     and     ASSIGN.assignment_id = l_assignment_id
21     and     PEOPLE.person_id     = ASSIGN.person_id
22     and     SHTYPE.LOOKUP_TYPE     (+)= 'NATIONALITY'
23     and     PEOPLE.NATIONALITY     (+)= SHTYPE.SYSTEM_TYPE_CD
24     and     a.lookup_code        (+)= SHTYPE.INFORMATION5
25     and     a.lookup_type        (+)= 'NATIONALITY_GROUP'
26     and     a.application_id  (+)= 800;
27 
28   BEGIN
29 
30     OPEN csr_NAtionality_Group (p_Assignment_Id, p_Effective_Date);
31     FETCH csr_NAtionality_Group INTO l_Nationality_Group;
32     CLOSE csr_NAtionality_Group;
33 
34     RETURN l_Nationality_Group;
35 
36   EXCEPTION
37     WHEN OTHERS THEN
38       IF csr_NAtionality_Group%ISOPEN THEN
39         CLOSE csr_NAtionality_Group;
40       END IF;
41       RAISE;
42   END ASG_NATIONALITY_GROUP;
43 
44   Function PER_NATIONALITY_GROUP (p_Person_Id Number,
45                                  p_Effective_Date Date) return Varchar2
46   IS
47     l_Nationality_Group HR_LOOKUPS.MEANING%TYPE;
48 
49     CURSOR csr_Nationality_Group (l_Person_Id Number,
50                                  l_Effective_Date Date) IS
51      select a.meaning
52      from   per_all_people_f       PEOPLE
53             ,hr_lookups             a
54             ,per_shared_types       SHTYPE
55     where   PEOPLE.person_id     = l_person_id
56     and     l_effective_date BETWEEN PEOPLE.effective_start_date
57                              AND PEOPLE.effective_end_date
58     and     SHTYPE.LOOKUP_TYPE     (+)= 'NATIONALITY'
59     and     PEOPLE.NATIONALITY     (+)= SHTYPE.SYSTEM_TYPE_CD
60     and     a.lookup_code        (+)= SHTYPE.INFORMATION5
61     and     a.lookup_type        (+)= 'NATIONALITY_GROUP'
62     and     a.application_id  (+)= 800;
63 
64   BEGIN
65 
66     OPEN csr_NAtionality_Group (p_Person_Id, p_Effective_Date);
67     FETCH csr_NAtionality_Group INTO l_Nationality_Group;
68     CLOSE csr_NAtionality_Group;
69 
70     RETURN l_Nationality_Group;
71 
72   EXCEPTION
73     WHEN OTHERS THEN
74       IF csr_NAtionality_Group%ISOPEN THEN
75         CLOSE csr_NAtionality_Group;
76       END IF;
77       RAISE;
78   END PER_NATIONALITY_GROUP;
79 
80 
81 END HR_SA_GET_PERSON_DETAILS;
82