DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_SG_PERSON_API

Source


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