[Home] [Help]
PACKAGE BODY: APPS.PER_NO_WORK_INCIDENT_API
Source
1 package body per_no_work_incident_api as
2 /* $Header: peincnoi.pkb 120.0 2005/05/31 10:07:41 appldev noship $ */
3
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'per_no_work_incident_api.';
7 --
8 -- ----------------------------------------------------------------------
9 -- |----------------------< create_no_work_incident >--------------------|
10 -- ----------------------------------------------------------------------
11 --
12 procedure create_no_work_incident
13 (p_validate in boolean default false
14 ,p_effective_date in date
15 ,p_person_id in number
16 ,p_incident_reference in varchar2
17 ,p_incident_type in varchar2
18 ,p_at_work_flag in varchar2
19 ,p_incident_date in date
20 ,p_incident_time in varchar2 default null
21 ,p_org_notified_date in date default null
22 ,p_assignment_id in number default null
23 ,p_location in varchar2 default null
24 ,p_report_date in date default null
25 ,p_report_time in varchar2 default null
26 ,p_report_method in varchar2 default null
27 ,p_person_reported_by in number default null
28 ,p_person_reported_to in varchar2 default null
29 ,p_witness_details in varchar2 default null
30 ,p_description in varchar2 default null
31 ,p_injury_type in varchar2 default null
32 ,p_disease_type in varchar2 default null
33 ,p_hazard_type in varchar2 default null
34 ,p_body_part in varchar2 default null
35 ,p_treatment_received_flag in varchar2 default null
36 ,p_hospital_details in varchar2 default null
37 ,p_emergency_code in varchar2 default null
38 ,p_hospitalized_flag in varchar2 default null
39 ,p_hospital_address in varchar2 default null
40 ,p_activity_at_time_of_work in varchar2 default null
41 ,p_objects_involved in varchar2 default null
42 ,p_privacy_issue in varchar2 default null
43 ,p_work_start_time in varchar2 default null
44 ,p_date_of_death in date default null
45 ,p_report_completed_by in varchar2 default null
46 ,p_reporting_person_title in varchar2 default null
47 ,p_reporting_person_phone in varchar2 default null
48 ,p_days_restricted_work in number default null
49 ,p_days_away_from_work in number default null
50 ,p_doctor_name in varchar2 default null
51 ,p_compensation_date in date default null
52 ,p_compensation_currency in varchar2 default null
53 ,p_compensation_amount in number default null
54 ,p_remedial_hs_action in varchar2 default null
55 ,p_notified_hsrep_id in number default null
56 ,p_notified_hsrep_date in date default null
57 ,p_notified_rep_id in number default null
58 ,p_notified_rep_date in date default null
59 ,p_notified_rep_org_id in number default null
60 ,p_related_incident_id in number default null
61 ,p_over_time_flag in varchar2 default null
62 ,p_absence_exists_flag in varchar2 default null
63 ,p_attribute_category in varchar2 default null
64 ,p_attribute1 in varchar2 default null
65 ,p_attribute2 in varchar2 default null
66 ,p_attribute3 in varchar2 default null
67 ,p_attribute4 in varchar2 default null
68 ,p_attribute5 in varchar2 default null
69 ,p_attribute6 in varchar2 default null
70 ,p_attribute7 in varchar2 default null
71 ,p_attribute8 in varchar2 default null
72 ,p_attribute9 in varchar2 default null
73 ,p_attribute10 in varchar2 default null
74 ,p_attribute11 in varchar2 default null
75 ,p_attribute12 in varchar2 default null
76 ,p_attribute13 in varchar2 default null
77 ,p_attribute14 in varchar2 default null
78 ,p_attribute15 in varchar2 default null
79 ,p_attribute16 in varchar2 default null
80 ,p_attribute17 in varchar2 default null
81 ,p_attribute18 in varchar2 default null
82 ,p_attribute19 in varchar2 default null
83 ,p_attribute20 in varchar2 default null
84 ,p_attribute21 in varchar2 default null
85 ,p_attribute22 in varchar2 default null
86 ,p_attribute23 in varchar2 default null
87 ,p_attribute24 in varchar2 default null
88 ,p_attribute25 in varchar2 default null
89 ,p_attribute26 in varchar2 default null
90 ,p_attribute27 in varchar2 default null
91 ,p_attribute28 in varchar2 default null
92 ,p_attribute29 in varchar2 default null
93 ,p_attribute30 in varchar2 default null
94 ,p_date_rep_social_security in varchar2 default null
95 ,p_date_rep_labor_inspection in varchar2 default null
96 ,p_incident_id out nocopy number
97 ,p_object_version_number out nocopy number
98 ) is
99 --
100 -- Declare cursors and local variables
101 --
102 l_business_group_id per_contracts_f.business_group_id%TYPE;
103 l_proc varchar2(72) := g_package||'create_no_work_incident';
104 l_legislation_code varchar2(2);
105 --
106 cursor csr_get_business_group_id is
107 select per.business_group_id
108 from per_all_people_f per
109 where per.person_id = p_person_id
110 and p_effective_date between per.effective_start_date
111 and per.effective_end_date;
112 --
113 cursor csr_bg is
114 select legislation_code
115 from per_business_groups pbg
116 where pbg.business_group_id = l_business_group_id;
117 --
118 begin
119
120 hr_utility.set_location('Entering:'|| l_proc, 10);
121 --
122 -- Issue a savepoint if operating in validation only mode
123 --
124 savepoint create_no_work_incident;
125 --
126 hr_utility.set_location(l_proc, 20);
127 --
128 -- Process Logic
129 --
130 -- Get person details.
131 --
132 open csr_get_business_group_id;
133 fetch csr_get_business_group_id
134 into l_business_group_id;
135 --
136 if csr_get_business_group_id%NOTFOUND then
137 close csr_get_business_group_id;
138 hr_utility.set_location(l_proc, 30);
139 hr_utility.set_message(801,'HR_7432_ASG_INVALID_PERSON');
140 hr_utility.raise_error;
141 end if;
142 close csr_get_business_group_id;
143 --
144 hr_utility.set_location(l_proc, 40);
145 --
146 -- Check that the specified business group is valid.
147 --
148 open csr_bg;
149 fetch csr_bg
150 into l_legislation_code;
151 if csr_bg%notfound then
152 close csr_bg;
153 hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
154 hr_utility.raise_error;
155 end if;
156 close csr_bg;
157 hr_utility.set_location(l_proc, 50);
158 --
159 -- Check that the legislation of the specified business group is 'NO'.
160 --
161 if l_legislation_code <> 'NO' then
162 hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
163 hr_utility.set_message_token('LEG_CODE','NO');
164 hr_utility.raise_error;
165 end if;
166 hr_utility.set_location(l_proc, 60);
167 --
168 -- Call the Work Incident business process
169 --
170 per_work_incident_api.create_work_incident
171 (p_validate => p_validate
172 ,p_effective_date => p_effective_date
173 ,p_person_id => p_person_id
174 ,p_incident_reference => p_incident_reference
175 ,p_incident_type => p_incident_type
176 ,p_at_work_flag => p_at_work_flag
177 ,p_incident_date => p_incident_date
178 ,p_incident_time => p_incident_time
179 ,p_org_notified_date => p_org_notified_date
180 ,p_assignment_id => p_assignment_id
181 ,p_location => p_location
182 ,p_report_date => p_report_date
183 ,p_report_time => p_report_time
184 ,p_report_method => p_report_method
185 ,p_person_reported_by => p_person_reported_by
186 ,p_person_reported_to => p_person_reported_to
187 ,p_witness_details => p_witness_details
188 ,p_description => p_description
189 ,p_injury_type => p_injury_type
190 ,p_disease_type => p_disease_type
191 ,p_hazard_type => p_hazard_type
192 ,p_body_part => p_body_part
193 ,p_treatment_received_flag => p_treatment_received_flag
194 ,p_hospital_details => p_hospital_details
195 ,p_emergency_code => p_emergency_code
196 ,p_hospitalized_flag => p_hospitalized_flag
197 ,p_hospital_address => p_hospital_address
198 ,p_activity_at_time_of_work => p_activity_at_time_of_work
199 ,p_objects_involved => p_objects_involved
200 ,p_privacy_issue => p_privacy_issue
201 ,p_work_start_time => p_work_start_time
202 ,p_date_of_death => p_date_of_death
203 ,p_report_completed_by => p_report_completed_by
204 ,p_reporting_person_title => p_reporting_person_title
205 ,p_reporting_person_phone => p_reporting_person_phone
206 ,p_days_restricted_work => p_days_restricted_work
207 ,p_days_away_from_work => p_days_away_from_work
208 ,p_doctor_name => p_doctor_name
209 ,p_compensation_date => p_compensation_date
210 ,p_compensation_currency => p_compensation_currency
211 ,p_compensation_amount => p_compensation_amount
212 ,p_remedial_hs_action => p_remedial_hs_action
213 ,p_notified_hsrep_id => p_notified_hsrep_id
214 ,p_notified_hsrep_date => p_notified_hsrep_date
215 ,p_notified_rep_id => p_notified_rep_id
216 ,p_notified_rep_date => p_notified_rep_date
217 ,p_notified_rep_org_id => p_notified_rep_org_id
218 ,p_related_incident_id => p_related_incident_id
219 ,p_over_time_flag => p_over_time_flag
220 ,p_absence_exists_flag => p_absence_exists_flag
221 ,p_attribute_category => p_attribute_category
222 ,p_attribute1 => p_attribute1
223 ,p_attribute2 => p_attribute2
224 ,p_attribute3 => p_attribute3
225 ,p_attribute4 => p_attribute4
226 ,p_attribute5 => p_attribute5
227 ,p_attribute6 => p_attribute6
228 ,p_attribute7 => p_attribute7
229 ,p_attribute8 => p_attribute8
230 ,p_attribute9 => p_attribute9
231 ,p_attribute10 => p_attribute10
232 ,p_attribute11 => p_attribute11
233 ,p_attribute12 => p_attribute12
234 ,p_attribute13 => p_attribute13
235 ,p_attribute14 => p_attribute14
236 ,p_attribute15 => p_attribute15
237 ,p_attribute16 => p_attribute16
238 ,p_attribute17 => p_attribute17
239 ,p_attribute18 => p_attribute18
240 ,p_attribute19 => p_attribute19
241 ,p_attribute20 => p_attribute20
242 ,p_attribute21 => p_attribute21
243 ,p_attribute22 => p_attribute22
244 ,p_attribute23 => p_attribute23
245 ,p_attribute24 => p_attribute24
246 ,p_attribute25 => p_attribute25
247 ,p_attribute26 => p_attribute26
248 ,p_attribute27 => p_attribute27
249 ,p_attribute28 => p_attribute28
250 ,p_attribute29 => p_attribute29
251 ,p_attribute30 => p_attribute30
252 ,p_inc_information_category => 'NO'
253 ,p_inc_information1 => p_date_rep_social_security
254 ,p_inc_information2 => p_date_rep_labor_inspection
255 ,p_incident_id => p_incident_id
256 ,p_object_version_number => p_object_version_number
257 );
258
259 --
260 hr_utility.set_location(' Leaving:'||l_proc, 70);
261 --
262 end create_no_work_incident;
263 --
264 -- ----------------------------------------------------------------------
265 -- |--------------------< update_no_work_incident >---------------------|
266 -- ----------------------------------------------------------------------
267 --
268 procedure update_no_work_incident
269 (p_validate in boolean default false
270 ,p_effective_date in date
271 ,p_incident_id in number
272 ,p_object_version_number in out nocopy number
273 ,p_incident_reference in varchar2 default hr_api.g_varchar2
274 ,p_incident_type in varchar2 default hr_api.g_varchar2
275 ,p_at_work_flag in varchar2 default hr_api.g_varchar2
276 ,p_incident_date in date default hr_api.g_date
277 ,p_incident_time in varchar2 default hr_api.g_varchar2
278 ,p_org_notified_date in date default hr_api.g_date
279 ,p_assignment_id in number default hr_api.g_number
280 ,p_location in varchar2 default hr_api.g_varchar2
281 ,p_report_date in date default hr_api.g_date
282 ,p_report_time in varchar2 default hr_api.g_varchar2
283 ,p_report_method in varchar2 default hr_api.g_varchar2
284 ,p_person_reported_by in number default hr_api.g_number
285 ,p_person_reported_to in varchar2 default hr_api.g_varchar2
286 ,p_witness_details in varchar2 default hr_api.g_varchar2
287 ,p_description in varchar2 default hr_api.g_varchar2
288 ,p_injury_type in varchar2 default hr_api.g_varchar2
289 ,p_disease_type in varchar2 default hr_api.g_varchar2
290 ,p_hazard_type in varchar2 default hr_api.g_varchar2
291 ,p_body_part in varchar2 default hr_api.g_varchar2
292 ,p_treatment_received_flag in varchar2 default hr_api.g_varchar2
293 ,p_hospital_details in varchar2 default hr_api.g_varchar2
294 ,p_emergency_code in varchar2 default hr_api.g_varchar2
295 ,p_hospitalized_flag in varchar2 default hr_api.g_varchar2
296 ,p_hospital_address in varchar2 default hr_api.g_varchar2
297 ,p_activity_at_time_of_work in varchar2 default hr_api.g_varchar2
298 ,p_objects_involved in varchar2 default hr_api.g_varchar2
299 ,p_privacy_issue in varchar2 default hr_api.g_varchar2
300 ,p_work_start_time in varchar2 default hr_api.g_varchar2
301 ,p_date_of_death in date default hr_api.g_date
302 ,p_report_completed_by in varchar2 default hr_api.g_varchar2
303 ,p_reporting_person_title in varchar2 default hr_api.g_varchar2
304 ,p_reporting_person_phone in varchar2 default hr_api.g_varchar2
305 ,p_days_restricted_work in number default hr_api.g_number
306 ,p_days_away_from_work in number default hr_api.g_number
307 ,p_doctor_name in varchar2 default hr_api.g_varchar2
308 ,p_compensation_date in date default hr_api.g_date
309 ,p_compensation_currency in varchar2 default hr_api.g_varchar2
310 ,p_compensation_amount in number default hr_api.g_number
311 ,p_remedial_hs_action in varchar2 default hr_api.g_varchar2
312 ,p_notified_hsrep_id in number default hr_api.g_number
313 ,p_notified_hsrep_date in date default hr_api.g_date
314 ,p_notified_rep_id in number default hr_api.g_number
315 ,p_notified_rep_date in date default hr_api.g_date
316 ,p_notified_rep_org_id in number default hr_api.g_number
317 ,p_related_incident_id in number default hr_api.g_number
318 ,p_over_time_flag in varchar2 default hr_api.g_varchar2
319 ,p_absence_exists_flag in varchar2 default hr_api.g_varchar2
320 ,p_attribute_category in varchar2 default hr_api.g_varchar2
321 ,p_attribute1 in varchar2 default hr_api.g_varchar2
322 ,p_attribute2 in varchar2 default hr_api.g_varchar2
323 ,p_attribute3 in varchar2 default hr_api.g_varchar2
324 ,p_attribute4 in varchar2 default hr_api.g_varchar2
325 ,p_attribute5 in varchar2 default hr_api.g_varchar2
326 ,p_attribute6 in varchar2 default hr_api.g_varchar2
327 ,p_attribute7 in varchar2 default hr_api.g_varchar2
328 ,p_attribute8 in varchar2 default hr_api.g_varchar2
329 ,p_attribute9 in varchar2 default hr_api.g_varchar2
330 ,p_attribute10 in varchar2 default hr_api.g_varchar2
331 ,p_attribute11 in varchar2 default hr_api.g_varchar2
332 ,p_attribute12 in varchar2 default hr_api.g_varchar2
333 ,p_attribute13 in varchar2 default hr_api.g_varchar2
334 ,p_attribute14 in varchar2 default hr_api.g_varchar2
335 ,p_attribute15 in varchar2 default hr_api.g_varchar2
336 ,p_attribute16 in varchar2 default hr_api.g_varchar2
337 ,p_attribute17 in varchar2 default hr_api.g_varchar2
338 ,p_attribute18 in varchar2 default hr_api.g_varchar2
339 ,p_attribute19 in varchar2 default hr_api.g_varchar2
340 ,p_attribute20 in varchar2 default hr_api.g_varchar2
341 ,p_attribute21 in varchar2 default hr_api.g_varchar2
342 ,p_attribute22 in varchar2 default hr_api.g_varchar2
343 ,p_attribute23 in varchar2 default hr_api.g_varchar2
344 ,p_attribute24 in varchar2 default hr_api.g_varchar2
345 ,p_attribute25 in varchar2 default hr_api.g_varchar2
346 ,p_attribute26 in varchar2 default hr_api.g_varchar2
347 ,p_attribute27 in varchar2 default hr_api.g_varchar2
348 ,p_attribute28 in varchar2 default hr_api.g_varchar2
349 ,p_attribute29 in varchar2 default hr_api.g_varchar2
350 ,p_attribute30 in varchar2 default hr_api.g_varchar2
351 ,p_date_rep_social_security in varchar2 default hr_api.g_varchar2
352 ,p_date_rep_labor_inspection in varchar2 default hr_api.g_varchar2
353
354 ) is
355 --
356 -- Declare cursors and local variables
357 --
358 l_business_group_id per_contracts_f.business_group_id%TYPE;
359 l_proc varchar2(72) := g_package||'update_no_work_incident';
360 l_legislation_code varchar2(2);
361 --
362 cursor csr_get_business_group_id is
363 select per.business_group_id
364 from per_all_people_f per
365 where per.person_id = (select person_id
366 from per_work_incidents
367 where incident_id = p_incident_id)
368 and p_effective_date between per.effective_start_date
369 and per.effective_end_date;
370 --
371 cursor csr_bg is
372 select legislation_code
373 from per_business_groups pbg
374 where pbg.business_group_id = l_business_group_id;
375 --
376 begin
377 --
378 hr_utility.set_location('Entering:'|| l_proc, 10);
379 --
380 -- Issue a savepoint if operating in validation only mode
381 --
382 savepoint update_no_work_incident;
383 --
384 hr_utility.set_location(l_proc, 20);
385 --
386 -- Process Logic
387 --
388 -- Get person details.
389 --
390 open csr_get_business_group_id;
391 fetch csr_get_business_group_id
392 into l_business_group_id;
393 --
394 if csr_get_business_group_id%NOTFOUND then
395 close csr_get_business_group_id;
396 hr_utility.set_location(l_proc, 30);
397 hr_utility.set_message(801,'HR_7432_ASG_INVALID_PERSON');
398 hr_utility.raise_error;
399 end if;
400 close csr_get_business_group_id;
401 --
402 hr_utility.set_location(l_proc, 40);
403 --
404 -- Check that the specified business group is valid.
405 --
406 open csr_bg;
407 fetch csr_bg
408 into l_legislation_code;
409 if csr_bg%notfound then
410 close csr_bg;
411 hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
412 hr_utility.raise_error;
413 end if;
414 close csr_bg;
415 --
416 hr_utility.set_location(l_proc, 50);
417 --
418 -- Check that the legislation of the specified business group is 'NO'.
419 --
420 if l_legislation_code <> 'NO' then
421 hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
422 hr_utility.set_message_token('LEG_CODE','NO');
423 hr_utility.raise_error;
424 end if;
425 hr_utility.set_location(l_proc, 60);
426 --
427 -- Call the contract business process
428 --
429 per_work_incident_api.update_work_incident
430 (p_validate => p_validate
431 ,p_effective_date => p_effective_date
432 ,p_incident_id => p_incident_id
433 ,p_object_version_number => p_object_version_number
434 ,p_incident_reference => p_incident_reference
435 ,p_incident_type => p_incident_type
436 ,p_at_work_flag => p_at_work_flag
437 ,p_incident_date => p_incident_date
438 ,p_incident_time => p_incident_time
439 ,p_org_notified_date => p_org_notified_date
440 ,p_assignment_id => p_assignment_id
441 ,p_location => p_location
442 ,p_report_date => p_report_date
443 ,p_report_time => p_report_time
444 ,p_report_method => p_report_method
445 ,p_person_reported_by => p_person_reported_by
446 ,p_person_reported_to => p_person_reported_to
447 ,p_witness_details => p_witness_details
448 ,p_description => p_description
449 ,p_injury_type => p_injury_type
450 ,p_disease_type => p_disease_type
451 ,p_hazard_type => p_hazard_type
452 ,p_body_part => p_body_part
453 ,p_treatment_received_flag => p_treatment_received_flag
454 ,p_hospital_details => p_hospital_details
455 ,p_emergency_code => p_emergency_code
456 ,p_hospitalized_flag => p_hospitalized_flag
457 ,p_hospital_address => p_hospital_address
458 ,p_activity_at_time_of_work => p_activity_at_time_of_work
459 ,p_objects_involved => p_objects_involved
460 ,p_privacy_issue => p_privacy_issue
461 ,p_work_start_time => p_work_start_time
462 ,p_date_of_death => p_date_of_death
463 ,p_report_completed_by => p_report_completed_by
464 ,p_reporting_person_title => p_reporting_person_title
465 ,p_reporting_person_phone => p_reporting_person_phone
466 ,p_days_restricted_work => p_days_restricted_work
467 ,p_days_away_from_work => p_days_away_from_work
468 ,p_doctor_name => p_doctor_name
469 ,p_compensation_date => p_compensation_date
470 ,p_compensation_currency => p_compensation_currency
471 ,p_compensation_amount => p_compensation_amount
472 ,p_remedial_hs_action => p_remedial_hs_action
473 ,p_notified_hsrep_id => p_notified_hsrep_id
474 ,p_notified_hsrep_date => p_notified_hsrep_date
475 ,p_notified_rep_id => p_notified_rep_id
476 ,p_notified_rep_date => p_notified_rep_date
477 ,p_notified_rep_org_id => p_notified_rep_org_id
478 ,p_related_incident_id => p_related_incident_id
479 ,p_over_time_flag => p_over_time_flag
480 ,p_absence_exists_flag => p_absence_exists_flag
481 ,p_attribute_category => p_attribute_category
482 ,p_attribute1 => p_attribute1
483 ,p_attribute2 => p_attribute2
484 ,p_attribute3 => p_attribute3
485 ,p_attribute4 => p_attribute4
486 ,p_attribute5 => p_attribute5
487 ,p_attribute6 => p_attribute6
488 ,p_attribute7 => p_attribute7
489 ,p_attribute8 => p_attribute8
490 ,p_attribute9 => p_attribute9
491 ,p_attribute10 => p_attribute10
492 ,p_attribute11 => p_attribute11
493 ,p_attribute12 => p_attribute12
494 ,p_attribute13 => p_attribute13
495 ,p_attribute14 => p_attribute14
496 ,p_attribute15 => p_attribute15
497 ,p_attribute16 => p_attribute16
498 ,p_attribute17 => p_attribute17
499 ,p_attribute18 => p_attribute18
500 ,p_attribute19 => p_attribute19
501 ,p_attribute20 => p_attribute20
502 ,p_attribute21 => p_attribute21
503 ,p_attribute22 => p_attribute22
504 ,p_attribute23 => p_attribute23
505 ,p_attribute24 => p_attribute24
506 ,p_attribute25 => p_attribute25
507 ,p_attribute26 => p_attribute26
508 ,p_attribute27 => p_attribute27
509 ,p_attribute28 => p_attribute28
510 ,p_attribute29 => p_attribute29
511 ,p_attribute30 => p_attribute30
512 ,p_inc_information_category => 'NO'
513 ,p_inc_information1 => p_date_rep_social_security
514 ,p_inc_information2 => p_date_rep_labor_inspection
515
516 );
517 --
518 hr_utility.set_location(' Leaving:'||l_proc, 70);
519 --
520 end update_no_work_incident;
521 --
522 end per_no_work_incident_api;