DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_PERSONAL_SCORECARD_SWI

Source


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