DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_TPS_API

Source


1 PACKAGE BODY OTA_TPS_API as
2 /* $Header: ottpsapi.pkb 115.10 2004/04/01 05:18:12 dbatra noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  OTA_TPS_API.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< CREATE_TRAINING_PLAN >------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_training_plan(
13    p_validate                      in     boolean  default false
14   ,p_effective_date                in     date
15   ,p_business_group_id             in     number
16   ,p_time_period_id                in     number
17   ,p_plan_status_type_id           in     varchar2
18   ,p_organization_id               in     number   default null
19   ,p_person_id                     in     number   default null
20   ,p_budget_currency               in     varchar2
21   ,p_name                          in     varchar2
22   ,p_description                   in     varchar2 default null
23   ,p_attribute_category            in     varchar2 default null
24   ,p_attribute1                    in     varchar2 default null
25   ,p_attribute2                    in     varchar2 default null
26   ,p_attribute3                    in     varchar2 default null
27   ,p_attribute4                    in     varchar2 default null
28   ,p_attribute5                    in     varchar2 default null
29   ,p_attribute6                    in     varchar2 default null
30   ,p_attribute7                    in     varchar2 default null
31   ,p_attribute8                    in     varchar2 default null
32   ,p_attribute9                    in     varchar2 default null
33   ,p_attribute10                   in     varchar2 default null
34   ,p_attribute11                   in     varchar2 default null
35   ,p_attribute12                   in     varchar2 default null
36   ,p_attribute13                   in     varchar2 default null
37   ,p_attribute14                   in     varchar2 default null
38   ,p_attribute15                   in     varchar2 default null
39   ,p_attribute16                   in     varchar2 default null
40   ,p_attribute17                   in     varchar2 default null
41   ,p_attribute18                   in     varchar2 default null
42   ,p_attribute19                   in     varchar2 default null
43   ,p_attribute20                   in     varchar2 default null
44   ,p_attribute21                   in     varchar2 default null
45   ,p_attribute22                   in     varchar2 default null
46   ,p_attribute23                   in     varchar2 default null
47   ,p_attribute24                   in     varchar2 default null
48   ,p_attribute25                   in     varchar2 default null
49   ,p_attribute26                   in     varchar2 default null
50   ,p_attribute27                   in     varchar2 default null
51   ,p_attribute28                   in     varchar2 default null
52   ,p_attribute29                   in     varchar2 default null
53   ,p_attribute30                   in     varchar2 default null
54   ,p_plan_source                   in     varchar2 default null --changed
55   ,p_start_date                    in     date default null
56   ,p_end_date                      in     date default null
57   ,p_creator_person_id             in    number default null
58   ,p_additional_member_flag       in varchar2 default null
59   ,p_learning_path_id              in    number default null
60   -- Modified for Bug#3479186
61   ,p_contact_id              in    number    default null
62   ,p_training_plan_id                 out nocopy number
63   ,p_object_version_number            out nocopy number
64   ) is
65   --
66   -- Declare cursors and local variables
67   --
68   l_proc                    varchar2(72) := g_package||' Create Training Plan';
69   l_training_plan_id number;
70   l_object_version_number   number;
71   l_effective_date          date;
72 
73    --bug 3547628
74   l_learning_path_id varchar2(4000);
75   l_item_key     wf_items.item_key%type;
76  -- l_contact_id number(15);
77   l_person_id number(15);
78 
79   Cursor get_info_for_comp(crs_id number)
80   is
81   select person_id,learning_path_id
82   from ota_training_plans
83   where training_plan_id = crs_id;
84 begin
85   hr_utility.set_location('Entering:'|| l_proc, 10);
86   --
87   -- Issue a savepoint
88   --
89   savepoint CREATE_TRAINING_PLAN;
90   --
91   -- Truncate the time portion from all IN date parameters
92   --
93   l_effective_date := trunc(p_effective_date);
94   --
95   -- Call Before Process User Hook
96   --
97   begin
98     ota_tps_api_bk1.create_training_plan_b
99   (p_effective_date              => l_effective_date
100   ,p_business_group_id           => p_business_group_id
101   ,p_time_period_id              => p_time_period_id
102   ,p_plan_status_type_id         => p_plan_status_type_id
103   ,p_organization_id             => p_organization_id
104   ,p_person_id                   => p_person_id
105   ,p_budget_currency             => p_budget_currency
106   ,p_name                        => p_name
107   ,p_description                 => p_description
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_plan_source                 => p_plan_source  --changed
140   ,p_start_date                  => p_start_date
141   ,p_end_date                    => p_end_date
142   ,p_creator_person_id          => p_creator_person_id
143   ,p_additional_member_flag      => p_additional_member_flag
144   ,p_learning_path_id            => p_learning_path_id
145 -- Modified for Bug#3479186
146   ,p_contact_id                        => p_contact_id
147    );
148   exception
149     when hr_api.cannot_find_prog_unit then
150       hr_api.cannot_find_prog_unit_error
151         (p_module_name => 'CREATE_TRAINING_PLAN'
152         ,p_hook_type   => 'BP'
153         );
154   end;
155   --
156   -- Validation in addition to Row Handlers
157   --
158   --
159   -- Process Logic
160   --
161   ota_tps_ins.ins
162   (p_effective_date              => l_effective_date
163   ,p_business_group_id           => p_business_group_id
164   ,p_time_period_id              => p_time_period_id
165   ,p_plan_status_type_id         => p_plan_status_type_id
166   ,p_organization_id             => p_organization_id
167   ,p_person_id                   => p_person_id
168   ,p_budget_currency             => p_budget_currency
169   ,p_name                        => p_name
170   ,p_description                 => p_description
171   ,p_attribute_category          => p_attribute_category
172   ,p_attribute1                  => p_attribute1
173   ,p_attribute2                  => p_attribute2
174   ,p_attribute3                  => p_attribute3
175   ,p_attribute4                  => p_attribute4
176   ,p_attribute5                  => p_attribute5
177   ,p_attribute6                  => p_attribute6
178   ,p_attribute7                  => p_attribute7
179   ,p_attribute8                  => p_attribute8
180   ,p_attribute9                  => p_attribute9
181   ,p_attribute10                 => p_attribute10
182   ,p_attribute11                 => p_attribute11
183   ,p_attribute12                 => p_attribute12
184   ,p_attribute13                 => p_attribute13
185   ,p_attribute14                 => p_attribute14
186   ,p_attribute15                 => p_attribute15
187   ,p_attribute16                 => p_attribute16
188   ,p_attribute17                 => p_attribute17
189   ,p_attribute18                 => p_attribute18
190   ,p_attribute19                 => p_attribute19
191   ,p_attribute20                 => p_attribute20
192   ,p_attribute21                 => p_attribute21
193   ,p_attribute22                 => p_attribute22
194   ,p_attribute23                 => p_attribute23
195   ,p_attribute24                 => p_attribute24
196   ,p_attribute25                 => p_attribute25
197   ,p_attribute26                 => p_attribute26
198   ,p_attribute27                 => p_attribute27
199   ,p_attribute28                 => p_attribute28
200   ,p_attribute29                 => p_attribute29
201   ,p_attribute30                 => p_attribute30
202   ,p_plan_source                 => p_plan_source  --changed
203   ,p_start_date                  => p_start_date
204   ,p_end_date                    => p_end_date
205   ,p_creator_person_id           => p_creator_person_id
206   ,p_additional_member_flag      => p_additional_member_flag
207   ,p_learning_path_id            => p_learning_path_id
208   -- Modified for Bug#3479186
209   ,p_contact_id                        => p_contact_id
210   ,p_training_plan_id            => l_training_plan_id
211   ,p_object_version_number       => l_object_version_number
212   );
213   --
214   -- Call After Process User Hook
215   --
216   begin
217   ota_tps_api_bk1.create_training_plan_a
218   (p_effective_date                 => l_effective_date
219   ,p_business_group_id              => p_business_group_id
220   ,p_time_period_id                 => p_time_period_id
221   ,p_plan_status_type_id            => p_plan_status_type_id
222   ,p_organization_id                => p_organization_id
223   ,p_person_id                      => p_person_id
224   ,p_budget_currency                => p_budget_currency
225   ,p_name                           => p_name
226   ,p_description                    => p_description
227   ,p_attribute_category             => p_attribute_category
228   ,p_attribute1                     => p_attribute1
229   ,p_attribute2                     => p_attribute2
230   ,p_attribute3                     => p_attribute3
231   ,p_attribute4                     => p_attribute4
232   ,p_attribute5                     => p_attribute5
233   ,p_attribute6                     => p_attribute6
234   ,p_attribute7                     => p_attribute7
235   ,p_attribute8                     => p_attribute8
236   ,p_attribute9                     => p_attribute9
237   ,p_attribute10                    => p_attribute10
238   ,p_attribute11                    => p_attribute11
239   ,p_attribute12                    => p_attribute12
240   ,p_attribute13                    => p_attribute13
241   ,p_attribute14                    => p_attribute14
242   ,p_attribute15                    => p_attribute15
243   ,p_attribute16                    => p_attribute16
244   ,p_attribute17                    => p_attribute17
245   ,p_attribute18                    => p_attribute18
246   ,p_attribute19                    => p_attribute19
247   ,p_attribute20                    => p_attribute20
248   ,p_attribute21                    => p_attribute21
249   ,p_attribute22                    => p_attribute22
250   ,p_attribute23                    => p_attribute23
251   ,p_attribute24                    => p_attribute24
252   ,p_attribute25                    => p_attribute25
253   ,p_attribute26                    => p_attribute26
254   ,p_attribute27                    => p_attribute27
255   ,p_attribute28                    => p_attribute28
256   ,p_attribute29                    => p_attribute29
257   ,p_attribute30                    => p_attribute30
258   ,p_plan_source                    => p_plan_source  --changed
259   ,p_start_date                     => p_start_date
260   ,p_end_date                       => p_end_date
261   ,p_creator_person_id              => p_creator_person_id
262   ,p_additional_member_flag         => p_additional_member_flag
263   ,p_learning_path_id               => p_learning_path_id
264   -- Modified for Bug#3479186
265   ,p_contact_id                        => p_contact_id
266   ,p_training_plan_id               => l_training_plan_id
267   ,p_object_version_number          => l_object_version_number
268   );
269   exception
270     when hr_api.cannot_find_prog_unit then
271       hr_api.cannot_find_prog_unit_error
272         (p_module_name => 'CREATE_TRAINING_PLAN'
273         ,p_hook_type   => 'AP'
274         );
275   end;
276   --
277   -- When in validation only mode raise the Validate_Enabled exception
278   --
279   if p_validate then
280     raise hr_api.validate_enabled;
281   end if;
282   --
283   -- Set all output arguments
284   --
285   p_training_plan_id        := l_training_plan_id;
286   p_object_version_number   := l_object_version_number;
287 
288   -- bug 3547628
289   --for comptency update associated with LP
290 
291   OPEN get_info_for_comp(l_training_plan_id);
292 FETCH get_info_for_comp INTO l_person_id, l_learning_path_id;
293 CLOSE get_info_for_comp;
294 if l_person_id is not null and l_learning_path_id is not null
295 and p_plan_status_type_id = 'OTA_COMPLETED' then
296   ota_competence_ss.create_wf_process(p_process 	=>'OTA_COMPETENCE_UPDATE_JSP_PRC',
297             p_itemtype 		=>'HRSSA',
298             p_person_id 	=> l_person_id,
299             p_eventid       =>null,
300             p_learningpath_ids => l_learning_path_id,
301             p_itemkey    =>l_item_key);
302 end if;
303   --
304   hr_utility.set_location(' Leaving:'||l_proc, 70);
305 exception
306   when hr_api.validate_enabled then
307     --
308     -- As the Validate_Enabled exception has been raised
309     -- we must rollback to the savepoint
310     --
311     rollback to CREATE_TRAINING_PLAN;
312     --
313     -- Only set output warning arguments
314     -- (Any key or derived arguments must be set to null
315     -- when validation only mode is being used.)
316     --
317     p_training_plan_id := null;
318     p_object_version_number   := null;
319     hr_utility.set_location(' Leaving:'||l_proc, 80);
320   when others then
321     --
322     -- A validation or unexpected error has occured
323     --
324     rollback to CREATE_TRAINING_PLAN;
325     p_training_plan_id        := null;
326     p_object_version_number   := null;
327     hr_utility.set_location(' Leaving:'||l_proc, 90);
328     raise;
329 end create_training_plan;
330 -- ----------------------------------------------------------------------------
331 -- |-------------------------< UPDATE_TRAINING_PLAN >-------------------------|
332 -- ----------------------------------------------------------------------------
333 --
334 procedure update_training_plan
335   (p_validate                      in     boolean  default false
336   ,p_effective_date                in     date
337   ,p_training_plan_id              in     number
338   ,p_object_version_number         in out nocopy number
339   ,p_time_period_id                in     number
340   ,p_plan_status_type_id           in     varchar2
341   ,p_budget_currency               in     varchar2
342   ,p_name                          in     varchar2
343   ,p_description                   in     varchar2 default hr_api.g_varchar2
344   ,p_attribute_category            in     varchar2 default hr_api.g_varchar2
345   ,p_attribute1                    in     varchar2 default hr_api.g_varchar2
346   ,p_attribute2                    in     varchar2 default hr_api.g_varchar2
347   ,p_attribute3                    in     varchar2 default hr_api.g_varchar2
348   ,p_attribute4                    in     varchar2 default hr_api.g_varchar2
349   ,p_attribute5                    in     varchar2 default hr_api.g_varchar2
350   ,p_attribute6                    in     varchar2 default hr_api.g_varchar2
351   ,p_attribute7                    in     varchar2 default hr_api.g_varchar2
352   ,p_attribute8                    in     varchar2 default hr_api.g_varchar2
353   ,p_attribute9                    in     varchar2 default hr_api.g_varchar2
354   ,p_attribute10                   in     varchar2 default hr_api.g_varchar2
355   ,p_attribute11                   in     varchar2 default hr_api.g_varchar2
356   ,p_attribute12                   in     varchar2 default hr_api.g_varchar2
357   ,p_attribute13                   in     varchar2 default hr_api.g_varchar2
358   ,p_attribute14                   in     varchar2 default hr_api.g_varchar2
359   ,p_attribute15                   in     varchar2 default hr_api.g_varchar2
360   ,p_attribute16                   in     varchar2 default hr_api.g_varchar2
361   ,p_attribute17                   in     varchar2 default hr_api.g_varchar2
362   ,p_attribute18                   in     varchar2 default hr_api.g_varchar2
363   ,p_attribute19                   in     varchar2 default hr_api.g_varchar2
364   ,p_attribute20                   in     varchar2 default hr_api.g_varchar2
365   ,p_attribute21                   in     varchar2 default hr_api.g_varchar2
366   ,p_attribute22                   in     varchar2 default hr_api.g_varchar2
367   ,p_attribute23                   in     varchar2 default hr_api.g_varchar2
368   ,p_attribute24                   in     varchar2 default hr_api.g_varchar2
369   ,p_attribute25                   in     varchar2 default hr_api.g_varchar2
370   ,p_attribute26                   in     varchar2 default hr_api.g_varchar2
371   ,p_attribute27                   in     varchar2 default hr_api.g_varchar2
372   ,p_attribute28                   in     varchar2 default hr_api.g_varchar2
373   ,p_attribute29                   in     varchar2 default hr_api.g_varchar2
374   ,p_attribute30                   in     varchar2 default hr_api.g_varchar2
375   ,p_plan_source                   in     varchar2 default hr_api.g_varchar2  --changed
376   ,p_start_date                    in     date     default hr_api.g_date
377   ,p_end_date                      in     date     default hr_api.g_date
378   ,p_creator_person_id             in     number
379   ,p_additional_member_flag        in     varchar2 default hr_api.g_varchar2
380   ,p_learning_path_id              in     number
381   -- Modified for Bug#3479186
382   ,p_contact_id              in     number
383   ) is
384   --
385   -- Declare cursors and local variables
386   --
387   l_proc                    varchar2(72) := g_package||' Update Training Plan';
388   l_effective_date          date;
389   l_object_version_number   number := p_object_version_number;
390   --bug 3547628
391   l_learning_path_id varchar2(4000);
392   l_item_key     wf_items.item_key%type;
393  -- l_contact_id number(15);
394   l_person_id number(15);
395 
396   Cursor get_info_for_comp
397   is
398   select person_id,learning_path_id
399   from ota_training_plans
400   where training_plan_id = p_training_plan_id;
401 
402 begin
403   hr_utility.set_location('Entering:'|| l_proc, 10);
404   --
405   -- Issue a savepoint
406   --
407   savepoint UPDATE_TRAINING_PLAN;
408   --
409   -- Truncate the time portion from all IN date parameters
410   --
411   l_effective_date := trunc(p_effective_date);
412   --
413   -- Call Before Process User Hook
414   --
415   begin
416     ota_tps_api_bk2.update_training_plan_b
417   (p_effective_date                 => l_effective_date
418   ,p_training_plan_id               => p_training_plan_id
419   ,p_object_version_number          => p_object_version_number
420   ,p_time_period_id                 => p_time_period_id
421   ,p_plan_status_type_id            => p_plan_status_type_id
422   ,p_budget_currency                => p_budget_currency
423   ,p_name                           => p_name
424   ,p_description                    => p_description
425   ,p_attribute_category             => p_attribute_category
426   ,p_attribute1                     => p_attribute1
427   ,p_attribute2                     => p_attribute2
428   ,p_attribute3                     => p_attribute3
429   ,p_attribute4                     => p_attribute4
430   ,p_attribute5                     => p_attribute5
431   ,p_attribute6                     => p_attribute6
432   ,p_attribute7                     => p_attribute7
433   ,p_attribute8                     => p_attribute8
434   ,p_attribute9                     => p_attribute9
435   ,p_attribute10                    => p_attribute10
436   ,p_attribute11                    => p_attribute11
437   ,p_attribute12                    => p_attribute12
438   ,p_attribute13                    => p_attribute13
439   ,p_attribute14                    => p_attribute14
440   ,p_attribute15                    => p_attribute15
441   ,p_attribute16                    => p_attribute16
442   ,p_attribute17                    => p_attribute17
443   ,p_attribute18                    => p_attribute18
444   ,p_attribute19                    => p_attribute19
445   ,p_attribute20                    => p_attribute20
446   ,p_attribute21                    => p_attribute21
447   ,p_attribute22                    => p_attribute22
448   ,p_attribute23                    => p_attribute23
449   ,p_attribute24                    => p_attribute24
450   ,p_attribute25                    => p_attribute25
451   ,p_attribute26                    => p_attribute26
452   ,p_attribute27                    => p_attribute27
453   ,p_attribute28                    => p_attribute28
454   ,p_attribute29                    => p_attribute29
455   ,p_attribute30                    => p_attribute30
456   ,p_plan_source                    => p_plan_source  --changed
457   ,p_start_date                     => p_start_date
458   ,p_end_date                       => p_end_date
459   ,p_creator_person_id              => p_creator_person_id
460   ,p_additional_member_flag         => p_additional_member_flag
461   ,p_learning_path_id               => p_learning_path_id
462  ,p_contact_id                        => p_contact_id
463   );
464   exception
465     when hr_api.cannot_find_prog_unit then
466       hr_api.cannot_find_prog_unit_error
467         (p_module_name => 'UPDATE_TRAINING_PLAN'
468         ,p_hook_type   => 'BP'
469         );
470   end;
471   --
472   -- Validation in addition to Row Handlers
473   --
474   --
475   -- Process Logic
476   --
477   ota_tps_upd.upd
478   (p_effective_date                 => l_effective_date
479   ,p_training_plan_id               => p_training_plan_id
480   ,p_object_version_number          => p_object_version_number
481   ,p_time_period_id                 => p_time_period_id
482   ,p_plan_status_type_id            => p_plan_status_type_id
483   ,p_budget_currency                => p_budget_currency
484   ,p_name                           => p_name
485   ,p_description                    => p_description
486   ,p_attribute_category             => p_attribute_category
487   ,p_attribute1                     => p_attribute1
488   ,p_attribute2                     => p_attribute2
489   ,p_attribute3                     => p_attribute3
490   ,p_attribute4                     => p_attribute4
491   ,p_attribute5                     => p_attribute5
492   ,p_attribute6                     => p_attribute6
493   ,p_attribute7                     => p_attribute7
494   ,p_attribute8                     => p_attribute8
495   ,p_attribute9                     => p_attribute9
496   ,p_attribute10                    => p_attribute10
497   ,p_attribute11                    => p_attribute11
498   ,p_attribute12                    => p_attribute12
499   ,p_attribute13                    => p_attribute13
500   ,p_attribute14                    => p_attribute14
501   ,p_attribute15                    => p_attribute15
502   ,p_attribute16                    => p_attribute16
503   ,p_attribute17                    => p_attribute17
504   ,p_attribute18                    => p_attribute18
505   ,p_attribute19                    => p_attribute19
506   ,p_attribute20                    => p_attribute20
507   ,p_attribute21                    => p_attribute21
508   ,p_attribute22                    => p_attribute22
509   ,p_attribute23                    => p_attribute23
510   ,p_attribute24                    => p_attribute24
511   ,p_attribute25                    => p_attribute25
512   ,p_attribute26                    => p_attribute26
513   ,p_attribute27                    => p_attribute27
514   ,p_attribute28                    => p_attribute28
515   ,p_attribute29                    => p_attribute29
516   ,p_attribute30                    => p_attribute30
517   ,p_plan_source                      => p_plan_source  --changed
518   ,p_start_date                     => p_start_date
519   ,p_end_date                       => p_end_date
520   ,p_creator_person_id              => p_creator_person_id
521   ,p_additional_member_flag         => p_additional_member_flag
522   ,p_learning_path_id               => p_learning_path_id
523   ,p_contact_id                        => p_contact_id
524   );
525   --
526   -- Call After Process User Hook
527   --
528   begin
529   ota_tps_api_bk2.update_training_plan_a
530   (p_effective_date                 => l_effective_date
531   ,p_training_plan_id               => p_training_plan_id
532   ,p_object_version_number          => p_object_version_number
533   ,p_time_period_id                 => p_time_period_id
534   ,p_plan_status_type_id            => p_plan_status_type_id
535   ,p_budget_currency                => p_budget_currency
536   ,p_name                           => p_name
537   ,p_description                    => p_description
538   ,p_attribute_category             => p_attribute_category
539   ,p_attribute1                     => p_attribute1
540   ,p_attribute2                     => p_attribute2
541   ,p_attribute3                     => p_attribute3
542   ,p_attribute4                     => p_attribute4
543   ,p_attribute5                     => p_attribute5
544   ,p_attribute6                     => p_attribute6
545   ,p_attribute7                     => p_attribute7
546   ,p_attribute8                     => p_attribute8
547   ,p_attribute9                     => p_attribute9
548   ,p_attribute10                    => p_attribute10
549   ,p_attribute11                    => p_attribute11
550   ,p_attribute12                    => p_attribute12
551   ,p_attribute13                    => p_attribute13
552   ,p_attribute14                    => p_attribute14
553   ,p_attribute15                    => p_attribute15
554   ,p_attribute16                    => p_attribute16
555   ,p_attribute17                    => p_attribute17
556   ,p_attribute18                    => p_attribute18
557   ,p_attribute19                    => p_attribute19
558   ,p_attribute20                    => p_attribute20
559   ,p_attribute21                    => p_attribute21
560   ,p_attribute22                    => p_attribute22
561   ,p_attribute23                    => p_attribute23
562   ,p_attribute24                    => p_attribute24
563   ,p_attribute25                    => p_attribute25
564   ,p_attribute26                    => p_attribute26
565   ,p_attribute27                    => p_attribute27
566   ,p_attribute28                    => p_attribute28
567   ,p_attribute29                    => p_attribute29
568   ,p_attribute30                    => p_attribute30
569   ,p_plan_source                    => p_plan_source  --changed
570   ,p_start_date                     => p_start_date
571   ,p_end_date                       => p_end_date
572   ,p_creator_person_id              => p_creator_person_id
573   ,p_additional_member_flag         => p_additional_member_flag
574   ,p_learning_path_id               => p_learning_path_id
575   ,p_contact_id                        => p_contact_id
576   );
577   exception
578     when hr_api.cannot_find_prog_unit then
579       hr_api.cannot_find_prog_unit_error
580         (p_module_name => 'UPDATE_TRAINING_PLAN'
581         ,p_hook_type   => 'AP'
582         );
583   end;
584   --
585   -- When in validation only mode raise the Validate_Enabled exception
586   --
587   if p_validate then
588     raise hr_api.validate_enabled;
589   end if;
590   -- bug 3547628
591   --for comptency update associated with LP
592 
593   OPEN get_info_for_comp;
594 FETCH get_info_for_comp INTO l_person_id, l_learning_path_id;
595 CLOSE get_info_for_comp;
596 if l_person_id is not null and l_learning_path_id is not null
597 and p_plan_status_type_id = 'OTA_COMPLETED' then
598   ota_competence_ss.create_wf_process(p_process 	=>'OTA_COMPETENCE_UPDATE_JSP_PRC',
599             p_itemtype 		=>'HRSSA',
600             p_person_id 	=> l_person_id,
601             p_eventid       =>null,
602             p_learningpath_ids => l_learning_path_id,
603             p_itemkey    =>l_item_key);
604 end if;
605   --
606   -- Set all output arguments
607   --
608   hr_utility.set_location(' Leaving:'||l_proc, 70);
609 exception
610   when hr_api.validate_enabled then
611     --
612     -- As the Validate_Enabled exception has been raised
613     -- we must rollback to the savepoint
614     --
615     rollback to UPDATE_TRAINING_PLAN;
616     --
617     -- Only set output warning arguments
618     -- (Any key or derived arguments must be set to null
619     -- when validation only mode is being used.)
620     --
621     p_object_version_number  := null;
622     hr_utility.set_location(' Leaving:'||l_proc, 80);
623   when others then
624     --
625     -- A validation or unexpected error has occured
626     --
627     rollback to UPDATE_TRAINING_PLAN;
628     p_object_version_number  := l_object_version_number;
629     hr_utility.set_location(' Leaving:'||l_proc, 90);
630     raise;
631 end update_training_plan;
632 --
633 -- ----------------------------------------------------------------------------
634 -- |-------------------------< DELETE_TRAINING_PLAN >-------------------|
635 -- ----------------------------------------------------------------------------
636 --
637 procedure delete_training_plan
638   (p_validate                      in     boolean  default false
639   ,p_training_plan_id              in     number
640   ,p_object_version_number         in     number
641   ) is
642   --
643   -- Declare cursors and local variables
644   --
645   l_proc                    varchar2(72) := g_package||' Delete Training Plan';
646   l_budget_version_id       number;
647   --
648   --
649 begin
650   hr_utility.set_location('Entering:'|| l_proc, 10);
651   --
652   -- Issue a savepoint
653   --
654   savepoint DELETE_TRAINING_PLAN;
655   --
656   -- Truncate the time portion from all IN date parameters
657   --
658   --
659   -- Call Before Process User Hook
660   --
661   begin
662     ota_tps_api_bk3.delete_training_plan_b
663   (p_training_plan_id            => p_training_plan_id
664   ,p_object_version_number       => p_object_version_number
665   );
666   exception
667     when hr_api.cannot_find_prog_unit then
668       hr_api.cannot_find_prog_unit_error
669         (p_module_name => 'DELETE_TRAINING_PLAN'
670         ,p_hook_type   => 'BP'
671         );
672   end;
673   --
674   -- Validation in addition to Row Handlers
675   --
676   --
677   -- Process Logic
678   --
679   ota_tps_del.del
680   (p_training_plan_id        => p_training_plan_id
681   ,p_object_version_number   => p_object_version_number
682   );
683   --
684   -- Call After Process User Hook
685   --
686   begin
687   ota_tps_api_bk3.delete_training_plan_a
688   (p_training_plan_id            => p_training_plan_id
689   ,p_object_version_number       => p_object_version_number
690   );
691   exception
692     when hr_api.cannot_find_prog_unit then
693       hr_api.cannot_find_prog_unit_error
694         (p_module_name => 'DELETE_TRAINING_PLAN'
695         ,p_hook_type   => 'AP'
696         );
697   end;
698   --
699   -- When in validation only mode raise the Validate_Enabled exception
700   --
701   if p_validate then
702     raise hr_api.validate_enabled;
703   end if;
704   --
705   -- Set all output arguments
706   --
707   --
708   hr_utility.set_location(' Leaving:'||l_proc, 170);
709 exception
710   when hr_api.validate_enabled then
711     --
712     -- As the Validate_Enabled exception has been raised
713     -- we must rollback to the savepoint
714     --
715     rollback to DELETE_TRAINING_PLAN;
716     --
717     -- Only set output warning arguments
718     -- (Any key or derived arguments must be set to null
719     -- when validation only mode is being used.)
720     --
721     hr_utility.set_location(' Leaving:'||l_proc, 180);
722   when others then
723     --
724     -- A validation or unexpected error has occured
725     --
726     rollback to DELETE_TRAINING_PLAN;
727     hr_utility.set_location(' Leaving:'||l_proc, 190);
728     raise;
729 end delete_training_plan;
730 --
731 end ota_tps_api;
732