DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_APPRAISAL_PERIOD_API

Source


1 Package Body hr_appraisal_period_api as
2 /* $Header: pepmaapi.pkb 120.3.12010000.2 2009/10/23 13:38:58 schowdhu ship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  hr_appraisal_period_api.';
7 g_debug    boolean      := hr_utility.debug_enabled;
8 
9 --
10 -- ----------------------------------------------------------------------------
11 -- |--------------------------< set_plan_status >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 procedure set_plan_status
15   (p_plan_id                       in     number
16   ,p_effective_date                in     date
17   ) is
18   --
19   -- Declare cursors and local variables
20   --
21   l_proc                   varchar2(72) := g_package||'set_plan_status';
22   l_ovn                    number;
23   l_status_code            per_perf_mgmt_plans.status_code%TYPE;
24   l_dummy                  boolean;
25 
26 begin
27 
28   IF g_debug THEN hr_utility.set_location('Entering:'|| l_proc, 10); END IF;
29 
30   --
31   -- Only attempt to set the plan's status if the procedure has been
32   -- called correctly.
33   --
34   IF p_plan_id IS NOT NULL THEN
35 
36     IF per_pmp_bus.return_status_code(p_plan_id) = 'PUBLISHED' THEN
37       --
38       -- Call the plan update row-handler.
39       --
40       IF g_debug THEN hr_utility.set_location(l_proc, 30); END IF;
41 
42       l_ovn         := per_pmp_bus.return_ovn(p_plan_id);
43       l_status_code := 'UPDATED';
44 
45       per_pmp_upd.upd
46         (p_plan_id                => p_plan_id
47         ,p_effective_date         => p_effective_date
48         ,p_object_version_number  => l_ovn
49         ,p_status_code            => l_status_code
50         ,p_duplicate_name_warning => l_dummy
51         ,p_no_life_events_warning => l_dummy);
52     END IF;
53   END IF;
54 
55   IF g_debug THEN hr_utility.set_location('Leaving:'|| l_proc, 980); END IF;
56 
57 end set_plan_status;
58 --
59 -- ----------------------------------------------------------------------------
60 -- |--------------------------< create_appraisal_period >---------------------|
61 -- ----------------------------------------------------------------------------
62 --
63 procedure create_appraisal_period
64   (p_validate                      in     boolean  default false
65   ,p_effective_date                in     date
66   ,p_plan_id                       in     number
67   ,p_appraisal_template_id         in     number
68   ,p_start_date                    in     date
69   ,p_end_date                      in     date
70   ,p_task_start_date               in     date
71   ,p_task_end_date                 in     date
72   ,p_initiator_code                in     varchar2 default null
73   ,p_appraisal_system_type         in     varchar2 default null
74   ,p_appraisal_type                in     varchar2 default null
75   ,p_appraisal_assmt_status        in     varchar2 default null
76   ,p_auto_conc_process             in     varchar2 default null
77   ,p_days_before_task_st_dt        in     number   default null
78   ,p_participation_type          in varchar2  default null
79   ,p_questionnaire_template_id   in number  default null
80   ,p_attribute_category            in     varchar2 default null
81   ,p_attribute1                    in     varchar2 default null
82   ,p_attribute2                    in     varchar2 default null
83   ,p_attribute3                    in     varchar2 default null
84   ,p_attribute4                    in     varchar2 default null
85   ,p_attribute5                    in     varchar2 default null
86   ,p_attribute6                    in     varchar2 default null
87   ,p_attribute7                    in     varchar2 default null
88   ,p_attribute8                    in     varchar2 default null
89   ,p_attribute9                    in     varchar2 default null
90   ,p_attribute10                   in     varchar2 default null
91   ,p_attribute11                   in     varchar2 default null
92   ,p_attribute12                   in     varchar2 default null
93   ,p_attribute13                   in     varchar2 default null
94   ,p_attribute14                   in     varchar2 default null
95   ,p_attribute15                   in     varchar2 default null
96   ,p_attribute16                   in     varchar2 default null
97   ,p_attribute17                   in     varchar2 default null
98   ,p_attribute18                   in     varchar2 default null
99   ,p_attribute19                   in     varchar2 default null
100   ,p_attribute20                   in     varchar2 default null
101   ,p_attribute21                   in     varchar2 default null
102   ,p_attribute22                   in     varchar2 default null
103   ,p_attribute23                   in     varchar2 default null
104   ,p_attribute24                   in     varchar2 default null
105   ,p_attribute25                   in     varchar2 default null
106   ,p_attribute26                   in     varchar2 default null
107   ,p_attribute27                   in     varchar2 default null
108   ,p_attribute28                   in     varchar2 default null
109   ,p_attribute29                   in     varchar2 default null
110   ,p_attribute30                   in     varchar2 default null
111   ,p_appraisal_period_id              out nocopy   number
112   ,p_object_version_number            out nocopy   number
113   ) is
114   --
115   -- Declare cursors and local variables
116   --
117   l_proc                   varchar2(72) := g_package||'create_appraisal_period';
118   l_effective_date         date;
119   l_start_date             date;
120   l_end_date               date;
121   l_task_start_date        date;
122   l_task_end_date          date;
123   l_appraisal_period_id    number;
124   l_object_version_number  number;
125 
126 begin
127 
128   IF g_debug THEN
129 
130     hr_utility.set_location('Entering:'|| l_proc, 10);
131 
132     hr_utility.trace(' ');
133     hr_utility.trace(' --------------------------------'||
134                      '---------------------------------');
135     hr_utility.trace(' IN / IN OUT PARAMETER           '||
136                      ' VALUE');
137     hr_utility.trace(' --------------------------------'||
138                      '+--------------------------------');
139     hr_utility.trace('  p_plan_id                        '||
140                         to_char(p_plan_id));
141     hr_utility.trace('  p_appraisal_template_id          '||
142                         to_char(p_appraisal_template_id));
143     hr_utility.trace('  p_start_date                     '||
144                         to_char(p_start_date));
145     hr_utility.trace('  p_end_date                       '||
146                         to_char(p_end_date));
147     hr_utility.trace('  p_task_start_date                '||
148                         to_char(p_task_start_date));
149     hr_utility.trace('  p_task_end_date                  '||
150                         to_char(p_task_end_date));
151     hr_utility.trace('  p_initiator_code                 '||
152                         p_initiator_code);
153     hr_utility.trace(' --------------------------------'||
154                      '+--------------------------------');
155     hr_utility.trace('  p_effective_date                 '||
156                         to_char(p_effective_date));
157     hr_utility.trace(' --------------------------------'||
158                      '---------------------------------');
159     hr_utility.trace(' ');
160 
161   END IF;
162 
163   --
164   -- Issue a savepoint
165   --
166   savepoint create_appraisal_period;
167 
168   --
169   -- Truncate the time portion from all IN date parameters
170   --
171   l_effective_date  := trunc(p_effective_date);
172   l_start_date      := trunc(p_start_date);
173   l_end_date        := trunc(p_end_date);
174   l_task_start_date := trunc(p_task_start_date);
175   l_task_end_date   := trunc(p_task_end_date);
176 
177   --
178   -- Call Before Process User Hook
179   --
180   begin
181     hr_appraisal_period_bk1.create_appraisal_period_b
182       (p_effective_date                => l_effective_date
183       ,p_plan_id                       => p_plan_id
184       ,p_appraisal_template_id         => p_appraisal_template_id
185       ,p_start_date                    => l_start_date
186       ,p_end_date                      => l_end_date
187       ,p_task_start_date               => l_task_start_date
188       ,p_task_end_date                 => l_task_end_date
189       ,p_initiator_code                => p_initiator_code
190       ,p_appraisal_system_type         => p_appraisal_system_type
191       ,p_appraisal_type                => p_appraisal_type
192       ,p_appraisal_assmt_status        => p_appraisal_assmt_status
193       ,p_auto_conc_process             => p_auto_conc_process
194       ,p_days_before_task_st_dt        => p_days_before_task_st_dt
195       ,p_participation_type        => p_participation_type
196       ,p_questionnaire_template_id        => p_questionnaire_template_id
197       ,p_attribute_category            => p_attribute_category
198       ,p_attribute1                    => p_attribute1
199       ,p_attribute2                    => p_attribute2
200       ,p_attribute3                    => p_attribute3
201       ,p_attribute4                    => p_attribute4
202       ,p_attribute5                    => p_attribute5
203       ,p_attribute6                    => p_attribute6
204       ,p_attribute7                    => p_attribute7
205       ,p_attribute8                    => p_attribute8
206       ,p_attribute9                    => p_attribute9
207       ,p_attribute10                   => p_attribute10
208       ,p_attribute11                   => p_attribute11
209       ,p_attribute12                   => p_attribute12
210       ,p_attribute13                   => p_attribute13
211       ,p_attribute14                   => p_attribute14
212       ,p_attribute15                   => p_attribute15
213       ,p_attribute16                   => p_attribute16
214       ,p_attribute17                   => p_attribute17
215       ,p_attribute18                   => p_attribute18
216       ,p_attribute19                   => p_attribute19
217       ,p_attribute20                   => p_attribute20
218       ,p_attribute21                   => p_attribute21
219       ,p_attribute22                   => p_attribute22
220       ,p_attribute23                   => p_attribute23
221       ,p_attribute24                   => p_attribute24
222       ,p_attribute25                   => p_attribute25
223       ,p_attribute26                   => p_attribute26
224       ,p_attribute27                   => p_attribute27
225       ,p_attribute28                   => p_attribute28
226       ,p_attribute29                   => p_attribute29
227       ,p_attribute30                   => p_attribute30
228       );
229   exception
230     when hr_api.cannot_find_prog_unit then
231       hr_api.cannot_find_prog_unit_error
232         (p_module_name => 'CREATE_APPRAISAL_PERIOD'
233         ,p_hook_type   => 'BP'
234         );
235   end;
236 
237   --
238   -- Process Logic
239   --
240   IF g_debug THEN hr_utility.set_location(l_proc, 30); END IF;
241 
242   per_pma_ins.ins
243     (p_effective_date                => l_effective_date
244     ,p_plan_id                       => p_plan_id
245     ,p_appraisal_template_id         => p_appraisal_template_id
246     ,p_start_date                    => l_start_date
247     ,p_end_date                      => l_end_date
248     ,p_task_start_date               => l_task_start_date
249     ,p_task_end_date                 => l_task_end_date
250     ,p_initiator_code                => p_initiator_code
251     ,p_appraisal_system_type         => p_appraisal_system_type
252     ,p_appraisal_type                => p_appraisal_type
253     ,p_appraisal_assmt_status        => p_appraisal_assmt_status
254     ,p_auto_conc_process             => p_auto_conc_process
255     ,p_days_before_task_st_dt        => p_days_before_task_st_dt
256     ,p_participation_type        => p_participation_type
257     ,p_questionnaire_template_id        => p_questionnaire_template_id
258     ,p_attribute_category            => p_attribute_category
259     ,p_attribute1                    => p_attribute1
260     ,p_attribute2                    => p_attribute2
261     ,p_attribute3                    => p_attribute3
262     ,p_attribute4                    => p_attribute4
263     ,p_attribute5                    => p_attribute5
264     ,p_attribute6                    => p_attribute6
265     ,p_attribute7                    => p_attribute7
266     ,p_attribute8                    => p_attribute8
267     ,p_attribute9                    => p_attribute9
268     ,p_attribute10                   => p_attribute10
269     ,p_attribute11                   => p_attribute11
270     ,p_attribute12                   => p_attribute12
271     ,p_attribute13                   => p_attribute13
272     ,p_attribute14                   => p_attribute14
273     ,p_attribute15                   => p_attribute15
274     ,p_attribute16                   => p_attribute16
275     ,p_attribute17                   => p_attribute17
276     ,p_attribute18                   => p_attribute18
277     ,p_attribute19                   => p_attribute19
278     ,p_attribute20                   => p_attribute20
279     ,p_attribute21                   => p_attribute21
280     ,p_attribute22                   => p_attribute22
281     ,p_attribute23                   => p_attribute23
282     ,p_attribute24                   => p_attribute24
283     ,p_attribute25                   => p_attribute25
284     ,p_attribute26                   => p_attribute26
285     ,p_attribute27                   => p_attribute27
286     ,p_attribute28                   => p_attribute28
287     ,p_attribute29                   => p_attribute29
288     ,p_attribute30                   => p_attribute30
289     ,p_appraisal_period_id           => l_appraisal_period_id
290     ,p_object_version_number         => l_object_version_number
291     );
292 
293   --
294   -- Call After Process User Hook
295   --
296   begin
297     hr_appraisal_period_bk1.create_appraisal_period_a
298       (p_effective_date                => l_effective_date
299       ,p_plan_id                       => p_plan_id
300       ,p_appraisal_template_id         => p_appraisal_template_id
301       ,p_start_date                    => l_start_date
302       ,p_end_date                      => l_end_date
303       ,p_task_start_date               => l_task_start_date
304       ,p_task_end_date                 => l_task_end_date
305       ,p_initiator_code                => p_initiator_code
306       ,p_appraisal_system_type         => p_appraisal_system_type
307       ,p_appraisal_type                => p_appraisal_type
308       ,p_appraisal_assmt_status        => p_appraisal_assmt_status
309       ,p_auto_conc_process             => p_auto_conc_process
310       ,p_days_before_task_st_dt        => p_days_before_task_st_dt
311       ,p_participation_type        => p_participation_type
312       ,p_questionnaire_template_id        => p_questionnaire_template_id
313       ,p_attribute_category            => p_attribute_category
314       ,p_attribute1                    => p_attribute1
315       ,p_attribute2                    => p_attribute2
316       ,p_attribute3                    => p_attribute3
317       ,p_attribute4                    => p_attribute4
318       ,p_attribute5                    => p_attribute5
319       ,p_attribute6                    => p_attribute6
320       ,p_attribute7                    => p_attribute7
321       ,p_attribute8                    => p_attribute8
322       ,p_attribute9                    => p_attribute9
323       ,p_attribute10                   => p_attribute10
324       ,p_attribute11                   => p_attribute11
325       ,p_attribute12                   => p_attribute12
326       ,p_attribute13                   => p_attribute13
327       ,p_attribute14                   => p_attribute14
328       ,p_attribute15                   => p_attribute15
329       ,p_attribute16                   => p_attribute16
330       ,p_attribute17                   => p_attribute17
331       ,p_attribute18                   => p_attribute18
332       ,p_attribute19                   => p_attribute19
333       ,p_attribute20                   => p_attribute20
334       ,p_attribute21                   => p_attribute21
335       ,p_attribute22                   => p_attribute22
336       ,p_attribute23                   => p_attribute23
337       ,p_attribute24                   => p_attribute24
338       ,p_attribute25                   => p_attribute25
339       ,p_attribute26                   => p_attribute26
340       ,p_attribute27                   => p_attribute27
341       ,p_attribute28                   => p_attribute28
342       ,p_attribute29                   => p_attribute29
343       ,p_attribute30                   => p_attribute30
344       ,p_appraisal_period_id           => l_appraisal_period_id
345       ,p_object_version_number         => l_object_version_number
346       );
347   exception
348     when hr_api.cannot_find_prog_unit then
349       hr_api.cannot_find_prog_unit_error
350         (p_module_name => 'CREATE_APPRAISAL_PERIOD'
351         ,p_hook_type   => 'AP'
352         );
353   end;
354 
355   --
356   -- Update the plan's status to Updated if the plan is already
357   -- published.
358   --
359   set_plan_status(p_plan_id,p_start_date);
360 
361 
362   IF g_debug THEN hr_utility.set_location(l_proc, 40); END IF;
363   --
364   -- When in validation only mode raise the Validate_Enabled exception
365   --
366   if p_validate then
367     raise hr_api.validate_enabled;
368   end if;
369   --
370   -- Set all IN OUT and OUT parameters with out values
371   --
372   p_appraisal_period_id    := l_appraisal_period_id;
373   p_object_version_number  := l_object_version_number;
374 
375   --
376   -- Pipe the main IN OUT / OUT parameters for ease of debugging.
377   --
378   IF g_debug THEN
379 
380     hr_utility.trace(' ');
381     hr_utility.trace(' --------------------------------'||
382                      '---------------------------------');
383     hr_utility.trace(' IN OUT / OUT PARAMETER          '||
384                      ' VALUE');
385     hr_utility.trace(' --------------------------------'||
386                      '+--------------------------------');
387     hr_utility.trace('  p_appraisal_period_id          '||
388                         to_char(p_appraisal_period_id));
389     hr_utility.trace('  p_object_version_number        '||
390                         to_char(p_object_version_number));
391     hr_utility.trace(' --------------------------------'||
392                      '---------------------------------');
393     hr_utility.trace(' ');
394     hr_utility.set_location(' Leaving:'||l_proc, 970);
395 
396   END IF;
397 
398 exception
399   when hr_api.validate_enabled then
400     --
401     -- As the Validate_Enabled exception has been raised
402     -- we must rollback to the savepoint
403     --
404     rollback to create_appraisal_period;
405     --
406     -- Reset IN OUT parameters and set OUT parameters
407     -- (Any key or derived arguments must be set to null
408     -- when validation only mode is being used.)
409     --
410     p_appraisal_period_id    := null;
411     p_object_version_number  := null;
412     hr_utility.set_location(' Leaving:'||l_proc, 980);
413   when others then
414     --
415     -- A validation or unexpected error has occured
416     --
417     rollback to create_appraisal_period;
418     --
419     -- Reset IN OUT parameters and set all
420     -- OUT parameters, including warnings, to null
421     --
422     p_appraisal_period_id    := null;
423     p_object_version_number  := null;
424     hr_utility.set_location(' Leaving:'||l_proc, 990);
425     raise;
426 end create_appraisal_period;
427 --
428 -- ----------------------------------------------------------------------------
429 -- |--------------------------< update_appraisal_period >---------------------|
430 -- ----------------------------------------------------------------------------
431 --
432 procedure update_appraisal_period
433   (p_validate                      in     boolean  default false
434   ,p_effective_date                in     date
435   ,p_appraisal_period_id           in     number
436   ,p_object_version_number         in out nocopy   number
437   ,p_start_date                    in     date     default hr_api.g_date
438   ,p_end_date                      in     date     default hr_api.g_date
439   ,p_task_start_date               in     date     default hr_api.g_date
440   ,p_task_end_date                 in     date     default hr_api.g_date
441   ,p_initiator_code                in     varchar2 default hr_api.g_varchar2
442   ,p_appraisal_system_type         in     varchar2 default hr_api.g_varchar2
443   ,p_appraisal_type                in     varchar2 default hr_api.g_varchar2
444   ,p_appraisal_assmt_status        in     varchar2 default hr_api.g_varchar2
445   ,p_auto_conc_process             in     varchar2 default hr_api.g_varchar2
446   ,p_days_before_task_st_dt        in     number   default hr_api.g_number
447   ,p_participation_type        in     varchar2   default hr_api.g_varchar2
448   ,p_questionnaire_template_id        in     number   default hr_api.g_number
449   ,p_attribute_category            in     varchar2 default hr_api.g_varchar2
450   ,p_attribute1                    in     varchar2 default hr_api.g_varchar2
451   ,p_attribute2                    in     varchar2 default hr_api.g_varchar2
452   ,p_attribute3                    in     varchar2 default hr_api.g_varchar2
453   ,p_attribute4                    in     varchar2 default hr_api.g_varchar2
454   ,p_attribute5                    in     varchar2 default hr_api.g_varchar2
455   ,p_attribute6                    in     varchar2 default hr_api.g_varchar2
456   ,p_attribute7                    in     varchar2 default hr_api.g_varchar2
457   ,p_attribute8                    in     varchar2 default hr_api.g_varchar2
458   ,p_attribute9                    in     varchar2 default hr_api.g_varchar2
459   ,p_attribute10                   in     varchar2 default hr_api.g_varchar2
460   ,p_attribute11                   in     varchar2 default hr_api.g_varchar2
461   ,p_attribute12                   in     varchar2 default hr_api.g_varchar2
462   ,p_attribute13                   in     varchar2 default hr_api.g_varchar2
463   ,p_attribute14                   in     varchar2 default hr_api.g_varchar2
464   ,p_attribute15                   in     varchar2 default hr_api.g_varchar2
465   ,p_attribute16                   in     varchar2 default hr_api.g_varchar2
466   ,p_attribute17                   in     varchar2 default hr_api.g_varchar2
467   ,p_attribute18                   in     varchar2 default hr_api.g_varchar2
468   ,p_attribute19                   in     varchar2 default hr_api.g_varchar2
469   ,p_attribute20                   in     varchar2 default hr_api.g_varchar2
470   ,p_attribute21                   in     varchar2 default hr_api.g_varchar2
471   ,p_attribute22                   in     varchar2 default hr_api.g_varchar2
472   ,p_attribute23                   in     varchar2 default hr_api.g_varchar2
473   ,p_attribute24                   in     varchar2 default hr_api.g_varchar2
474   ,p_attribute25                   in     varchar2 default hr_api.g_varchar2
475   ,p_attribute26                   in     varchar2 default hr_api.g_varchar2
476   ,p_attribute27                   in     varchar2 default hr_api.g_varchar2
477   ,p_attribute28                   in     varchar2 default hr_api.g_varchar2
478   ,p_attribute29                   in     varchar2 default hr_api.g_varchar2
479   ,p_attribute30                   in     varchar2 default hr_api.g_varchar2
480   ) is
481   --
482   -- Declare cursors and local variables
483   --
484   l_effective_date         date;
485   l_proc                   varchar2(72) := g_package||'update_appraisal_period';
486   l_start_date             date;
487   l_end_date               date;
488   l_task_start_date        date;
489   l_task_end_date          date;
490   l_object_version_number  number := p_object_version_number;
491 
492 begin
493 
494   IF g_debug THEN
495 
496     hr_utility.set_location('Entering:'|| l_proc, 10);
497 
498     hr_utility.trace(' ');
499     hr_utility.trace(' --------------------------------'||
500                      '---------------------------------');
501     hr_utility.trace(' IN / IN OUT PARAMETER           '||
502                      ' VALUE');
503     hr_utility.trace(' --------------------------------'||
504                      '+--------------------------------');
505     hr_utility.trace('  p_appraisal_period_id            '||
506                         to_char(p_appraisal_period_id));
507     hr_utility.trace('  p_object_version_number          '||
508                         to_char(p_object_version_number));
509     hr_utility.trace('  p_start_date                     '||
510                         to_char(p_start_date));
511     hr_utility.trace('  p_end_date                       '||
512                         to_char(p_end_date));
513     hr_utility.trace('  p_task_start_date                '||
514                         to_char(p_task_start_date));
515     hr_utility.trace('  p_task_end_date                  '||
516                         to_char(p_task_end_date));
517     hr_utility.trace('  p_initiator_code                 '||
518                         p_initiator_code);
519     hr_utility.trace('  p_effective_date                 '||
520                         to_char(p_effective_date));
521     hr_utility.trace(' --------------------------------'||
522                      '---------------------------------');
523     hr_utility.trace(' ');
524 
525   END IF;
526 
527   --
528   -- Issue a savepoint
529   --
530   savepoint update_appraisal_period;
531 
532   --
533   -- Truncate the time portion from all IN date parameters
534   --
535   l_effective_date         := trunc(p_effective_date);
536   l_start_date      := trunc(p_start_date);
537   l_end_date        := trunc(p_end_date);
538   l_task_start_date := trunc(p_task_start_date);
539   l_task_end_date   := trunc(p_task_end_date);
540 
541   --
542   -- Call Before Process User Hook
543   --
544   begin
545     hr_appraisal_period_bk2.update_appraisal_period_b
546       (p_effective_date                => l_effective_date
547       ,p_appraisal_period_id           => p_appraisal_period_id
548       ,p_object_version_number         => l_object_version_number
549       ,p_start_date                    => l_start_date
550       ,p_end_date                      => l_end_date
551       ,p_task_start_date               => l_task_start_date
552       ,p_task_end_date                 => l_task_end_date
553       ,p_initiator_code                => p_initiator_code
554       ,p_appraisal_system_type         => p_appraisal_system_type
555       ,p_appraisal_type                => p_appraisal_type
556       ,p_appraisal_assmt_status        => p_appraisal_assmt_status
557       ,p_auto_conc_process             => p_auto_conc_process
558       ,p_days_before_task_st_dt        => p_days_before_task_st_dt
559       ,p_participation_type        => p_participation_type
560       ,p_questionnaire_template_id        => p_questionnaire_template_id
561       ,p_attribute_category            => p_attribute_category
562       ,p_attribute1                    => p_attribute1
563       ,p_attribute2                    => p_attribute2
564       ,p_attribute3                    => p_attribute3
565       ,p_attribute4                    => p_attribute4
566       ,p_attribute5                    => p_attribute5
567       ,p_attribute6                    => p_attribute6
568       ,p_attribute7                    => p_attribute7
569       ,p_attribute8                    => p_attribute8
570       ,p_attribute9                    => p_attribute9
571       ,p_attribute10                   => p_attribute10
572       ,p_attribute11                   => p_attribute11
573       ,p_attribute12                   => p_attribute12
574       ,p_attribute13                   => p_attribute13
575       ,p_attribute14                   => p_attribute14
576       ,p_attribute15                   => p_attribute15
577       ,p_attribute16                   => p_attribute16
578       ,p_attribute17                   => p_attribute17
579       ,p_attribute18                   => p_attribute18
580       ,p_attribute19                   => p_attribute19
581       ,p_attribute20                   => p_attribute20
582       ,p_attribute21                   => p_attribute21
583       ,p_attribute22                   => p_attribute22
584       ,p_attribute23                   => p_attribute23
585       ,p_attribute24                   => p_attribute24
586       ,p_attribute25                   => p_attribute25
587       ,p_attribute26                   => p_attribute26
588       ,p_attribute27                   => p_attribute27
589       ,p_attribute28                   => p_attribute28
590       ,p_attribute29                   => p_attribute29
591       ,p_attribute30                   => p_attribute30
592       );
593   exception
594     when hr_api.cannot_find_prog_unit then
595       hr_api.cannot_find_prog_unit_error
596         (p_module_name => 'UPDATE_APPRAISAL_PERIOD'
597         ,p_hook_type   => 'BP'
598         );
599   end;
600 
601   --
602   -- Process Logic
603   --
604   IF g_debug THEN hr_utility.set_location(l_proc, 30); END IF;
605 
606   per_pma_upd.upd
607     (p_effective_date                => l_effective_date
608     ,p_appraisal_period_id           => p_appraisal_period_id
609     ,p_object_version_number         => l_object_version_number
610     ,p_start_date                    => l_start_date
611     ,p_end_date                      => l_end_date
612     ,p_task_start_date               => l_task_start_date
613     ,p_task_end_date                 => l_task_end_date
614     ,p_initiator_code                => p_initiator_code
615     ,p_appraisal_system_type         => p_appraisal_system_type
616     ,p_appraisal_type                => p_appraisal_type
617     ,p_appraisal_assmt_status        => p_appraisal_assmt_status
618     ,p_auto_conc_process             => p_auto_conc_process
619     ,p_days_before_task_st_dt        => p_days_before_task_st_dt
620     ,p_participation_type        => p_participation_type
621     ,p_questionnaire_template_id        => p_questionnaire_template_id
622     ,p_attribute_category            => p_attribute_category
623     ,p_attribute1                    => p_attribute1
624     ,p_attribute2                    => p_attribute2
625     ,p_attribute3                    => p_attribute3
626     ,p_attribute4                    => p_attribute4
627     ,p_attribute5                    => p_attribute5
628     ,p_attribute6                    => p_attribute6
629     ,p_attribute7                    => p_attribute7
630     ,p_attribute8                    => p_attribute8
631     ,p_attribute9                    => p_attribute9
632     ,p_attribute10                   => p_attribute10
633     ,p_attribute11                   => p_attribute11
634     ,p_attribute12                   => p_attribute12
635     ,p_attribute13                   => p_attribute13
636     ,p_attribute14                   => p_attribute14
637     ,p_attribute15                   => p_attribute15
638     ,p_attribute16                   => p_attribute16
639     ,p_attribute17                   => p_attribute17
640     ,p_attribute18                   => p_attribute18
641     ,p_attribute19                   => p_attribute19
642     ,p_attribute20                   => p_attribute20
643     ,p_attribute21                   => p_attribute21
644     ,p_attribute22                   => p_attribute22
645     ,p_attribute23                   => p_attribute23
646     ,p_attribute24                   => p_attribute24
647     ,p_attribute25                   => p_attribute25
648     ,p_attribute26                   => p_attribute26
649     ,p_attribute27                   => p_attribute27
650     ,p_attribute28                   => p_attribute28
651     ,p_attribute29                   => p_attribute29
652     ,p_attribute30                   => p_attribute30
653     );
654 
655   --
656   -- Call After Process User Hook
657   --
658   begin
659     hr_appraisal_period_bk2.update_appraisal_period_a
660       (p_effective_date                => l_effective_date
661       ,p_appraisal_period_id           => p_appraisal_period_id
662       ,p_object_version_number         => l_object_version_number
663       ,p_start_date                    => l_start_date
664       ,p_end_date                      => l_end_date
665       ,p_task_start_date               => l_task_start_date
666       ,p_task_end_date                 => l_task_end_date
667       ,p_initiator_code                => p_initiator_code
668       ,p_appraisal_system_type         => p_appraisal_system_type
669       ,p_appraisal_type                => p_appraisal_type
670       ,p_appraisal_assmt_status        => p_appraisal_assmt_status
671       ,p_auto_conc_process             => p_auto_conc_process
672       ,p_days_before_task_st_dt        => p_days_before_task_st_dt
673       ,p_participation_type        => p_participation_type
674       ,p_questionnaire_template_id        => p_questionnaire_template_id
675       ,p_attribute_category            => p_attribute_category
676       ,p_attribute1                    => p_attribute1
677       ,p_attribute2                    => p_attribute2
678       ,p_attribute3                    => p_attribute3
679       ,p_attribute4                    => p_attribute4
680       ,p_attribute5                    => p_attribute5
681       ,p_attribute6                    => p_attribute6
682       ,p_attribute7                    => p_attribute7
683       ,p_attribute8                    => p_attribute8
684       ,p_attribute9                    => p_attribute9
685       ,p_attribute10                   => p_attribute10
686       ,p_attribute11                   => p_attribute11
687       ,p_attribute12                   => p_attribute12
688       ,p_attribute13                   => p_attribute13
689       ,p_attribute14                   => p_attribute14
690       ,p_attribute15                   => p_attribute15
691       ,p_attribute16                   => p_attribute16
692       ,p_attribute17                   => p_attribute17
693       ,p_attribute18                   => p_attribute18
694       ,p_attribute19                   => p_attribute19
695       ,p_attribute20                   => p_attribute20
696       ,p_attribute21                   => p_attribute21
697       ,p_attribute22                   => p_attribute22
698       ,p_attribute23                   => p_attribute23
699       ,p_attribute24                   => p_attribute24
700       ,p_attribute25                   => p_attribute25
701       ,p_attribute26                   => p_attribute26
702       ,p_attribute27                   => p_attribute27
703       ,p_attribute28                   => p_attribute28
704       ,p_attribute29                   => p_attribute29
705       ,p_attribute30                   => p_attribute30
706       );
707   exception
708     when hr_api.cannot_find_prog_unit then
709       hr_api.cannot_find_prog_unit_error
710         (p_module_name => 'UPDATE_APPRAISAL_PERIOD'
711         ,p_hook_type   => 'AP'
712         );
713   end;
714 
715   --
716   -- Update the plan's status to Updated if the plan is already
717   -- published.
718   --
719   set_plan_status(per_pma_shd.g_old_rec.plan_id
720                  ,per_pma_shd.g_old_rec.start_date);
721 
722   IF g_debug THEN hr_utility.set_location(l_proc, 40); END IF;
723   --
724   -- When in validation only mode raise the Validate_Enabled exception
725   --
726   if p_validate then
727     raise hr_api.validate_enabled;
728   end if;
729   --
730   -- Set all IN OUT and OUT parameters with out values
731   --
732   p_object_version_number  := l_object_version_number;
733 
734   --
735   -- Pipe the main IN OUT / OUT parameters for ease of debugging.
736   --
737   IF g_debug THEN
738 
739     hr_utility.trace(' ');
740     hr_utility.trace(' --------------------------------'||
741                      '---------------------------------');
742     hr_utility.trace(' IN OUT / OUT PARAMETER          '||
743                      ' VALUE');
744     hr_utility.trace(' --------------------------------'||
745                      '+--------------------------------');
746     hr_utility.trace('  p_object_version_number        '||
747                         to_char(p_object_version_number));
748     hr_utility.trace(' --------------------------------'||
749                      '---------------------------------');
750     hr_utility.trace(' ');
751     hr_utility.set_location(' Leaving:'||l_proc, 970);
752 
753   END IF;
754 
755 exception
756   when hr_api.validate_enabled then
757     --
758     -- As the Validate_Enabled exception has been raised
759     -- we must rollback to the savepoint
760     --
761     rollback to update_appraisal_period;
762     --
763     -- Reset IN OUT parameters and set OUT parameters
764     -- (Any key or derived arguments must be set to null
765     -- when validation only mode is being used.)
766     --
767     p_object_version_number  := null;
768     hr_utility.set_location(' Leaving:'||l_proc, 980);
769   when others then
770     --
771     -- A validation or unexpected error has occured
772     --
773     rollback to update_appraisal_period;
774     --
775     -- Reset IN OUT parameters and set all
776     -- OUT parameters, including warnings, to null
777     --
778     p_object_version_number  := null;
779     hr_utility.set_location(' Leaving:'||l_proc, 990);
780     raise;
781 end update_appraisal_period;
782 --
783 -- ----------------------------------------------------------------------------
784 -- |--------------------------< delete_appraisal_period >---------------------|
785 -- ----------------------------------------------------------------------------
786 --
787 procedure delete_appraisal_period
788   (p_validate                      in     boolean  default false
789   ,p_appraisal_period_id           in     number
790   ,p_object_version_number         in     number
791   ) is
792   --
793   -- Declare cursors and local variables
794   --
795   l_proc                    varchar2(72) := g_package||'delete_appraisal_period';
796 
797 begin
798 
799   IF g_debug THEN
800 
801     hr_utility.set_location('Entering:'|| l_proc, 10);
802 
803     hr_utility.trace(' ');
804     hr_utility.trace(' --------------------------------'||
805                      '---------------------------------');
806     hr_utility.trace(' IN / IN OUT PARAMETER           '||
807                      ' VALUE');
808     hr_utility.trace(' --------------------------------'||
809                      '+--------------------------------');
810     hr_utility.trace('  p_appraisal_period_id            '||
811                         to_char(p_appraisal_period_id));
812     hr_utility.trace('  p_object_version_number          '||
813                         to_char(p_object_version_number));
814     hr_utility.trace(' --------------------------------'||
815                      '---------------------------------');
816     hr_utility.trace(' ');
817 
818   END IF;
819 
820   --
821   -- Issue a savepoint
822   --
823   savepoint delete_appraisal_period;
824 
825   --
826   -- Call Before Process User Hook
827   --
828   begin
829     hr_appraisal_period_bk3.delete_appraisal_period_b
830       (p_appraisal_period_id           => p_appraisal_period_id
831       ,p_object_version_number         => p_object_version_number
832       );
833   exception
834     when hr_api.cannot_find_prog_unit then
835       hr_api.cannot_find_prog_unit_error
836         (p_module_name => 'DELETE_APPRAISAL_PERIOD'
837         ,p_hook_type   => 'BP'
838         );
839   end;
840 
841   --
842   -- Process Logic
843   --
844   IF g_debug THEN hr_utility.set_location(l_proc, 30); END IF;
845 
846   per_pma_del.del
847     (p_appraisal_period_id           => p_appraisal_period_id
848     ,p_object_version_number         => p_object_version_number
849     );
850 
851   --
852   -- Call After Process User Hook
853   --
854   begin
855     hr_appraisal_period_bk3.delete_appraisal_period_a
856       (p_appraisal_period_id           => p_appraisal_period_id
857       ,p_object_version_number         => p_object_version_number
858       );
859   exception
860     when hr_api.cannot_find_prog_unit then
861       hr_api.cannot_find_prog_unit_error
862         (p_module_name => 'DELETE_APPRAISAL_PERIOD'
863         ,p_hook_type   => 'AP'
864         );
865   end;
866 
867   IF g_debug THEN hr_utility.set_location(l_proc, 40); END IF;
868   --
869   -- When in validation only mode raise the Validate_Enabled exception
870   --
871   if p_validate then
872     raise hr_api.validate_enabled;
873   end if;
874 
875   --
876   -- Pipe the main IN OUT / OUT parameters for ease of debugging.
877   --
878   IF g_debug THEN
879 
880     hr_utility.trace(' ');
881     hr_utility.trace(' --------------------------------'||
882                      '---------------------------------');
883     hr_utility.trace(' IN OUT / OUT PARAMETER          '||
884                      ' VALUE');
885     hr_utility.trace(' --------------------------------'||
886                      '+--------------------------------');
887     hr_utility.trace(' ');
888     hr_utility.set_location(' Leaving:'||l_proc, 970);
889 
890   END IF;
891 
892 exception
893   when hr_api.validate_enabled then
894     --
895     -- As the Validate_Enabled exception has been raised
896     -- we must rollback to the savepoint
897     --
898     rollback to delete_appraisal_period;
899     hr_utility.set_location(' Leaving:'||l_proc, 980);
900   when others then
901     --
902     -- A validation or unexpected error has occured
903     --
904     rollback to delete_appraisal_period;
905     hr_utility.set_location(' Leaving:'||l_proc, 990);
906     raise;
907 end delete_appraisal_period;
908 --
909 end hr_appraisal_period_api;