DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_HK_PERSON_API

Source


1 PACKAGE BODY hr_hk_person_api AS
2 /* $Header: hrhkwrpe.pkb 115.5 2002/12/09 09:55:14 vgsriniv ship $ */
3   --
4   -- Package Variables
5   --
6   g_package  VARCHAR2(33) := 'hr_person_api.';
7   -- ----------------------------------------------------------------------------
8   -- |--------------------------< update_hk_person >----------------------------|
9   -- ----------------------------------------------------------------------------
10   PROCEDURE update_hk_person
11   (p_validate                     IN      BOOLEAN   DEFAULT FALSE
12   ,p_effective_date               IN      DATE
13   ,p_datetrack_update_mode        IN      VARCHAR2
14   ,p_person_id                    IN      NUMBER
15   ,p_object_version_number        IN OUT NOCOPY NUMBER
16   ,p_person_type_id               IN      NUMBER   DEFAULT hr_api.g_number
17   ,p_last_name                    IN      VARCHAR2 DEFAULT hr_api.g_varchar2
18   ,p_applicant_number             IN      VARCHAR2 DEFAULT hr_api.g_varchar2
19   ,p_comments                     IN      VARCHAR2 DEFAULT hr_api.g_varchar2
20   ,p_date_employee_data_verified  IN      DATE     DEFAULT hr_api.g_date
21   ,p_date_of_birth                IN      DATE     DEFAULT hr_api.g_date
22   ,p_email_address                IN      VARCHAR2 DEFAULT hr_api.g_varchar2
23   ,p_employee_number              IN OUT NOCOPY VARCHAR2
24   ,p_expense_check_send_to_addres IN      VARCHAR2 DEFAULT hr_api.g_varchar2
25   ,p_first_name                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
26   ,p_known_as                     IN      VARCHAR2 DEFAULT hr_api.g_varchar2
27   ,p_marital_status               IN      VARCHAR2 DEFAULT hr_api.g_varchar2
28   ,p_middle_names                 IN      VARCHAR2 DEFAULT hr_api.g_varchar2
29   ,p_nationality                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
30   ,p_hkid_number                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
31   ,p_previous_last_name           IN      VARCHAR2 DEFAULT hr_api.g_varchar2
32   ,p_registered_disabled_flag     IN      VARCHAR2 DEFAULT hr_api.g_varchar2
33   ,p_sex                          IN      VARCHAR2 DEFAULT hr_api.g_varchar2
34   ,p_title                        IN      VARCHAR2 DEFAULT hr_api.g_varchar2
35   ,p_vendor_id                    IN      NUMBER   DEFAULT hr_api.g_number
36   ,p_work_telephone               IN      VARCHAR2 DEFAULT hr_api.g_varchar2
37   ,p_attribute_category           IN      VARCHAR2 DEFAULT hr_api.g_varchar2
38   ,p_attribute1                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
39   ,p_attribute2                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
40   ,p_attribute3                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
41   ,p_attribute4                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
42   ,p_attribute5                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
43   ,p_attribute6                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
44   ,p_attribute7                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
45   ,p_attribute8                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
46   ,p_attribute9                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
47   ,p_attribute10                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
48   ,p_attribute11                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
49   ,p_attribute12                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
50   ,p_attribute13                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
51   ,p_attribute14                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
52   ,p_attribute15                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
53   ,p_attribute16                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
54   ,p_attribute17                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
55   ,p_attribute18                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
56   ,p_attribute19                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
57   ,p_attribute20                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
58   ,p_attribute21                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
59   ,p_attribute22                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
60   ,p_attribute23                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
61   ,p_attribute24                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
62   ,p_attribute25                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
63   ,p_attribute26                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
64   ,p_attribute27                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
65   ,p_attribute28                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
66   ,p_attribute29                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
67   ,p_attribute30                  IN      VARCHAR2 DEFAULT hr_api.g_varchar2
68   ,p_passport_number              IN      VARCHAR2 DEFAULT hr_api.g_varchar2
69   ,p_country_of_issue             IN      VARCHAR2 DEFAULT hr_api.g_varchar2
70   ,p_work_permit_number           IN      VARCHAR2 DEFAULT hr_api.g_varchar2
71   ,p_work_permit_expiry_date      IN      VARCHAR2 DEFAULT hr_api.g_varchar2
72   ,p_chinese_name                 IN      VARCHAR2 DEFAULT hr_api.g_varchar2
73   ,p_hk_full_name                 IN      VARCHAR2 DEFAULT hr_api.g_varchar2
74   ,p_previous_employer_name       IN      VARCHAR2 DEFAULT hr_api.g_varchar2
75   ,p_previous_employer_address    IN      VARCHAR2 DEFAULT hr_api.g_varchar2
76   ,p_employee_tax_file_number       IN      VARCHAR2 DEFAULT hr_api.g_varchar2
77   ,p_date_of_death                IN      DATE     DEFAULT hr_api.g_date
78   ,p_background_check_status      IN      VARCHAR2 DEFAULT hr_api.g_varchar2
79   ,p_background_date_check        IN      DATE     DEFAULT hr_api.g_date
80   ,p_blood_type                   IN      VARCHAR2 DEFAULT hr_api.g_varchar2
81   ,p_correspondence_language      IN      VARCHAR2 DEFAULT hr_api.g_varchar2
82   ,p_fast_path_employee           IN      VARCHAR2 DEFAULT hr_api.g_varchar2
83   ,p_fte_capacity                 IN      NUMBER   DEFAULT hr_api.g_number
84   ,p_hold_applicant_date_until    IN      DATE     DEFAULT hr_api.g_date
85   ,p_honors                       IN      VARCHAR2 DEFAULT hr_api.g_varchar2
86   ,p_internal_location            IN      VARCHAR2 DEFAULT hr_api.g_varchar2
87   ,p_last_medical_test_by         IN      VARCHAR2 DEFAULT hr_api.g_varchar2
88   ,p_last_medical_test_date       IN      DATE     DEFAULT hr_api.g_date
89   ,p_mailstop                     IN      VARCHAR2 DEFAULT hr_api.g_varchar2
90   ,p_office_number                IN      VARCHAR2 DEFAULT hr_api.g_varchar2
91   ,p_on_military_service          IN      VARCHAR2 DEFAULT hr_api.g_varchar2
92   ,p_pre_name_adjunct             IN      VARCHAR2 DEFAULT hr_api.g_varchar2
93   ,p_projected_start_date         IN      DATE     DEFAULT hr_api.g_date
94   ,p_rehire_authorizor            IN      VARCHAR2 DEFAULT hr_api.g_varchar2
95   ,p_rehire_recommendation        IN      VARCHAR2 DEFAULT hr_api.g_varchar2
96   ,p_resume_exists                IN      VARCHAR2 DEFAULT hr_api.g_varchar2
97   ,p_resume_last_updated          IN      DATE     DEFAULT hr_api.g_date
98   ,p_second_passport_exists       IN      VARCHAR2 DEFAULT hr_api.g_varchar2
99   ,p_student_status               IN      VARCHAR2 DEFAULT hr_api.g_varchar2
100   ,p_work_schedule                IN      VARCHAR2 DEFAULT hr_api.g_varchar2
101   ,p_rehire_reason                IN      VARCHAR2 DEFAULT hr_api.g_varchar2
102   ,p_suffix                       IN      VARCHAR2 DEFAULT hr_api.g_varchar2
103   ,p_benefit_group_id             in      number   default hr_api.g_number
104   ,p_receipt_of_death_cert_date   in      date     default hr_api.g_date
105   ,p_coord_ben_med_pln_no         in      VARCHAR2 DEFAULT hr_api.g_varchar2
106   ,p_coord_ben_no_cvg_flag        in      varchar2 default hr_api.g_varchar2
107   ,p_uses_tobacco_flag            in      varchar2 default hr_api.g_varchar2
108   ,p_dpdnt_adoption_date          in      date     default hr_api.g_date
109   ,p_dpdnt_vlntry_svce_flag       in      varchar2 default hr_api.g_varchar2
110   ,p_original_date_of_hire        in      date     default hr_api.g_date
111   ,p_adjusted_svc_date            in      date     default hr_api.g_date
112   ,p_effective_start_date         OUT NOCOPY DATE
113   ,p_effective_end_date           OUT NOCOPY DATE
114   ,p_full_name                    OUT NOCOPY VARCHAR2
115   ,p_comment_id                   OUT NOCOPY NUMBER
116   ,p_name_combination_warning     OUT NOCOPY BOOLEAN
117   ,p_assign_payroll_warning       OUT NOCOPY BOOLEAN
118   ,p_orig_hire_warning            OUT NOCOPY BOOLEAN
119   ) is
120   --
121   -- Declare cursors and local variables
122   --
123 
124   l_proc                 VARCHAR2(72) := g_package||'update_hk_person';
125   l_effective_date       DATE;
126   l_legislation_code     per_business_groups.legislation_code%type;
127   l_discard_varchar2     VARCHAR2(30);
128   --
129   CURSOR check_legislation
130     (c_person_id      per_people_f.person_id%TYPE,
131      c_effective_date DATE
132     )
133   IS
134     select bgp.legislation_code
135     from per_people_f per,
136          per_business_groups bgp
137     where per.business_group_id = bgp.business_group_id
138     and   per.person_id     = c_person_id
139     and   c_effective_date
140       between per.effective_start_date and per.effective_end_date;
141   --
142 BEGIN
143   hr_utility.set_location('Entering:'|| l_proc, 5);
144   --
145   -- Initialise local variables
146   --
147   l_effective_date := trunc(p_effective_date);
148   --
149   -- Validation IN addition to Row Handlers
150   --
151   -- Check that the person exists.
152   --
153   OPEN check_legislation(p_person_id, l_effective_date);
154   FETCH check_legislation into l_legislation_code;
155   IF check_legislation%notfound THEN
156     CLOSE check_legislation;
157     hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
158     hr_utility.raise_error;
159   END IF;
160   CLOSE check_legislation;
161   hr_utility.set_location(l_proc, 20);
162   --
163   -- Check that the legislation of the specified business group is 'HK'.
164   --
165   IF l_legislation_code <> 'HK' THEN
166     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
167     hr_utility.set_message_token('LEG_CODE','HK');
168     hr_utility.raise_error;
169   END IF;
170   hr_utility.set_location(l_proc, 30);
171   --
172   -- Update the person record using the update_person BP
173   --
174   hr_person_api.update_person
175   (p_validate                     => p_validate
176   ,p_effective_date               => l_effective_date
177   ,p_datetrack_update_mode        => p_datetrack_update_mode
178   ,p_person_id                    => p_person_id
179   ,p_object_version_number        => p_object_version_number
180   ,p_person_type_id               => p_person_type_id
181   ,p_last_name                    => p_last_name
182   ,p_applicant_number             => p_applicant_number
183   ,p_comments                     => p_comments
184   ,p_date_employee_data_verified  => p_date_employee_data_verified
185   ,p_date_of_birth                => p_date_of_birth
186   ,p_email_address                => p_email_address
187   ,p_employee_number              => p_employee_number
188   ,p_expense_check_send_to_addres => p_expense_check_send_to_addres
189   ,p_first_name                   => p_first_name
190   ,p_known_as                     => p_known_as
191   ,p_marital_status               => p_marital_status
192   ,p_middle_names                 => p_middle_names
193   ,p_nationality                  => p_nationality
194   ,p_national_identifier          => p_hkid_number
195   ,p_previous_last_name           => p_previous_last_name
196   ,p_registered_disabled_flag     => p_registered_disabled_flag
197   ,p_sex                          => p_sex
198   ,p_title                        => p_title
199   ,p_vendor_id                    => p_vendor_id
200   ,p_work_telephone               => p_work_telephone
201   ,p_attribute_category           => p_attribute_category
202   ,p_attribute1                   => p_attribute1
203   ,p_attribute2                   => p_attribute2
204   ,p_attribute3                   => p_attribute3
205   ,p_attribute4                   => p_attribute4
206   ,p_attribute5                   => p_attribute5
207   ,p_attribute6                   => p_attribute6
208   ,p_attribute7                   => p_attribute7
209   ,p_attribute8                   => p_attribute8
210   ,p_attribute9                   => p_attribute9
211   ,p_attribute10                  => p_attribute10
212   ,p_attribute11                  => p_attribute11
213   ,p_attribute12                  => p_attribute12
214   ,p_attribute13                  => p_attribute13
215   ,p_attribute14                  => p_attribute14
216   ,p_attribute15                  => p_attribute15
217   ,p_attribute16                  => p_attribute16
218   ,p_attribute17                  => p_attribute17
219   ,p_attribute18                  => p_attribute18
220   ,p_attribute19                  => p_attribute19
221   ,p_attribute20                  => p_attribute20
222   ,p_attribute21                  => p_attribute21
223   ,p_attribute22                  => p_attribute22
224   ,p_attribute23                  => p_attribute23
225   ,p_attribute24                  => p_attribute24
226   ,p_attribute25                  => p_attribute25
227   ,p_attribute26                  => p_attribute26
228   ,p_attribute27                  => p_attribute27
229   ,p_attribute28                  => p_attribute28
230   ,p_attribute29                  => p_attribute29
231   ,p_attribute30                  => p_attribute30
232   ,p_per_information_category     => 'HK'
233   ,p_per_information1             => p_passport_number
234   ,p_per_information2             => p_country_of_issue
235   ,p_per_information3             => p_work_permit_number
236   ,p_per_information4             => p_work_permit_expiry_date
237   ,p_per_information5             => p_chinese_name
238   ,p_per_information6             => p_hk_full_name
239   ,p_per_information7             => p_previous_employer_name
240   ,p_per_information8             => p_previous_employer_address
241   ,p_per_information9             => p_employee_tax_file_number
242   ,p_date_of_death                => p_date_of_death
243   ,p_background_check_status      => p_background_check_status
244   ,p_background_date_check        => p_background_date_check
245   ,p_blood_type                   => p_blood_type
246   ,p_correspondence_language      => p_correspondence_language
247   ,p_fast_path_employee           => p_fast_path_employee
248   ,p_fte_capacity                 => p_fte_capacity
249   ,p_hold_applicant_date_until    => p_hold_applicant_date_until
250   ,p_honors                       => p_honors
251   ,p_internal_location            => p_internal_location
252   ,p_last_medical_test_by         => p_last_medical_test_by
253   ,p_last_medical_test_date       => p_last_medical_test_date
254   ,p_mailstop                     => p_mailstop
255   ,p_office_number                => p_office_number
256   ,p_on_military_service          => p_on_military_service
257   ,p_pre_name_adjunct             => p_pre_name_adjunct
258   ,p_projected_start_date         => p_projected_start_date
259   ,p_rehire_authorizor            => p_rehire_authorizor
260   ,p_rehire_recommendation        => p_rehire_recommendation
261   ,p_resume_exists                => p_resume_exists
262   ,p_resume_last_updated          => p_resume_last_updated
263   ,p_second_passport_exists       => p_second_passport_exists
264   ,p_student_status               => p_student_status
265   ,p_work_schedule                => p_work_schedule
266   ,p_rehire_reason                => p_rehire_reason
267   ,p_suffix                       => p_suffix
268    ,p_benefit_group_id                      => p_benefit_group_id
269    ,p_receipt_of_death_cert_date            => p_receipt_of_death_cert_date
270    ,p_coord_ben_med_pln_no                  => p_coord_ben_med_pln_no
271    ,p_coord_ben_no_cvg_flag                 => p_coord_ben_no_cvg_flag
272    ,p_uses_tobacco_flag                     => p_uses_tobacco_flag
273    ,p_dpdnt_adoption_date                   => p_dpdnt_adoption_date
274    ,p_dpdnt_vlntry_svce_flag                => p_dpdnt_vlntry_svce_flag
275    ,p_original_date_of_hire                 => p_original_date_of_hire
276    ,p_adjusted_svc_date                     => p_adjusted_svc_date
277   ,p_effective_start_date         => p_effective_start_date
278   ,p_effective_end_date           => p_effective_end_date
279   ,p_full_name                    => p_full_name
280   ,p_comment_id                   => p_comment_id
281   ,p_name_combination_warning     => p_name_combination_warning
282   ,p_assign_payroll_warning       => p_assign_payroll_warning
283   ,p_orig_hire_warning            => p_orig_hire_warning
284   );
285   --
286   hr_utility.set_location(' Leaving:'||l_proc, 7);
287   --
288   END update_hk_person;
289 END hr_hk_person_api;