DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_FI_PERSON_API

Source


1 PACKAGE BODY HR_FI_PERSON_API AS
2   /* $Header: peperfii.pkb 120.1.12000000.2 2007/02/14 12:29:01 dbehera noship $ */
3 
4    -- Package Variables
5    g_package  VARCHAR2(33) := 'hr_fi_person_api.';
6    g_debug boolean := hr_utility.debug_enabled;
7 
8    procedure update_fi_person
9   (p_validate                     in      boolean   default false
10   ,p_effective_date               in      date
11   ,p_datetrack_update_mode        in      varchar2
12   ,p_person_id                    in      number
13   ,p_object_version_number        in out nocopy  number
14   ,p_person_type_id               in      number   default hr_api.g_number
15   ,p_last_name                  in      varchar2 default hr_api.g_varchar2
16   ,p_applicant_number             in      varchar2 default hr_api.g_varchar2
17   ,p_comments                     in      varchar2 default hr_api.g_varchar2
18   ,p_date_employee_data_verified  in      date     default hr_api.g_date
19   ,p_date_of_birth                in      date     default hr_api.g_date
20   ,p_email_address                in      varchar2 default hr_api.g_varchar2
21   ,p_employee_number              in	out nocopy  varchar2
22   ,p_expense_check_send_to_addres in      varchar2 default hr_api.g_varchar2
23   ,p_first_name                   in      varchar2 default hr_api.g_varchar2
24   ,p_known_as                     in      varchar2 default hr_api.g_varchar2
25   ,p_marital_status               in      varchar2 default hr_api.g_varchar2
26   ,p_nationality                  in      varchar2 default hr_api.g_varchar2
27   ,p_national_identifier          in      varchar2 default hr_api.g_varchar2
28   ,p_previous_last_name           in      varchar2 default hr_api.g_varchar2
29   ,p_registered_disabled_flag     in      varchar2 default hr_api.g_varchar2
30   ,p_sex                          in      varchar2 default hr_api.g_varchar2
31   ,p_title                        in      varchar2 default hr_api.g_varchar2
32   ,p_vendor_id                    in      number   default hr_api.g_number
33   ,p_work_telephone               in      varchar2 default hr_api.g_varchar2
34   ,p_attribute_category           in      varchar2 default hr_api.g_varchar2
35   ,p_attribute1                   in      varchar2 default hr_api.g_varchar2
36   ,p_attribute2                   in      varchar2 default hr_api.g_varchar2
37   ,p_attribute3                   in      varchar2 default hr_api.g_varchar2
38   ,p_attribute4                   in      varchar2 default hr_api.g_varchar2
39   ,p_attribute5                   in      varchar2 default hr_api.g_varchar2
40   ,p_attribute6                   in      varchar2 default hr_api.g_varchar2
41   ,p_attribute7                   in      varchar2 default hr_api.g_varchar2
42   ,p_attribute8                   in      varchar2 default hr_api.g_varchar2
43   ,p_attribute9                   in      varchar2 default hr_api.g_varchar2
44   ,p_attribute10                  in      varchar2 default hr_api.g_varchar2
45   ,p_attribute11                  in      varchar2 default hr_api.g_varchar2
46   ,p_attribute12                  in      varchar2 default hr_api.g_varchar2
47   ,p_attribute13                  in      varchar2 default hr_api.g_varchar2
48   ,p_attribute14                  in      varchar2 default hr_api.g_varchar2
49   ,p_attribute15                  in      varchar2 default hr_api.g_varchar2
50   ,p_attribute16                  in      varchar2 default hr_api.g_varchar2
51   ,p_attribute17                  in      varchar2 default hr_api.g_varchar2
52   ,p_attribute18                  in      varchar2 default hr_api.g_varchar2
53   ,p_attribute19                  in      varchar2 default hr_api.g_varchar2
54   ,p_attribute20                  in      varchar2 default hr_api.g_varchar2
55   ,p_attribute21                  in      varchar2 default hr_api.g_varchar2
56   ,p_attribute22                  in      varchar2 default hr_api.g_varchar2
57   ,p_attribute23                  in      varchar2 default hr_api.g_varchar2
58   ,p_attribute24                  in      varchar2 default hr_api.g_varchar2
59   ,p_attribute25                  in      varchar2 default hr_api.g_varchar2
60   ,p_attribute26                  in      varchar2 default hr_api.g_varchar2
61   ,p_attribute27                  in      varchar2 default hr_api.g_varchar2
62   ,p_attribute28                  in      varchar2 default hr_api.g_varchar2
63   ,p_attribute29                  in      varchar2 default hr_api.g_varchar2
64   ,p_attribute30                  in      varchar2 default hr_api.g_varchar2
65   ,p_place_of_residence in      varchar2 default hr_api.g_varchar2
66   ,p_secondary_email      in      varchar2 default hr_api.g_varchar2
67   ,p_epost_address          in      varchar2 default hr_api.g_varchar2
68   ,p_speed_dial_number       	  in      varchar2 default hr_api.g_varchar2
69   ,p_qualification                in      varchar2 default hr_api.g_varchar2
70   ,p_level	        	  in      varchar2 default hr_api.g_varchar2
71   ,p_field	        	  in      varchar2 default hr_api.g_varchar2
72   ,p_retirement_date        	  in      varchar2 default hr_api.g_varchar2
73   ,p_union_name                   in      varchar2 default hr_api.g_varchar2
74   ,p_membership_number            in      varchar2 default hr_api.g_varchar2
75   ,p_payment_mode                 in      varchar2 default hr_api.g_varchar2
76   ,p_fixed_amount                 in      varchar2 default hr_api.g_varchar2
77   ,p_percentage                   in      varchar2 default hr_api.g_varchar2
78   ,p_pension_joining_date         in      varchar2 default hr_api.g_varchar2
79   ,p_pension_type                 in      varchar2 default hr_api.g_varchar2
80   ,p_pension_group                in      varchar2 default hr_api.g_varchar2
81   ,p_planned_retirement_age       in      varchar2 default hr_api.g_varchar2
82   ,p_membership_start_date         in      varchar2 default hr_api.g_varchar2
83   ,p_membership_end_date	   in      varchar2 default hr_api.g_varchar2
84   ,p_termination_date         in      varchar2 default hr_api.g_varchar2
85   ,p_termination_reason	   in	  varchar2     default hr_api.g_varchar2
86   ,p_mother_tongue         in      varchar2     default hr_api.g_varchar2
87   ,p_foreign_personal_id	   in	  varchar2     default hr_api.g_varchar2
88   ,p_pension_insurance_number	in	  varchar2     default hr_api.g_varchar2
89   ,p_date_of_death                in      date     default hr_api.g_date
90   ,p_background_check_status      in      varchar2 default hr_api.g_varchar2
91   ,p_background_date_check        in      date     default hr_api.g_date
92   ,p_blood_type                   in      varchar2 default hr_api.g_varchar2
93   ,p_correspondence_language      in      varchar2 default hr_api.g_varchar2
94   ,p_fast_path_employee           in      varchar2 default hr_api.g_varchar2
95   ,p_fte_capacity                 in      number   default hr_api.g_number
96   ,p_hold_applicant_date_until    in      date     default hr_api.g_date
97   ,p_honors                       in      varchar2 default hr_api.g_varchar2
98   ,p_internal_location            in      varchar2 default hr_api.g_varchar2
99   ,p_last_medical_test_by         in      varchar2 default hr_api.g_varchar2
100   ,p_last_medical_test_date       in      date     default hr_api.g_date
101   ,p_mailstop                     in      varchar2 default hr_api.g_varchar2
102   ,p_office_number                in      varchar2 default hr_api.g_varchar2
103   ,p_on_military_service          in      varchar2 default hr_api.g_varchar2
104   ,p_projected_start_date         in      date     default hr_api.g_date
105   ,p_rehire_authorizor            in      varchar2 default hr_api.g_varchar2
106   ,p_rehire_recommendation        in      varchar2 default hr_api.g_varchar2
107   ,p_resume_exists                in      varchar2 default hr_api.g_varchar2
108   ,p_resume_last_updated          in      date     default hr_api.g_date
109   ,p_second_passport_exists       in      varchar2 default hr_api.g_varchar2
110   ,p_student_status               in      varchar2 default hr_api.g_varchar2
111   ,p_work_schedule                in      varchar2 default hr_api.g_varchar2
112   ,p_rehire_reason                in      varchar2 default hr_api.g_varchar2
113   ,p_benefit_group_id             in      number   default hr_api.g_number
114   ,p_receipt_of_death_cert_date   in      date     default hr_api.g_date
115   ,p_coord_ben_med_pln_no         in      varchar2 default hr_api.g_varchar2
116   ,p_coord_ben_no_cvg_flag        in      varchar2 default hr_api.g_varchar2
117   ,p_coord_ben_med_ext_er         in      varchar2 default hr_api.g_varchar2
118   ,p_coord_ben_med_pl_name        in      varchar2 default hr_api.g_varchar2
119   ,p_coord_ben_med_insr_crr_name  in      varchar2 default hr_api.g_varchar2
120   ,p_coord_ben_med_insr_crr_ident in      varchar2 default hr_api.g_varchar2
121   ,p_coord_ben_med_cvg_strt_dt    in      date     default hr_api.g_date
122   ,p_coord_ben_med_cvg_end_dt     in      date     default hr_api.g_date
123   ,p_uses_tobacco_flag            in      varchar2 default hr_api.g_varchar2
124   ,p_dpdnt_adoption_date          in      date     default hr_api.g_date
125   ,p_dpdnt_vlntry_svce_flag       in      varchar2 default hr_api.g_varchar2
126   ,p_original_date_of_hire        in      date     default hr_api.g_date
127   ,p_adjusted_svc_date            in      date     default hr_api.g_date
128   ,p_town_of_birth                in      varchar2 default hr_api.g_varchar2
129   ,p_region_of_birth              in      varchar2 default hr_api.g_varchar2
130   ,p_country_of_birth             in      varchar2 default hr_api.g_varchar2
131   ,p_global_person_id             in      varchar2 default hr_api.g_varchar2
132   ,p_party_id                     in      number   default hr_api.g_number
133   ,p_npw_number                   in      varchar2 default hr_api.g_varchar2
134   ,p_effective_start_date            out nocopy  date
135   ,p_effective_end_date              out nocopy  date
136   ,p_full_name                       out nocopy  varchar2
137   ,p_comment_id                      out nocopy  number
138   ,p_name_combination_warning        out nocopy  boolean
139   ,p_assign_payroll_warning          out nocopy  boolean
140   ,p_orig_hire_warning               out nocopy  boolean
141   ) is
142 
143   --
144   -- Declare cursors and local variables
145   --
146   l_proc                 VARCHAR2(72) ;
147   l_effective_date       date;
148   l_legislation_code     per_business_groups.legislation_code%type;
149   l_discard_varchar2     varchar2(30);
150   --
151   cursor check_legislation
152     (c_person_id      per_people_f.person_id%TYPE,
153      c_effective_date date
154     )
155   is
156     select bgp.legislation_code
157     from per_people_f per,
158          per_business_groups bgp
159     where per.business_group_id = bgp.business_group_id
160     and   per.person_id     = c_person_id
161     and   c_effective_date
162       between per.effective_start_date and per.effective_end_date;
163   --
164 begin
165  hr_utility.trace_on(null,'X');
166  l_proc:= g_package||'update_fi_person';
167  if g_debug then
168   hr_utility.set_location('Entering:'|| l_proc, 5);
169  end if;
170   --
171   -- Initialise local variables
172   --
173   l_effective_date := trunc(p_effective_date);
174   --
175   -- Validation in addition to Row Handlers
176   --
177   -- Check that the person exists.
178   --
179   open check_legislation(p_person_id, l_effective_date);
180   fetch check_legislation into l_legislation_code;
181   if check_legislation%notfound then
182     close check_legislation;
183     hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
184     hr_utility.raise_error;
185   end if;
186   close check_legislation;
187  if g_debug then
188   hr_utility.set_location(l_proc, 20);
189  end if;
190   --
191   -- Check that the legislation of the specified business group is 'FI'.
192   --
193   if l_legislation_code <> 'FI' then
194     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
195     hr_utility.set_message_token('LEG_CODE','FI');
196     hr_utility.raise_error;
197   end if;
198 
199   if p_membership_start_date is not null and p_membership_end_date is not null and
200      p_membership_start_date > p_membership_end_date then
201       hr_utility.set_message(801, 'HR_376639_FI_VALID_DATE');
202       hr_utility.set_message_token('LEG_CODE','FI');
203       hr_utility.raise_error;
204   end if;
205 
206 
207  if g_debug then
208   hr_utility.set_location(l_proc, 30);
209  end if;
210   --
211   -- Update the person record using the update_person
212   --
213   hr_person_api.update_person
214   (p_validate                     => p_validate
215   ,p_effective_date               => l_effective_date
216   ,p_datetrack_update_mode        => p_datetrack_update_mode
217   ,p_person_id                    => p_person_id
218   ,p_object_version_number        => p_object_version_number
219   ,p_person_type_id               => p_person_type_id
220   ,p_last_name                    => p_last_name
221   ,p_applicant_number             => p_applicant_number
222   ,p_comments                     => p_comments
223   ,p_date_employee_data_verified  => p_date_employee_data_verified
224   ,p_date_of_birth                => p_date_of_birth
225   ,p_email_address                => p_email_address
226   ,p_employee_number              => p_employee_number
227   ,p_expense_check_send_to_addres => p_expense_check_send_to_addres
228   ,p_first_name                   => p_first_name
229   ,p_known_as                     => p_known_as
230   ,p_marital_status               => p_marital_status
231   ,p_nationality                  => p_nationality
232   ,p_national_identifier          => p_national_identifier
233   ,p_previous_last_name           => p_previous_last_name
234   ,p_registered_disabled_flag     => p_registered_disabled_flag
235   ,p_sex                          => p_sex
236   ,p_title                        => p_title
237   ,p_vendor_id                    => p_vendor_id
238   ,p_work_telephone               => p_work_telephone
239   ,p_attribute_category           => p_attribute_category
240   ,p_attribute1                   => p_attribute1
241   ,p_attribute2                   => p_attribute2
242   ,p_attribute3                   => p_attribute3
243   ,p_attribute4                   => p_attribute4
244   ,p_attribute5                   => p_attribute5
245   ,p_attribute6                   => p_attribute6
246   ,p_attribute7                   => p_attribute7
247   ,p_attribute8                   => p_attribute8
248   ,p_attribute9                   => p_attribute9
249   ,p_attribute10                  => p_attribute10
250   ,p_attribute11                  => p_attribute11
251   ,p_attribute12                  => p_attribute12
252   ,p_attribute13                  => p_attribute13
253   ,p_attribute14                  => p_attribute14
254   ,p_attribute15                  => p_attribute15
255   ,p_attribute16                  => p_attribute16
256   ,p_attribute17                  => p_attribute17
257   ,p_attribute18                  => p_attribute18
258   ,p_attribute19                  => p_attribute19
259   ,p_attribute20                  => p_attribute20
260   ,p_attribute21                  => p_attribute21
261   ,p_attribute22                  => p_attribute22
262   ,p_attribute23                  => p_attribute23
263   ,p_attribute24                  => p_attribute24
264   ,p_attribute25                  => p_attribute25
265   ,p_attribute26                  => p_attribute26
266   ,p_attribute27                  => p_attribute27
267   ,p_attribute28                  => p_attribute28
268   ,p_attribute29                  => p_attribute29
269   ,p_attribute30                  => p_attribute30
270   ,p_per_information_category     => 'FI'
271   ,p_per_information1             => p_place_of_residence
272   ,p_per_information2             => p_secondary_email
273   ,p_per_information3             => p_epost_address
274   ,p_per_information4             => p_speed_dial_number
275   ,p_per_information5             => p_qualification
276   ,p_per_information6             => p_level
277   ,p_per_information7             => p_field
278   ,p_per_information8             => p_retirement_date
279   ,p_per_information9             => p_union_name
280   ,p_per_information10            => p_membership_number
281   ,p_per_information11            => p_payment_mode
282   ,p_per_information12            => p_fixed_amount
283   ,p_per_information13            => p_percentage
284   ,p_per_information14            => p_pension_joining_date
285   ,p_per_information15            => p_pension_type
286   ,p_per_information16            => p_pension_group
287   ,p_per_information17            => p_planned_retirement_age
288   ,p_per_information18             => p_membership_start_date
289   ,p_per_information19             => p_membership_end_date
290   ,p_per_information20             => p_termination_date
291   ,p_per_information21             => p_termination_reason
292   ,p_per_information22	      => p_mother_tongue
293   ,p_per_information23	      => p_foreign_personal_id
294   ,p_per_information24	      => p_pension_insurance_number
295   ,p_date_of_death                => p_date_of_death
296   ,p_background_check_status      => p_background_check_status
297   ,p_background_date_check        => p_background_date_check
298   ,p_blood_type                   => p_blood_type
299   ,p_correspondence_language      => p_correspondence_language
300   ,p_fast_path_employee           => p_fast_path_employee
301   ,p_fte_capacity                 => p_fte_capacity
302   ,p_hold_applicant_date_until    => p_hold_applicant_date_until
303   ,p_honors                       => p_honors
304   ,p_internal_location            => p_internal_location
305   ,p_last_medical_test_by         => p_last_medical_test_by
306   ,p_last_medical_test_date       => p_last_medical_test_date
307   ,p_mailstop                     => p_mailstop
308   ,p_office_number                => p_office_number
309   ,p_on_military_service          => p_on_military_service
310   ,p_projected_start_date         => p_projected_start_date
311   ,p_rehire_authorizor            => p_rehire_authorizor
312   ,p_rehire_recommendation        => p_rehire_recommendation
313   ,p_resume_exists                => p_resume_exists
314   ,p_resume_last_updated          => p_resume_last_updated
315   ,p_second_passport_exists       => p_second_passport_exists
316   ,p_student_status               => p_student_status
317   ,p_work_schedule                => p_work_schedule
318   ,p_rehire_reason                => p_rehire_reason
319   ,p_benefit_group_id             => p_benefit_group_id
320   ,p_receipt_of_death_cert_date   => p_receipt_of_death_cert_date
321   ,p_coord_ben_med_pln_no         => p_coord_ben_med_pln_no
322   ,p_coord_ben_no_cvg_flag        => p_coord_ben_no_cvg_flag
323   ,p_coord_ben_med_ext_er         => p_coord_ben_med_ext_er
324   ,p_coord_ben_med_pl_name        => p_coord_ben_med_pl_name
325   ,p_coord_ben_med_insr_crr_name  => p_coord_ben_med_insr_crr_name
326   ,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
327   ,p_coord_ben_med_cvg_strt_dt    => p_coord_ben_med_cvg_strt_dt
328   ,p_coord_ben_med_cvg_end_dt     => p_coord_ben_med_cvg_end_dt
329   ,p_uses_tobacco_flag            => p_uses_tobacco_flag
330   ,p_dpdnt_adoption_date          => p_dpdnt_adoption_date
331   ,p_dpdnt_vlntry_svce_flag       => p_dpdnt_vlntry_svce_flag
332   ,p_original_date_of_hire        => p_original_date_of_hire
333   ,p_adjusted_svc_date            => p_adjusted_svc_date
334   ,p_town_of_birth                => p_town_of_birth
335   ,p_region_of_birth              => p_region_of_birth
336   ,p_country_of_birth             => p_country_of_birth
337   ,p_global_person_id             => p_global_person_id
338   ,p_party_id                     => p_party_id
339   ,p_npw_number                   => p_npw_number
340   ,p_effective_start_date         => p_effective_start_date
341   ,p_effective_end_date           => p_effective_end_date
342   ,p_full_name                    => p_full_name
343   ,p_comment_id                   => p_comment_id
344   ,p_name_combination_warning     => p_name_combination_warning
345   ,p_assign_payroll_warning       => p_assign_payroll_warning
346   ,p_orig_hire_warning            => p_orig_hire_warning
347   );
348   --
349  if g_debug then
350   hr_utility.set_location(' Leaving:'||l_proc, 7);
351  end if;
352   --
353 end update_fi_person;
354 
355 END HR_FI_PERSON_API;