[Home] [Help]
PACKAGE BODY: APPS.HR_JOB_SWI
Source
1 Package Body hr_job_swi As
2 /* $Header: hrjobswi.pkb 115.6 2003/09/29 22:55:29 snukala noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'hr_job_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------------< create_job >------------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_job
12 (p_validate in number default hr_api.g_false_num
13 ,p_business_group_id in number
14 ,p_date_from in date
15 ,p_comments in varchar2 default null
16 ,p_date_to in date default null
17 ,p_approval_authority in number default null
18 ,p_benchmark_job_flag in varchar2 default null
19 ,p_benchmark_job_id in number default null
20 ,p_emp_rights_flag in varchar2 default null
21 ,p_job_group_id in number
22 ,p_attribute_category in varchar2 default null
23 ,p_attribute1 in varchar2 default null
24 ,p_attribute2 in varchar2 default null
25 ,p_attribute3 in varchar2 default null
26 ,p_attribute4 in varchar2 default null
27 ,p_attribute5 in varchar2 default null
28 ,p_attribute6 in varchar2 default null
29 ,p_attribute7 in varchar2 default null
30 ,p_attribute8 in varchar2 default null
31 ,p_attribute9 in varchar2 default null
32 ,p_attribute10 in varchar2 default null
33 ,p_attribute11 in varchar2 default null
34 ,p_attribute12 in varchar2 default null
35 ,p_attribute13 in varchar2 default null
36 ,p_attribute14 in varchar2 default null
37 ,p_attribute15 in varchar2 default null
38 ,p_attribute16 in varchar2 default null
39 ,p_attribute17 in varchar2 default null
40 ,p_attribute18 in varchar2 default null
41 ,p_attribute19 in varchar2 default null
42 ,p_attribute20 in varchar2 default null
43 ,p_job_information_category in varchar2 default null
44 ,p_job_information1 in varchar2 default null
45 ,p_job_information2 in varchar2 default null
46 ,p_job_information3 in varchar2 default null
47 ,p_job_information4 in varchar2 default null
48 ,p_job_information5 in varchar2 default null
49 ,p_job_information6 in varchar2 default null
50 ,p_job_information7 in varchar2 default null
51 ,p_job_information8 in varchar2 default null
52 ,p_job_information9 in varchar2 default null
53 ,p_job_information10 in varchar2 default null
54 ,p_job_information11 in varchar2 default null
55 ,p_job_information12 in varchar2 default null
56 ,p_job_information13 in varchar2 default null
57 ,p_job_information14 in varchar2 default null
58 ,p_job_information15 in varchar2 default null
59 ,p_job_information16 in varchar2 default null
60 ,p_job_information17 in varchar2 default null
61 ,p_job_information18 in varchar2 default null
62 ,p_job_information19 in varchar2 default null
63 ,p_job_information20 in varchar2 default null
64 ,p_segment1 in varchar2 default null
65 ,p_segment2 in varchar2 default null
66 ,p_segment3 in varchar2 default null
67 ,p_segment4 in varchar2 default null
68 ,p_segment5 in varchar2 default null
69 ,p_segment6 in varchar2 default null
70 ,p_segment7 in varchar2 default null
71 ,p_segment8 in varchar2 default null
72 ,p_segment9 in varchar2 default null
73 ,p_segment10 in varchar2 default null
74 ,p_segment11 in varchar2 default null
75 ,p_segment12 in varchar2 default null
76 ,p_segment13 in varchar2 default null
77 ,p_segment14 in varchar2 default null
78 ,p_segment15 in varchar2 default null
79 ,p_segment16 in varchar2 default null
80 ,p_segment17 in varchar2 default null
81 ,p_segment18 in varchar2 default null
82 ,p_segment19 in varchar2 default null
83 ,p_segment20 in varchar2 default null
84 ,p_segment21 in varchar2 default null
85 ,p_segment22 in varchar2 default null
86 ,p_segment23 in varchar2 default null
87 ,p_segment24 in varchar2 default null
88 ,p_segment25 in varchar2 default null
89 ,p_segment26 in varchar2 default null
90 ,p_segment27 in varchar2 default null
91 ,p_segment28 in varchar2 default null
92 ,p_segment29 in varchar2 default null
93 ,p_segment30 in varchar2 default null
94 ,p_concat_segments in varchar2 default null
95 ,p_job_id out nocopy number
96 ,p_object_version_number out nocopy number
97 ,p_job_definition_id out nocopy number
98 ,p_name out nocopy varchar2
99 ,p_return_status out nocopy varchar2
100 ) is
101 --
102 -- Variables for API Boolean parameters
103 l_validate boolean;
104 --
105 -- Variables for IN/OUT parameters
106 --
107 -- Other variables
108 l_proc varchar2(72) := g_package ||'create_job';
109 Begin
110 hr_utility.set_location(' Entering:' || l_proc,10);
111 --
112 -- Issue a savepoint
113 --
114 savepoint create_job_swi;
115 --
116 -- Initialise Multiple Message Detection
117 --
118 hr_multi_message.enable_message_list;
119 --
120 -- Remember IN OUT parameter IN values
121 --
122 --
123 -- Convert constant values to their corresponding boolean value
124 --
125 l_validate :=
126 hr_api.constant_to_boolean
127 (p_constant_value => p_validate);
128 --
129 -- Register Surrogate ID or user key values
130 --
131 --
132 -- Call API
133 --
134 hr_job_api.create_job
135 (p_validate => l_validate
136 ,p_business_group_id => p_business_group_id
137 ,p_date_from => p_date_from
138 ,p_comments => p_comments
139 ,p_date_to => p_date_to
140 ,p_approval_authority => p_approval_authority
141 ,p_benchmark_job_flag => p_benchmark_job_flag
142 ,p_benchmark_job_id => p_benchmark_job_id
143 ,p_emp_rights_flag => p_emp_rights_flag
144 ,p_job_group_id => p_job_group_id
145 ,p_attribute_category => p_attribute_category
146 ,p_attribute1 => p_attribute1
147 ,p_attribute2 => p_attribute2
148 ,p_attribute3 => p_attribute3
149 ,p_attribute4 => p_attribute4
150 ,p_attribute5 => p_attribute5
151 ,p_attribute6 => p_attribute6
152 ,p_attribute7 => p_attribute7
153 ,p_attribute8 => p_attribute8
154 ,p_attribute9 => p_attribute9
155 ,p_attribute10 => p_attribute10
156 ,p_attribute11 => p_attribute11
157 ,p_attribute12 => p_attribute12
158 ,p_attribute13 => p_attribute13
159 ,p_attribute14 => p_attribute14
160 ,p_attribute15 => p_attribute15
161 ,p_attribute16 => p_attribute16
162 ,p_attribute17 => p_attribute17
163 ,p_attribute18 => p_attribute18
164 ,p_attribute19 => p_attribute19
165 ,p_attribute20 => p_attribute20
166 ,p_job_information_category => p_job_information_category
167 ,p_job_information1 => p_job_information1
168 ,p_job_information2 => p_job_information2
169 ,p_job_information3 => p_job_information3
170 ,p_job_information4 => p_job_information4
171 ,p_job_information5 => p_job_information5
172 ,p_job_information6 => p_job_information6
173 ,p_job_information7 => p_job_information7
174 ,p_job_information8 => p_job_information8
175 ,p_job_information9 => p_job_information9
176 ,p_job_information10 => p_job_information10
177 ,p_job_information11 => p_job_information11
178 ,p_job_information12 => p_job_information12
179 ,p_job_information13 => p_job_information13
180 ,p_job_information14 => p_job_information14
181 ,p_job_information15 => p_job_information15
182 ,p_job_information16 => p_job_information16
183 ,p_job_information17 => p_job_information17
184 ,p_job_information18 => p_job_information18
185 ,p_job_information19 => p_job_information19
186 ,p_job_information20 => p_job_information20
187 ,p_segment1 => p_segment1
188 ,p_segment2 => p_segment2
189 ,p_segment3 => p_segment3
190 ,p_segment4 => p_segment4
191 ,p_segment5 => p_segment5
192 ,p_segment6 => p_segment6
193 ,p_segment7 => p_segment7
194 ,p_segment8 => p_segment8
195 ,p_segment9 => p_segment9
196 ,p_segment10 => p_segment10
197 ,p_segment11 => p_segment11
198 ,p_segment12 => p_segment12
199 ,p_segment13 => p_segment13
200 ,p_segment14 => p_segment14
201 ,p_segment15 => p_segment15
202 ,p_segment16 => p_segment16
203 ,p_segment17 => p_segment17
204 ,p_segment18 => p_segment18
205 ,p_segment19 => p_segment19
206 ,p_segment20 => p_segment20
207 ,p_segment21 => p_segment21
208 ,p_segment22 => p_segment22
209 ,p_segment23 => p_segment23
210 ,p_segment24 => p_segment24
211 ,p_segment25 => p_segment25
212 ,p_segment26 => p_segment26
213 ,p_segment27 => p_segment27
214 ,p_segment28 => p_segment28
215 ,p_segment29 => p_segment29
216 ,p_segment30 => p_segment30
217 ,p_concat_segments => p_concat_segments
218 ,p_job_id => p_job_id
219 ,p_object_version_number => p_object_version_number
220 ,p_job_definition_id => p_job_definition_id
221 ,p_name => p_name
222 );
223 --
224 -- Convert API warning boolean parameter values to specific
225 -- messages and add them to Multiple Message List
226 --
227 --
228 -- Convert API non-warning boolean parameter values
229 --
230 --
231 -- Derive the API return status value based on whether
232 -- messages of any type exist in the Multiple Message List.
233 -- Also disable Multiple Message Detection.
234 --
235 p_return_status := hr_multi_message.get_return_status_disable;
236 hr_utility.set_location(' Leaving:' || l_proc,20);
237 --
238 exception
239 when hr_multi_message.error_message_exist then
240 --
241 -- Catch the Multiple Message List exception which
242 -- indicates API processing has been aborted because
243 -- at least one message exists in the list.
244 --
245 rollback to create_job_swi;
246 --
247 -- Reset IN OUT parameters and set OUT parameters
248 --
249 p_job_id := null;
250 p_object_version_number := null;
251 p_job_definition_id := null;
252 p_name := null;
253 p_return_status := hr_multi_message.get_return_status_disable;
254 hr_utility.set_location(' Leaving:' || l_proc, 30);
255 when others then
256 --
257 -- When Multiple Message Detection is enabled catch
258 -- any Application specific or other unexpected
259 -- exceptions. Adding appropriate details to the
260 -- Multiple Message List. Otherwise re-raise the
261 -- error.
262 --
263 rollback to create_job_swi;
264 if hr_multi_message.unexpected_error_add(l_proc) then
265 hr_utility.set_location(' Leaving:' || l_proc,40);
266 raise;
267 end if;
268 --
269 -- Reset IN OUT and set OUT parameters
270 --
271 p_job_id := null;
272 p_object_version_number := null;
273 p_job_definition_id := null;
274 p_name := null;
275 p_return_status := hr_multi_message.get_return_status_disable;
276 hr_utility.set_location(' Leaving:' || l_proc,50);
277 end create_job;
278 -- ----------------------------------------------------------------------------
279 -- |------------------------------< update_job >------------------------------|
280 -- ----------------------------------------------------------------------------
281 PROCEDURE update_job
282 (p_validate in number default hr_api.g_false_num
283 ,p_business_group_id in number default hr_api.g_number
284 ,p_job_id in number
285 ,p_object_version_number in out nocopy number
286 ,p_date_from in date default hr_api.g_date
287 ,p_comments in varchar2 default hr_api.g_varchar2
288 ,p_date_to in date default hr_api.g_date
289 ,p_benchmark_job_flag in varchar2 default hr_api.g_varchar2
290 ,p_benchmark_job_id in number default hr_api.g_number
291 ,p_emp_rights_flag in varchar2 default hr_api.g_varchar2
292 ,p_attribute_category in varchar2 default hr_api.g_varchar2
293 ,p_attribute1 in varchar2 default hr_api.g_varchar2
294 ,p_attribute2 in varchar2 default hr_api.g_varchar2
295 ,p_attribute3 in varchar2 default hr_api.g_varchar2
296 ,p_attribute4 in varchar2 default hr_api.g_varchar2
297 ,p_attribute5 in varchar2 default hr_api.g_varchar2
298 ,p_attribute6 in varchar2 default hr_api.g_varchar2
299 ,p_attribute7 in varchar2 default hr_api.g_varchar2
300 ,p_attribute8 in varchar2 default hr_api.g_varchar2
301 ,p_attribute9 in varchar2 default hr_api.g_varchar2
302 ,p_attribute10 in varchar2 default hr_api.g_varchar2
303 ,p_attribute11 in varchar2 default hr_api.g_varchar2
304 ,p_attribute12 in varchar2 default hr_api.g_varchar2
305 ,p_attribute13 in varchar2 default hr_api.g_varchar2
306 ,p_attribute14 in varchar2 default hr_api.g_varchar2
307 ,p_attribute15 in varchar2 default hr_api.g_varchar2
308 ,p_attribute16 in varchar2 default hr_api.g_varchar2
309 ,p_attribute17 in varchar2 default hr_api.g_varchar2
310 ,p_attribute18 in varchar2 default hr_api.g_varchar2
311 ,p_attribute19 in varchar2 default hr_api.g_varchar2
312 ,p_attribute20 in varchar2 default hr_api.g_varchar2
313 ,p_job_information_category in varchar2 default hr_api.g_varchar2
314 ,p_job_information1 in varchar2 default hr_api.g_varchar2
315 ,p_job_information2 in varchar2 default hr_api.g_varchar2
316 ,p_job_information3 in varchar2 default hr_api.g_varchar2
317 ,p_job_information4 in varchar2 default hr_api.g_varchar2
318 ,p_job_information5 in varchar2 default hr_api.g_varchar2
319 ,p_job_information6 in varchar2 default hr_api.g_varchar2
320 ,p_job_information7 in varchar2 default hr_api.g_varchar2
321 ,p_job_information8 in varchar2 default hr_api.g_varchar2
322 ,p_job_information9 in varchar2 default hr_api.g_varchar2
323 ,p_job_information10 in varchar2 default hr_api.g_varchar2
324 ,p_job_information11 in varchar2 default hr_api.g_varchar2
325 ,p_job_information12 in varchar2 default hr_api.g_varchar2
326 ,p_job_information13 in varchar2 default hr_api.g_varchar2
327 ,p_job_information14 in varchar2 default hr_api.g_varchar2
328 ,p_job_information15 in varchar2 default hr_api.g_varchar2
329 ,p_job_information16 in varchar2 default hr_api.g_varchar2
330 ,p_job_information17 in varchar2 default hr_api.g_varchar2
331 ,p_job_information18 in varchar2 default hr_api.g_varchar2
332 ,p_job_information19 in varchar2 default hr_api.g_varchar2
333 ,p_job_information20 in varchar2 default hr_api.g_varchar2
334 ,p_segment1 in varchar2 default hr_api.g_varchar2
335 ,p_segment2 in varchar2 default hr_api.g_varchar2
336 ,p_segment3 in varchar2 default hr_api.g_varchar2
337 ,p_segment4 in varchar2 default hr_api.g_varchar2
338 ,p_segment5 in varchar2 default hr_api.g_varchar2
339 ,p_segment6 in varchar2 default hr_api.g_varchar2
340 ,p_segment7 in varchar2 default hr_api.g_varchar2
341 ,p_segment8 in varchar2 default hr_api.g_varchar2
342 ,p_segment9 in varchar2 default hr_api.g_varchar2
343 ,p_segment10 in varchar2 default hr_api.g_varchar2
344 ,p_segment11 in varchar2 default hr_api.g_varchar2
345 ,p_segment12 in varchar2 default hr_api.g_varchar2
346 ,p_segment13 in varchar2 default hr_api.g_varchar2
347 ,p_segment14 in varchar2 default hr_api.g_varchar2
348 ,p_segment15 in varchar2 default hr_api.g_varchar2
349 ,p_segment16 in varchar2 default hr_api.g_varchar2
350 ,p_segment17 in varchar2 default hr_api.g_varchar2
351 ,p_segment18 in varchar2 default hr_api.g_varchar2
352 ,p_segment19 in varchar2 default hr_api.g_varchar2
353 ,p_segment20 in varchar2 default hr_api.g_varchar2
354 ,p_segment21 in varchar2 default hr_api.g_varchar2
355 ,p_segment22 in varchar2 default hr_api.g_varchar2
356 ,p_segment23 in varchar2 default hr_api.g_varchar2
357 ,p_segment24 in varchar2 default hr_api.g_varchar2
358 ,p_segment25 in varchar2 default hr_api.g_varchar2
359 ,p_segment26 in varchar2 default hr_api.g_varchar2
360 ,p_segment27 in varchar2 default hr_api.g_varchar2
361 ,p_segment28 in varchar2 default hr_api.g_varchar2
362 ,p_segment29 in varchar2 default hr_api.g_varchar2
363 ,p_segment30 in varchar2 default hr_api.g_varchar2
364 ,p_concat_segments in varchar2 default hr_api.g_varchar2
365 ,p_approval_authority in number default hr_api.g_number
366 ,p_job_definition_id out nocopy number
367 ,p_name out nocopy varchar2
368 ,p_return_status out nocopy varchar2
369 ,p_effective_date in date --Aded for Bug# 1760707
370 ) is
371 --
372 -- Variables for API Boolean parameters
373 l_validate boolean;
374 l_valid_grades_changed_warning boolean;
375 --
376 -- Variables for IN/OUT parameters
377 l_object_version_number number;
378 --
379 -- Other variables
380 l_proc varchar2(72) := g_package ||'update_job';
381 Begin
382 hr_utility.set_location(' Entering:' || l_proc,10);
383 --
384 -- Issue a savepoint
385 --
386 savepoint update_job_swi;
387 --
388 -- Initialise Multiple Message Detection
389 --
390 hr_multi_message.enable_message_list;
391 --
392 -- Remember IN OUT parameter IN values
393 --
394 l_object_version_number := p_object_version_number;
395 --
396 -- Convert constant values to their corresponding boolean value
397 --
398 l_validate :=
399 hr_api.constant_to_boolean
400 (p_constant_value => p_validate);
401 --
402 -- Register Surrogate ID or user key values
403 --
404 --
405 -- Call API
406 --
407 hr_job_api.update_job
408 (p_validate => l_validate
409 --
410 -- Removed param for Bug 3166670.
411 -- ,p_business_group_id => p_business_group_id
412 --
413 ,p_job_id => p_job_id
414 ,p_object_version_number => l_object_version_number
415 ,p_date_from => p_date_from
416 ,p_comments => p_comments
417 ,p_date_to => p_date_to
418 ,p_benchmark_job_flag => p_benchmark_job_flag
419 ,p_benchmark_job_id => p_benchmark_job_id
420 ,p_emp_rights_flag => p_emp_rights_flag
421 ,p_attribute_category => p_attribute_category
422 ,p_attribute1 => p_attribute1
423 ,p_attribute2 => p_attribute2
424 ,p_attribute3 => p_attribute3
425 ,p_attribute4 => p_attribute4
426 ,p_attribute5 => p_attribute5
427 ,p_attribute6 => p_attribute6
428 ,p_attribute7 => p_attribute7
429 ,p_attribute8 => p_attribute8
430 ,p_attribute9 => p_attribute9
431 ,p_attribute10 => p_attribute10
432 ,p_attribute11 => p_attribute11
433 ,p_attribute12 => p_attribute12
434 ,p_attribute13 => p_attribute13
435 ,p_attribute14 => p_attribute14
436 ,p_attribute15 => p_attribute15
437 ,p_attribute16 => p_attribute16
438 ,p_attribute17 => p_attribute17
439 ,p_attribute18 => p_attribute18
440 ,p_attribute19 => p_attribute19
441 ,p_attribute20 => p_attribute20
442 ,p_job_information_category => p_job_information_category
443 ,p_job_information1 => p_job_information1
444 ,p_job_information2 => p_job_information2
445 ,p_job_information3 => p_job_information3
446 ,p_job_information4 => p_job_information4
447 ,p_job_information5 => p_job_information5
448 ,p_job_information6 => p_job_information6
449 ,p_job_information7 => p_job_information7
450 ,p_job_information8 => p_job_information8
451 ,p_job_information9 => p_job_information9
452 ,p_job_information10 => p_job_information10
453 ,p_job_information11 => p_job_information11
454 ,p_job_information12 => p_job_information12
455 ,p_job_information13 => p_job_information13
456 ,p_job_information14 => p_job_information14
457 ,p_job_information15 => p_job_information15
458 ,p_job_information16 => p_job_information16
459 ,p_job_information17 => p_job_information17
460 ,p_job_information18 => p_job_information18
461 ,p_job_information19 => p_job_information19
462 ,p_job_information20 => p_job_information20
463 ,p_segment1 => p_segment1
464 ,p_segment2 => p_segment2
465 ,p_segment3 => p_segment3
466 ,p_segment4 => p_segment4
467 ,p_segment5 => p_segment5
468 ,p_segment6 => p_segment6
469 ,p_segment7 => p_segment7
470 ,p_segment8 => p_segment8
471 ,p_segment9 => p_segment9
472 ,p_segment10 => p_segment10
473 ,p_segment11 => p_segment11
474 ,p_segment12 => p_segment12
475 ,p_segment13 => p_segment13
476 ,p_segment14 => p_segment14
477 ,p_segment15 => p_segment15
478 ,p_segment16 => p_segment16
479 ,p_segment17 => p_segment17
480 ,p_segment18 => p_segment18
481 ,p_segment19 => p_segment19
482 ,p_segment20 => p_segment20
483 ,p_segment21 => p_segment21
484 ,p_segment22 => p_segment22
485 ,p_segment23 => p_segment23
486 ,p_segment24 => p_segment24
487 ,p_segment25 => p_segment25
488 ,p_segment26 => p_segment26
489 ,p_segment27 => p_segment27
490 ,p_segment28 => p_segment28
491 ,p_segment29 => p_segment29
492 ,p_segment30 => p_segment30
493 ,p_concat_segments => p_concat_segments
494 ,p_approval_authority => p_approval_authority
495 ,p_job_definition_id => p_job_definition_id
496 ,p_name => p_name
497 ,p_valid_grades_changed_warning => l_valid_grades_changed_warning
498 ,p_effective_date => p_effective_date
499 );
500 --
501 -- Convert API warning boolean parameter values to specific
502 -- messages and add them to Multiple Message List
503 --
504 if l_valid_grades_changed_warning then
505 fnd_message.set_name('PER', 'HR_51092_VGR_JOB_GRD_COMBO');
506 hr_multi_message.add
507 (p_message_type => hr_multi_message.g_warning_msg
508 );
509 end if; --
510 -- Convert API non-warning boolean parameter values
511 --
512 --
513 -- Derive the API return status value based on whether
514 -- messages of any type exist in the Multiple Message List.
515 -- Also disable Multiple Message Detection.
516 --
517 p_return_status := hr_multi_message.get_return_status_disable;
518 hr_utility.set_location(' Leaving:' || l_proc,20);
519 --
520 exception
521 when hr_multi_message.error_message_exist then
522 --
523 -- Catch the Multiple Message List exception which
524 -- indicates API processing has been aborted because
525 -- at least one message exists in the list.
526 --
527 rollback to update_job_swi;
528 --
529 -- Reset IN OUT parameters and set OUT parameters
530 --
531 p_object_version_number := l_object_version_number;
532 p_job_definition_id := null;
533 p_name := null;
534 p_return_status := hr_multi_message.get_return_status_disable;
535 hr_utility.set_location(' Leaving:' || l_proc, 30);
536 when others then
537 --
538 -- When Multiple Message Detection is enabled catch
539 -- any Application specific or other unexpected
540 -- exceptions. Adding appropriate details to the
541 -- Multiple Message List. Otherwise re-raise the
542 -- error.
543 --
544 rollback to update_job_swi;
545 if hr_multi_message.unexpected_error_add(l_proc) then
546 hr_utility.set_location(' Leaving:' || l_proc,40);
547 raise;
548 end if;
549 --
550 -- Reset IN OUT and set OUT parameters
551 --
552 p_object_version_number := l_object_version_number;
553 p_job_definition_id := null;
554 p_name := null;
555 p_return_status := hr_multi_message.get_return_status_disable;
556 hr_utility.set_location(' Leaving:' || l_proc,50);
557 end update_job;
558 end hr_job_swi;