[Home] [Help]
PACKAGE BODY: APPS.AME_ATTRIBUTE_SWI
Source
1 PACKAGE BODY AME_ATTRIBUTE_SWI As
2 /* $Header: amatrswi.pkb 120.0 2005/09/02 03:51 mbocutt noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'ame_attribute_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< create_ame_attribute >-------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_ame_attribute
12 (p_validate in number default hr_api.g_false_num
13 ,p_name in varchar2
14 ,p_description in varchar2
15 ,p_attribute_type in varchar2
16 ,p_item_class_id in number
17 ,p_approver_type_id in number default null
18 ,p_application_id in number default null
19 ,p_is_static in varchar2 default ame_util.booleanTrue
20 ,p_query_string in varchar2 default null
21 ,p_user_editable in varchar2 default ame_util.booleanTrue
22 ,p_value_set_id in number default null
23 ,p_attribute_id in number
24 ,p_atr_object_version_number out nocopy number
25 ,p_atr_start_date out nocopy date
26 ,p_atr_end_date out nocopy date
27 ,p_atu_object_version_number out nocopy number
28 ,p_atu_start_date out nocopy date
29 ,p_atu_end_date out nocopy date
30 ,p_return_status out nocopy varchar2
31 ) is
32 --
33 -- Variables for API Boolean parameters
34 l_validate boolean;
35 --
36 -- Variables for IN/OUT parameters
37 --
38 -- Other variables
39 l_attribute_id number;
40 l_proc varchar2(72) := g_package ||'create_ame_attribute';
41 Begin
42 hr_utility.set_location(' Entering:' || l_proc,10);
43 --
44 -- Issue a savepoint
45 --
46 savepoint create_ame_attribute_swi;
47 --
48 -- Initialise Multiple Message Detection
49 --
50 hr_multi_message.enable_message_list;
51 --
52 -- Remember IN OUT parameter IN values
53 --
54 --
55 -- Convert constant values to their corresponding boolean value
56 --
57 l_validate :=
58 hr_api.constant_to_boolean
59 (p_constant_value => p_validate);
60 --
61 -- Register Surrogate ID or user key values
62 --
63 ame_atr_ins.set_base_key_value
64 (p_attribute_id => p_attribute_id
65 );
66 --
67 -- Call API
68 --
69 ame_attribute_api.create_ame_attribute
70 (p_validate => l_validate
71 ,p_name => p_name
72 ,p_description => p_description
73 ,p_attribute_type => p_attribute_type
74 ,p_item_class_id => p_item_class_id
75 ,p_approver_type_id => p_approver_type_id
76 ,p_application_id => p_application_id
77 ,p_is_static => p_is_static
78 ,p_query_string => p_query_string
79 ,p_user_editable => p_user_editable
80 ,p_value_set_id => p_value_set_id
81 ,p_attribute_id => l_attribute_id
82 ,p_atr_object_version_number => p_atr_object_version_number
83 ,p_atr_start_date => p_atr_start_date
84 ,p_atr_end_date => p_atr_end_date
85 ,p_atu_object_version_number => p_atu_object_version_number
86 ,p_atu_start_date => p_atu_start_date
87 ,p_atu_end_date => p_atu_end_date
88 );
89 --
90 -- Convert API warning boolean parameter values to specific
91 -- messages and add them to Multiple Message List
92 --
93 --
94 -- Convert API non-warning boolean parameter values
95 --
96 --
97 -- Derive the API return status value based on whether
98 -- messages of any type exist in the Multiple Message List.
99 -- Also disable Multiple Message Detection.
100 --
101 p_return_status := hr_multi_message.get_return_status_disable;
102 hr_utility.set_location(' Leaving:' || l_proc,20);
103 --
104 exception
105 when hr_multi_message.error_message_exist then
106 --
107 -- Catch the Multiple Message List exception which
108 -- indicates API processing has been aborted because
109 -- at least one message exists in the list.
110 --
111 rollback to create_ame_attribute_swi;
112 --
113 -- Reset IN OUT parameters and set OUT parameters
114 --
115 p_atr_object_version_number := null;
116 p_atr_start_date := null;
117 p_atr_end_date := null;
118 p_atu_object_version_number := null;
119 p_atu_start_date := null;
120 p_atu_end_date := null;
121 p_return_status := hr_multi_message.get_return_status_disable;
122 hr_utility.set_location(' Leaving:' || l_proc, 30);
123 when others then
124 --
125 -- When Multiple Message Detection is enabled catch
126 -- any Application specific or other unexpected
127 -- exceptions. Adding appropriate details to the
128 -- Multiple Message List. Otherwise re-raise the
129 -- error.
130 --
131 rollback to create_ame_attribute_swi;
132 if hr_multi_message.unexpected_error_add(l_proc) then
133 hr_utility.set_location(' Leaving:' || l_proc,40);
134 raise;
135 end if;
136 --
137 -- Reset IN OUT and set OUT parameters
138 --
139 p_atr_object_version_number := null;
140 p_atr_start_date := null;
141 p_atr_end_date := null;
142 p_atu_object_version_number := null;
143 p_atu_start_date := null;
144 p_atu_end_date := null;
145 p_return_status := hr_multi_message.get_return_status_disable;
146 hr_utility.set_location(' Leaving:' || l_proc,50);
147 end create_ame_attribute;
148 -- ----------------------------------------------------------------------------
149 -- |----------------------< create_ame_attribute_usage >----------------------|
150 -- ----------------------------------------------------------------------------
151 PROCEDURE create_ame_attribute_usage
152 (p_validate in number default hr_api.g_false_num
153 ,p_attribute_id in number
154 ,p_application_id in number
155 ,p_is_static in varchar2 default ame_util.booleanTrue
156 ,p_query_string in varchar2 default null
157 ,p_user_editable in varchar2 default ame_util.booleanTrue
158 ,p_value_set_id in number default null
159 ,p_object_version_number out nocopy number
160 ,p_start_date out nocopy date
161 ,p_end_date out nocopy date
162 ,p_return_status out nocopy varchar2
163 ) is
164 --
165 -- Variables for API Boolean parameters
166 l_validate boolean;
167 --
168 -- Variables for IN/OUT parameters
169 --
170 -- Other variables
171 l_proc varchar2(72) := g_package ||'create_ame_attribute_usage';
172 Begin
173 hr_utility.set_location(' Entering:' || l_proc,10);
174 --
175 -- Issue a savepoint
176 --
177 savepoint create_ame_attribute_usage_swi;
178 --
179 -- Initialise Multiple Message Detection
180 --
181 hr_multi_message.enable_message_list;
182 --
183 -- Remember IN OUT parameter IN values
184 --
185 --
186 -- Convert constant values to their corresponding boolean value
187 --
188 l_validate :=
189 hr_api.constant_to_boolean
190 (p_constant_value => p_validate);
191 --
192 -- Register Surrogate ID or user key values
193 --
194 --
195 -- Call API
196 --
197 ame_attribute_api.create_ame_attribute_usage
198 (p_validate => l_validate
199 ,p_attribute_id => p_attribute_id
200 ,p_application_id => p_application_id
201 ,p_is_static => p_is_static
202 ,p_query_string => p_query_string
203 ,p_user_editable => p_user_editable
204 ,p_value_set_id => p_value_set_id
205 ,p_object_version_number => p_object_version_number
206 ,p_start_date => p_start_date
207 ,p_end_date => p_end_date
208 );
209 --
210 -- Convert API warning boolean parameter values to specific
211 -- messages and add them to Multiple Message List
212 --
213 --
214 -- Convert API non-warning boolean parameter values
215 --
216 --
217 -- Derive the API return status value based on whether
218 -- messages of any type exist in the Multiple Message List.
219 -- Also disable Multiple Message Detection.
220 --
221 p_return_status := hr_multi_message.get_return_status_disable;
222 hr_utility.set_location(' Leaving:' || l_proc,20);
223 --
224 exception
225 when hr_multi_message.error_message_exist then
226 --
227 -- Catch the Multiple Message List exception which
228 -- indicates API processing has been aborted because
229 -- at least one message exists in the list.
230 --
231 rollback to create_ame_attribute_usage_swi;
232 --
233 -- Reset IN OUT parameters and set OUT parameters
234 --
235 p_object_version_number := null;
236 p_start_date := null;
237 p_end_date := null;
238 p_return_status := hr_multi_message.get_return_status_disable;
239 hr_utility.set_location(' Leaving:' || l_proc, 30);
240 when others then
241 --
242 -- When Multiple Message Detection is enabled catch
243 -- any Application specific or other unexpected
244 -- exceptions. Adding appropriate details to the
245 -- Multiple Message List. Otherwise re-raise the
246 -- error.
247 --
248 rollback to create_ame_attribute_usage_swi;
249 if hr_multi_message.unexpected_error_add(l_proc) then
250 hr_utility.set_location(' Leaving:' || l_proc,40);
251 raise;
252 end if;
253 --
254 -- Reset IN OUT and set OUT parameters
255 --
256 p_object_version_number := null;
257 p_start_date := null;
258 p_end_date := null;
259 p_return_status := hr_multi_message.get_return_status_disable;
260 hr_utility.set_location(' Leaving:' || l_proc,50);
261 end create_ame_attribute_usage;
262 -- ----------------------------------------------------------------------------
263 -- |-------------------------< update_ame_attribute >-------------------------|
264 -- ----------------------------------------------------------------------------
265 PROCEDURE update_ame_attribute
266 (p_validate in number default hr_api.g_false_num
267 ,p_attribute_id in number
268 ,p_description in varchar2 default hr_api.g_varchar2
269 ,p_object_version_number in out nocopy number
270 ,p_start_date out nocopy date
271 ,p_end_date out nocopy date
272 ,p_return_status out nocopy varchar2
273 ) is
274 --
275 -- Variables for API Boolean parameters
276 l_validate boolean;
277 --
278 -- Variables for IN/OUT parameters
279 l_object_version_number number;
280 --
281 -- Other variables
282 l_proc varchar2(72) := g_package ||'update_ame_attribute';
283 Begin
284 hr_utility.set_location(' Entering:' || l_proc,10);
285 --
286 -- Issue a savepoint
287 --
288 savepoint update_ame_attribute_swi;
289 --
290 -- Initialise Multiple Message Detection
291 --
292 hr_multi_message.enable_message_list;
293 --
294 -- Remember IN OUT parameter IN values
295 --
296 l_object_version_number := p_object_version_number;
297 --
298 -- Convert constant values to their corresponding boolean value
299 --
300 l_validate :=
301 hr_api.constant_to_boolean
302 (p_constant_value => p_validate);
303 --
304 -- Register Surrogate ID or user key values
305 --
306 --
307 -- Call API
308 --
309 ame_attribute_api.update_ame_attribute
310 (p_validate => l_validate
311 ,p_attribute_id => p_attribute_id
312 ,p_description => p_description
313 ,p_object_version_number => p_object_version_number
314 ,p_start_date => p_start_date
315 ,p_end_date => p_end_date
316 );
317 --
318 -- Convert API warning boolean parameter values to specific
319 -- messages and add them to Multiple Message List
320 --
321 --
322 -- Convert API non-warning boolean parameter values
323 --
324 --
325 -- Derive the API return status value based on whether
326 -- messages of any type exist in the Multiple Message List.
327 -- Also disable Multiple Message Detection.
328 --
329 p_return_status := hr_multi_message.get_return_status_disable;
330 hr_utility.set_location(' Leaving:' || l_proc,20);
331 --
332 exception
333 when hr_multi_message.error_message_exist then
334 --
335 -- Catch the Multiple Message List exception which
336 -- indicates API processing has been aborted because
337 -- at least one message exists in the list.
338 --
339 rollback to update_ame_attribute_swi;
340 --
341 -- Reset IN OUT parameters and set OUT parameters
342 --
343 p_object_version_number := l_object_version_number;
344 p_start_date := null;
345 p_end_date := null;
346 p_return_status := hr_multi_message.get_return_status_disable;
347 hr_utility.set_location(' Leaving:' || l_proc, 30);
348 when others then
349 --
350 -- When Multiple Message Detection is enabled catch
351 -- any Application specific or other unexpected
352 -- exceptions. Adding appropriate details to the
353 -- Multiple Message List. Otherwise re-raise the
354 -- error.
355 --
356 rollback to update_ame_attribute_swi;
357 if hr_multi_message.unexpected_error_add(l_proc) then
358 hr_utility.set_location(' Leaving:' || l_proc,40);
359 raise;
360 end if;
361 --
362 -- Reset IN OUT and set OUT parameters
363 --
364 p_object_version_number := l_object_version_number;
365 p_start_date := null;
366 p_end_date := null;
367 p_return_status := hr_multi_message.get_return_status_disable;
368 hr_utility.set_location(' Leaving:' || l_proc,50);
369 end update_ame_attribute;
370 -- ----------------------------------------------------------------------------
371 -- |----------------------< update_ame_attribute_usage >----------------------|
372 -- ----------------------------------------------------------------------------
373 PROCEDURE update_ame_attribute_usage
374 (p_validate in number default hr_api.g_false_num
375 ,p_attribute_id in number
376 ,p_application_id in number
377 ,p_is_static in varchar2 default hr_api.g_varchar2
378 ,p_query_string in varchar2 default hr_api.g_varchar2
379 ,p_value_set_id in number default null
380 ,p_object_version_number in out nocopy number
381 ,p_start_date out nocopy date
382 ,p_end_date out nocopy date
383 ,p_return_status out nocopy varchar2
384 ) is
385 --
386 -- Variables for API Boolean parameters
387 l_validate boolean;
388 --
389 -- Variables for IN/OUT parameters
390 l_object_version_number number;
391 --
392 -- Other variables
393 l_proc varchar2(72) := g_package ||'update_ame_attribute_usage';
394 Begin
395 hr_utility.set_location(' Entering:' || l_proc,10);
396 --
397 -- Issue a savepoint
398 --
399 savepoint update_ame_attribute_usage_swi;
400 --
401 -- Initialise Multiple Message Detection
402 --
403 hr_multi_message.enable_message_list;
404 --
405 -- Remember IN OUT parameter IN values
406 --
407 l_object_version_number := p_object_version_number;
408 --
409 -- Convert constant values to their corresponding boolean value
410 --
411 l_validate :=
412 hr_api.constant_to_boolean
413 (p_constant_value => p_validate);
414 --
415 -- Register Surrogate ID or user key values
416 --
417 --
418 -- Call API
419 --
420 ame_attribute_api.update_ame_attribute_usage
421 (p_validate => l_validate
422 ,p_attribute_id => p_attribute_id
423 ,p_application_id => p_application_id
424 ,p_is_static => p_is_static
425 ,p_query_string => p_query_string
426 ,p_value_set_id => p_value_set_id
427 ,p_object_version_number => p_object_version_number
428 ,p_start_date => p_start_date
429 ,p_end_date => p_end_date
430 );
431 --
432 -- Convert API warning boolean parameter values to specific
433 -- messages and add them to Multiple Message List
434 --
435 --
436 -- Convert API non-warning boolean parameter values
437 --
438 --
439 -- Derive the API return status value based on whether
440 -- messages of any type exist in the Multiple Message List.
441 -- Also disable Multiple Message Detection.
442 --
443 p_return_status := hr_multi_message.get_return_status_disable;
444 hr_utility.set_location(' Leaving:' || l_proc,20);
445 --
446 exception
447 when hr_multi_message.error_message_exist then
448 --
449 -- Catch the Multiple Message List exception which
450 -- indicates API processing has been aborted because
451 -- at least one message exists in the list.
452 --
453 rollback to update_ame_attribute_usage_swi;
454 --
455 -- Reset IN OUT parameters and set OUT parameters
456 --
457 p_object_version_number := l_object_version_number;
458 p_start_date := null;
459 p_end_date := null;
460 p_return_status := hr_multi_message.get_return_status_disable;
461 hr_utility.set_location(' Leaving:' || l_proc, 30);
462 when others then
463 --
464 -- When Multiple Message Detection is enabled catch
465 -- any Application specific or other unexpected
466 -- exceptions. Adding appropriate details to the
467 -- Multiple Message List. Otherwise re-raise the
468 -- error.
469 --
470 rollback to update_ame_attribute_usage_swi;
471 if hr_multi_message.unexpected_error_add(l_proc) then
472 hr_utility.set_location(' Leaving:' || l_proc,40);
473 raise;
474 end if;
475 --
476 -- Reset IN OUT and set OUT parameters
477 --
478 p_object_version_number := l_object_version_number;
479 p_start_date := null;
480 p_end_date := null;
481 p_return_status := hr_multi_message.get_return_status_disable;
482 hr_utility.set_location(' Leaving:' || l_proc,50);
483 end update_ame_attribute_usage;
484 -- ----------------------------------------------------------------------------
485 -- |----------------------< delete_ame_attribute_usage >----------------------|
486 -- ----------------------------------------------------------------------------
487 PROCEDURE delete_ame_attribute_usage
488 (p_validate in number default hr_api.g_false_num
489 ,p_attribute_id in number
490 ,p_application_id in number
491 ,p_object_version_number in out nocopy number
492 ,p_start_date out nocopy date
493 ,p_end_date out nocopy date
494 ,p_return_status out nocopy varchar2
495 ) is
496 --
497 -- Variables for API Boolean parameters
498 l_validate boolean;
499 --
500 -- Variables for IN/OUT parameters
501 l_object_version_number number;
502 --
503 -- Other variables
504 l_proc varchar2(72) := g_package ||'delete_ame_attribute_usage';
505 Begin
506 hr_utility.set_location(' Entering:' || l_proc,10);
507 --
508 -- Issue a savepoint
509 --
510 savepoint delete_ame_attribute_usage_swi;
511 --
512 -- Initialise Multiple Message Detection
513 --
514 hr_multi_message.enable_message_list;
515 --
516 -- Remember IN OUT parameter IN values
517 --
518 l_object_version_number := p_object_version_number;
519 --
520 -- Convert constant values to their corresponding boolean value
521 --
522 l_validate :=
523 hr_api.constant_to_boolean
524 (p_constant_value => p_validate);
525 --
526 -- Register Surrogate ID or user key values
527 --
528 --
529 -- Call API
530 --
531 ame_attribute_api.delete_ame_attribute_usage
532 (p_validate => l_validate
533 ,p_attribute_id => p_attribute_id
534 ,p_application_id => p_application_id
535 ,p_object_version_number => p_object_version_number
536 ,p_start_date => p_start_date
537 ,p_end_date => p_end_date
538 );
539 --
540 -- Convert API warning boolean parameter values to specific
541 -- messages and add them to Multiple Message List
542 --
543 --
544 -- Convert API non-warning boolean parameter values
545 --
546 --
547 -- Derive the API return status value based on whether
548 -- messages of any type exist in the Multiple Message List.
549 -- Also disable Multiple Message Detection.
550 --
551 p_return_status := hr_multi_message.get_return_status_disable;
552 hr_utility.set_location(' Leaving:' || l_proc,20);
553 --
554 exception
555 when hr_multi_message.error_message_exist then
556 --
557 -- Catch the Multiple Message List exception which
558 -- indicates API processing has been aborted because
559 -- at least one message exists in the list.
560 --
561 rollback to delete_ame_attribute_usage_swi;
562 --
563 -- Reset IN OUT parameters and set OUT parameters
564 --
565 p_object_version_number := l_object_version_number;
566 p_start_date := null;
567 p_end_date := null;
568 p_return_status := hr_multi_message.get_return_status_disable;
569 hr_utility.set_location(' Leaving:' || l_proc, 30);
570 when others then
571 --
572 -- When Multiple Message Detection is enabled catch
573 -- any Application specific or other unexpected
574 -- exceptions. Adding appropriate details to the
575 -- Multiple Message List. Otherwise re-raise the
576 -- error.
577 --
578 rollback to delete_ame_attribute_usage_swi;
579 if hr_multi_message.unexpected_error_add(l_proc) then
580 hr_utility.set_location(' Leaving:' || l_proc,40);
581 raise;
582 end if;
583 --
584 -- Reset IN OUT and set OUT parameters
585 --
586 p_object_version_number := l_object_version_number;
587 p_start_date := null;
588 p_end_date := null;
589 p_return_status := hr_multi_message.get_return_status_disable;
590 hr_utility.set_location(' Leaving:' || l_proc,50);
591 end delete_ame_attribute_usage;
592 end ame_attribute_swi;