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