DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_TPM_API

Source


1 PACKAGE BODY OTA_TPM_API as
2 /* $Header: ottpmapi.pkb 115.8 2004/03/03 05:16:35 rdola noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  OTA_TPM_API.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< CREATE_TRAINING_PLAN_MEMBER >------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_training_plan_member
13   (p_validate                      in     boolean  default false
14   ,p_effective_date                in     date
15   ,p_business_group_id             in     number
16   ,p_training_plan_id              in     number
17   ,p_activity_version_id           in     number   default null
18   ,p_activity_definition_id        in     number   default null
19   ,p_member_status_type_id         in     varchar2
20   ,p_target_completion_date        in     date     default null
21   ,p_attribute_category            in     varchar2 default null
22   ,p_attribute1                    in     varchar2 default null
23   ,p_attribute2                    in     varchar2 default null
24   ,p_attribute3                    in     varchar2 default null
25   ,p_attribute4                    in     varchar2 default null
26   ,p_attribute5                    in     varchar2 default null
27   ,p_attribute6                    in     varchar2 default null
28   ,p_attribute7                    in     varchar2 default null
29   ,p_attribute8                    in     varchar2 default null
30   ,p_attribute9                    in     varchar2 default null
31   ,p_attribute10                   in     varchar2 default null
32   ,p_attribute11                   in     varchar2 default null
33   ,p_attribute12                   in     varchar2 default null
34   ,p_attribute13                   in     varchar2 default null
35   ,p_attribute14                   in     varchar2 default null
36   ,p_attribute15                   in     varchar2 default null
37   ,p_attribute16                   in     varchar2 default null
38   ,p_attribute17                   in     varchar2 default null
39   ,p_attribute18                   in     varchar2 default null
40   ,p_attribute19                   in     varchar2 default null
41   ,p_attribute20                   in     varchar2 default null
42   ,p_attribute21                   in     varchar2 default null
43   ,p_attribute22                   in     varchar2 default null
44   ,p_attribute23                   in     varchar2 default null
45   ,p_attribute24                   in     varchar2 default null
46   ,p_attribute25                   in     varchar2 default null
47   ,p_attribute26                   in     varchar2 default null
48   ,p_attribute27                   in     varchar2 default null
49   ,p_attribute28                   in     varchar2 default null
50   ,p_attribute29                   in     varchar2 default null
51   ,p_attribute30                   in     varchar2 default null
52   ,p_assignment_id                 in     number default null
53   ,p_source_id                     in     number default  null
54   ,p_source_function               in     varchar2 default null
55   ,p_cancellation_reason           in     varchar2 default null
56   ,p_earliest_start_date           in     date default null
57   ,p_creator_person_id             in    number default null
58   ,p_training_plan_member_id          out nocopy number
59   ,p_object_version_number            out nocopy number
60   ) is
61   --
62   -- Declare cursors and local variables
63   --
64   l_proc                    varchar2(72) := g_package||' Create Training Plan Member';
68   l_member_status_type_id   varchar2(30) := p_member_status_type_id;
65   l_training_plan_member_id number;
66   l_object_version_number   number;
67   l_effective_date          date;
69 	l_person_id number(15);
70 
71 begin
72   hr_utility.set_location('Entering:'|| l_proc, 10);
73   --
74   -- Issue a savepoint
75   --
76   savepoint create_training_plan_member;
77   --
78   -- Truncate the time portion from all IN date parameters
79   --
80   l_effective_date := trunc(p_effective_date);
81 
82   if p_member_status_type_id = 'OTA_PLANNED' then
83 
84 	-- Modified by rdola on 10th Apr 03
85     --l_person_id := ota_training_plan_cmmn.get_person_id(p_training_plan_id);
86     --ota_training_plan_cmmn.modify_tpc_status_on_create(l_person_id,p_earliest_start_date,p_target_completion_date,l_member_status_type_id);
87  --      l_person_id := ota_trng_plan_util_ss.get_person_id(p_training_plan_id => p_training_plan_id);
88  -- Modified for Bug#3479186
89        ota_trng_plan_util_ss.modify_tpc_status_on_create(-- p_person_id               => l_person_id,
90                                                          p_earliest_start_date     => p_earliest_start_date,
91                                                          p_target_completion_date  => p_target_completion_date,
92                                                          p_activity_version_id     => p_activity_version_id,
93                                                          p_training_plan_id        => p_training_plan_id,
94                                                          p_member_status_id        => l_member_status_type_id );
95 
96 
97   end if;
98   --
99   -- Call Before Process User Hook
100   --
101   begin
102     OTA_TPM_api_bk1.create_training_plan_member_b
103   (p_effective_date              => l_effective_date
104   ,p_business_group_id           => p_business_group_id
105   ,p_training_plan_id            => p_training_plan_id
106   ,p_activity_version_id         => p_activity_version_id
107   ,p_activity_definition_id      => p_activity_definition_id
108   ,p_member_status_type_id       => l_member_status_type_id
109   ,p_target_completion_date      => p_target_completion_date
110   ,p_attribute_category          => p_attribute_category
111   ,p_attribute1                  => p_attribute1
112   ,p_attribute2                  => p_attribute2
113   ,p_attribute3                  => p_attribute3
114   ,p_attribute4                  => p_attribute4
115   ,p_attribute5                  => p_attribute5
116   ,p_attribute6                  => p_attribute6
117   ,p_attribute7                  => p_attribute7
118   ,p_attribute8                  => p_attribute8
119   ,p_attribute9                  => p_attribute9
120   ,p_attribute10                 => p_attribute10
121   ,p_attribute11                 => p_attribute11
122   ,p_attribute12                 => p_attribute12
123   ,p_attribute13                 => p_attribute13
124   ,p_attribute14                 => p_attribute14
125   ,p_attribute15                 => p_attribute15
126   ,p_attribute16                 => p_attribute16
127   ,p_attribute17                 => p_attribute17
128   ,p_attribute18                 => p_attribute18
129   ,p_attribute19                 => p_attribute19
130   ,p_attribute20                 => p_attribute20
131   ,p_attribute21                 => p_attribute21
132   ,p_attribute22                 => p_attribute22
133   ,p_attribute23                 => p_attribute23
134   ,p_attribute24                 => p_attribute24
135   ,p_attribute25                 => p_attribute25
136   ,p_attribute26                 => p_attribute26
137   ,p_attribute27                 => p_attribute27
138   ,p_attribute28                 => p_attribute28
139   ,p_attribute29                 => p_attribute29
140   ,p_attribute30                 => p_attribute30
141   ,p_assignment_id               => p_assignment_id
142   ,p_source_id                   => p_source_id
143   ,p_source_function             => p_source_function
144   ,p_cancellation_reason         => p_cancellation_reason
145   ,p_earliest_start_date         => p_earliest_start_date
146   ,p_creator_person_id           => p_creator_person_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_member'
152         ,p_hook_type   => 'BP'
153         );
154   end;
155   --
156   -- Validation in addition to Row Handlers
157   --
158   --
159   -- Process Logic
160   --
161   ota_tpm_ins.ins
162   (p_effective_date                 => l_effective_date
163   ,p_business_group_id              => p_business_group_id
164   ,p_training_plan_id               => p_training_plan_id
165   ,p_activity_version_id            => p_activity_version_id
166   ,p_activity_definition_id         => p_activity_definition_id
167   ,p_member_status_type_id          => l_member_status_type_id
168   ,p_target_completion_date         => p_target_completion_date
169   ,p_attribute_category             => p_attribute_category
170   ,p_attribute1                     => p_attribute1
171   ,p_attribute2                     => p_attribute2
172   ,p_attribute3                     => p_attribute3
173   ,p_attribute4                     => p_attribute4
174   ,p_attribute5                     => p_attribute5
175   ,p_attribute6                     => p_attribute6
176   ,p_attribute7                     => p_attribute7
177   ,p_attribute8                     => p_attribute8
178   ,p_attribute9                     => p_attribute9
179   ,p_attribute10                    => p_attribute10
180   ,p_attribute11                    => p_attribute11
181   ,p_attribute12                    => p_attribute12
182   ,p_attribute13                    => p_attribute13
186   ,p_attribute17                    => p_attribute17
183   ,p_attribute14                    => p_attribute14
184   ,p_attribute15                    => p_attribute15
185   ,p_attribute16                    => p_attribute16
187   ,p_attribute18                    => p_attribute18
188   ,p_attribute19                    => p_attribute19
189   ,p_attribute20                    => p_attribute20
190   ,p_attribute21                    => p_attribute21
191   ,p_attribute22                    => p_attribute22
192   ,p_attribute23                    => p_attribute23
193   ,p_attribute24                    => p_attribute24
194   ,p_attribute25                    => p_attribute25
195   ,p_attribute26                    => p_attribute26
196   ,p_attribute27                    => p_attribute27
197   ,p_attribute28                    => p_attribute28
198   ,p_attribute29                    => p_attribute29
199   ,p_attribute30                    => p_attribute30
200   ,p_assignment_id                  => p_assignment_id
201   ,p_source_id                      => p_source_id
202   ,p_source_function                => p_source_function
203   ,p_cancellation_reason            => p_cancellation_reason
204   ,p_earliest_start_date            => p_earliest_start_date
205   ,p_training_plan_member_id        => l_training_plan_member_id
206   ,p_object_version_number          => l_object_version_number
207   ,p_creator_person_id              => p_creator_person_id
208   );
209   --
210   -- Call After Process User Hook
211   --
212   begin
213   OTA_TPM_api_bk1.create_training_plan_member_a
214   (p_effective_date                 => l_effective_date
215   ,p_business_group_id              => p_business_group_id
216   ,p_training_plan_id               => p_training_plan_id
217   ,p_activity_version_id            => p_activity_version_id
218   ,p_activity_definition_id         => p_activity_definition_id
219   ,p_member_status_type_id          => l_member_status_type_id
220   ,p_target_completion_date         => p_target_completion_date
221   ,p_attribute_category             => p_attribute_category
222   ,p_attribute1                     => p_attribute1
223   ,p_attribute2                     => p_attribute2
224   ,p_attribute3                     => p_attribute3
225   ,p_attribute4                     => p_attribute4
226   ,p_attribute5                     => p_attribute5
227   ,p_attribute6                     => p_attribute6
228   ,p_attribute7                     => p_attribute7
229   ,p_attribute8                     => p_attribute8
230   ,p_attribute9                     => p_attribute9
231   ,p_attribute10                    => p_attribute10
232   ,p_attribute11                    => p_attribute11
233   ,p_attribute12                    => p_attribute12
234   ,p_attribute13                    => p_attribute13
235   ,p_attribute14                    => p_attribute14
236   ,p_attribute15                    => p_attribute15
237   ,p_attribute16                    => p_attribute16
238   ,p_attribute17                    => p_attribute17
239   ,p_attribute18                    => p_attribute18
240   ,p_attribute19                    => p_attribute19
241   ,p_attribute20                    => p_attribute20
242   ,p_attribute21                    => p_attribute21
243   ,p_attribute22                    => p_attribute22
244   ,p_attribute23                    => p_attribute23
245   ,p_attribute24                    => p_attribute24
246   ,p_attribute25                    => p_attribute25
247   ,p_attribute26                    => p_attribute26
248   ,p_attribute27                    => p_attribute27
249   ,p_attribute28                    => p_attribute28
250   ,p_attribute29                    => p_attribute29
251   ,p_attribute30                    => p_attribute30
252   ,p_assignment_id                  => p_assignment_id
253   ,p_source_id                      => p_source_id
254   ,p_source_function                => p_source_function
255   ,p_cancellation_reason            => p_cancellation_reason
256   ,p_earliest_start_date            => p_earliest_start_date
257   ,p_training_plan_member_id        => l_training_plan_member_id
258   ,p_object_version_number          => l_object_version_number
259   ,p_creator_person_id              => p_creator_person_id
260   );
261   exception
262     when hr_api.cannot_find_prog_unit then
263       hr_api.cannot_find_prog_unit_error
264         (p_module_name => 'create_training_plan_member'
265         ,p_hook_type   => 'AP'
266         );
267   end;
268   --
269   -- When in validation only mode raise the Validate_Enabled exception
270   --
271   if p_validate then
272     raise hr_api.validate_enabled;
273   end if;
274   --
275   -- Set all output arguments
276   --
277   p_training_plan_member_id := l_training_plan_member_id;
278   p_object_version_number   := l_object_version_number;
279   --
280   hr_utility.set_location(' Leaving:'||l_proc, 70);
281 exception
282   when hr_api.validate_enabled then
283     --
284     -- As the Validate_Enabled exception has been raised
285     -- we must rollback to the savepoint
286     --
287     rollback to create_training_plan_member;
288     --
289     -- Only set output warning arguments
290     -- (Any key or derived arguments must be set to null
291     -- when validation only mode is being used.)
292     --
293     p_training_plan_member_id := null;
294     p_object_version_number   := null;
295     hr_utility.set_location(' Leaving:'||l_proc, 80);
296   when others then
297     --
298     -- A validation or unexpected error has occured
299     --
300     rollback to create_training_plan_member;
301     p_training_plan_member_id := null;
302     p_object_version_number :=  null;
306 -- ----------------------------------------------------------------------------
303     hr_utility.set_location(' Leaving:'||l_proc, 90);
304     raise;
305 end create_training_plan_member;
307 -- |-------------------------< update_training_plan_member >-------------------|
308 -- ----------------------------------------------------------------------------
309 --
310 procedure update_training_plan_member
311   (p_validate                      in     boolean  default false
312   ,p_effective_date                in     date
313   ,p_training_plan_member_id       in     number
314   ,p_object_version_number         in out nocopy number
315   ,p_activity_version_id           in     number   default hr_api.g_number
316   ,p_activity_definition_id        in     number   default hr_api.g_number
317   ,p_member_status_type_id         in     varchar2 default hr_api.g_varchar2
318   ,p_target_completion_date        in     date     default hr_api.g_date
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
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
348   ,p_attribute29                   in     varchar2 default hr_api.g_varchar2
349   ,p_attribute30                   in     varchar2 default hr_api.g_varchar2
350   ,p_assignment_id                 in     number default hr_api.g_number
351   ,p_source_id                     in     number default  hr_api.g_number
352   ,p_source_function               in     varchar2 default hr_api.g_varchar2
353   ,p_cancellation_reason           in     varchar2 default hr_api.g_varchar2
354   ,p_earliest_start_date           in     date default hr_api.g_date
355   ,p_creator_person_id             in    number
356   ) is
357   --
358   -- Declare cursors and local variables
359   --
360   l_proc                    varchar2(72) := g_package||' Update training plan member';
361   l_object_version_number   number       := p_object_version_number;
362   l_effective_date          date;
363   l_member_status_type_id  varchar2(30) := p_member_status_type_id;
364   l_person_id number(15);
365   l_training_plan_id number(9);
366 
367 begin
368   hr_utility.set_location('Entering:'|| l_proc, 10);
369   --
370   -- Issue a savepoint
371   --
372   savepoint update_training_plan_member;
373 
374   select training_plan_id into l_training_plan_id from ota_training_plan_members
375   where training_plan_member_id = p_training_plan_member_id;
376   --
377   -- Truncate the time portion from all IN date parameters
378   --
379   l_effective_date := trunc(p_effective_date);
380   --
381 
382   if p_member_status_type_id <> 'CANCELLED' then
383 
384 	-- Modified by rdola on 10th Apr 03
385     --l_person_id := ota_training_plan_cmmn.get_person_id(p_training_plan_id);
386     --ota_training_plan_cmmn.modify_tpc_status_on_create(l_person_id,p_earliest_start_date,p_target_completion_date,l_member_status_type_id);
387        l_person_id := ota_trng_plan_util_ss.get_person_id(p_training_plan_id => l_training_plan_id);
388        -- Modified for Bug#3479186
389        ota_trng_plan_util_ss.modify_tpc_status_on_update(-- p_person_id               => l_person_id,
390                                                          p_earliest_start_date     => p_earliest_start_date,
391                                                          p_target_completion_date  => p_target_completion_date,
392                                                          p_activity_version_id     => p_activity_version_id,
393                                                          p_training_plan_id        => l_training_plan_id,
394                                                          p_member_status_id        => l_member_status_type_id );
395 
396 
397   end if;
398   -- Call Before Process User Hook
399   --
400   begin
401     ota_tpm_api_bk2.update_training_plan_member_b
405   ,p_activity_version_id            => p_activity_version_id
402   (p_effective_date                 => l_effective_date
403   ,p_training_plan_member_id        => p_training_plan_member_id
404   ,p_object_version_number          => l_object_version_number
406   ,p_activity_definition_id         => p_activity_definition_id
407   ,p_member_status_type_id          => l_member_status_type_id
408   ,p_target_completion_date         => p_target_completion_date
409   ,p_attribute_category             => p_attribute_category
410   ,p_attribute1                     => p_attribute1
411   ,p_attribute2                     => p_attribute2
412   ,p_attribute3                     => p_attribute3
413   ,p_attribute4                     => p_attribute4
414   ,p_attribute5                     => p_attribute5
415   ,p_attribute6                     => p_attribute6
416   ,p_attribute7                     => p_attribute7
417   ,p_attribute8                     => p_attribute8
418   ,p_attribute9                     => p_attribute9
419   ,p_attribute10                    => p_attribute10
420   ,p_attribute11                    => p_attribute11
421   ,p_attribute12                    => p_attribute12
422   ,p_attribute13                    => p_attribute13
423   ,p_attribute14                    => p_attribute14
424   ,p_attribute15                    => p_attribute15
425   ,p_attribute16                    => p_attribute16
426   ,p_attribute17                    => p_attribute17
427   ,p_attribute18                    => p_attribute18
428   ,p_attribute19                    => p_attribute19
429   ,p_attribute20                    => p_attribute20
430   ,p_attribute21                    => p_attribute21
431   ,p_attribute22                    => p_attribute22
432   ,p_attribute23                    => p_attribute23
433   ,p_attribute24                    => p_attribute24
434   ,p_attribute25                    => p_attribute25
435   ,p_attribute26                    => p_attribute26
436   ,p_attribute27                    => p_attribute27
437   ,p_attribute28                    => p_attribute28
438   ,p_attribute29                    => p_attribute29
439   ,p_attribute30                    => p_attribute30
440   ,p_assignment_id                  => p_assignment_id
441   ,p_source_id                      => p_source_id
442   ,p_source_function                => p_source_function
443   ,p_cancellation_reason            => p_cancellation_reason
444   ,p_earliest_start_date            => p_earliest_start_date
445   ,p_creator_person_id              => p_creator_person_id
446   );
447   exception
448     when hr_api.cannot_find_prog_unit then
449       hr_api.cannot_find_prog_unit_error
450         (p_module_name => 'UPDATE_TRAINING_PLAN_MEMBER'
451         ,p_hook_type   => 'BP'
452         );
453   end;
454   --
455   -- Validation in addition to Row Handlers
456   --
457   --
458   -- Process Logic
459   --
460   ota_tpm_upd.upd
461   (p_effective_date                 => l_effective_date
462   ,p_training_plan_member_id        => p_training_plan_member_id
463   ,p_object_version_number          => l_object_version_number
464   ,p_activity_version_id            => p_activity_version_id
465   ,p_activity_definition_id         => p_activity_definition_id
466   ,p_member_status_type_id          => l_member_status_type_id
467   ,p_target_completion_date         => p_target_completion_date
468   ,p_attribute_category             => p_attribute_category
469   ,p_attribute1                     => p_attribute1
470   ,p_attribute2                     => p_attribute2
471   ,p_attribute3                     => p_attribute3
472   ,p_attribute4                     => p_attribute4
473   ,p_attribute5                     => p_attribute5
474   ,p_attribute6                     => p_attribute6
475   ,p_attribute7                     => p_attribute7
476   ,p_attribute8                     => p_attribute8
477   ,p_attribute9                     => p_attribute9
478   ,p_attribute10                    => p_attribute10
479   ,p_attribute11                    => p_attribute11
480   ,p_attribute12                    => p_attribute12
481   ,p_attribute13                    => p_attribute13
482   ,p_attribute14                    => p_attribute14
483   ,p_attribute15                    => p_attribute15
484   ,p_attribute16                    => p_attribute16
485   ,p_attribute17                    => p_attribute17
486   ,p_attribute18                    => p_attribute18
487   ,p_attribute19                    => p_attribute19
488   ,p_attribute20                    => p_attribute20
489   ,p_attribute21                    => p_attribute21
490   ,p_attribute22                    => p_attribute22
491   ,p_attribute23                    => p_attribute23
492   ,p_attribute24                    => p_attribute24
493   ,p_attribute25                    => p_attribute25
494   ,p_attribute26                    => p_attribute26
495   ,p_attribute27                    => p_attribute27
496   ,p_attribute28                    => p_attribute28
497   ,p_attribute29                    => p_attribute29
498   ,p_attribute30                    => p_attribute30
499   ,p_assignment_id                  => p_assignment_id
500   ,p_source_id                      => p_source_id
501   ,p_source_function                => p_source_function
502   ,p_cancellation_reason            => p_cancellation_reason
503   ,p_earliest_start_date            => p_earliest_start_date
504   ,p_creator_person_id              => p_creator_person_id
505   );
506   --
507   -- Call After Process User Hook
508   --
509   begin
510   OTA_TPM_api_bk2.update_training_plan_member_a
511   (p_effective_date                 => l_effective_date
512   ,p_training_plan_member_id        => p_training_plan_member_id
513   ,p_object_version_number          => l_object_version_number
517   ,p_target_completion_date         => p_target_completion_date
514   ,p_activity_version_id            => p_activity_version_id
515   ,p_activity_definition_id         => p_activity_definition_id
516   ,p_member_status_type_id          => l_member_status_type_id
518   ,p_attribute_category             => p_attribute_category
519   ,p_attribute1                     => p_attribute1
520   ,p_attribute2                     => p_attribute2
521   ,p_attribute3                     => p_attribute3
522   ,p_attribute4                     => p_attribute4
523   ,p_attribute5                     => p_attribute5
524   ,p_attribute6                     => p_attribute6
525   ,p_attribute7                     => p_attribute7
526   ,p_attribute8                     => p_attribute8
527   ,p_attribute9                     => p_attribute9
528   ,p_attribute10                    => p_attribute10
529   ,p_attribute11                    => p_attribute11
530   ,p_attribute12                    => p_attribute12
531   ,p_attribute13                    => p_attribute13
532   ,p_attribute14                    => p_attribute14
533   ,p_attribute15                    => p_attribute15
534   ,p_attribute16                    => p_attribute16
535   ,p_attribute17                    => p_attribute17
536   ,p_attribute18                    => p_attribute18
537   ,p_attribute19                    => p_attribute19
538   ,p_attribute20                    => p_attribute20
539   ,p_attribute21                    => p_attribute21
540   ,p_attribute22                    => p_attribute22
541   ,p_attribute23                    => p_attribute23
542   ,p_attribute24                    => p_attribute24
543   ,p_attribute25                    => p_attribute25
544   ,p_attribute26                    => p_attribute26
545   ,p_attribute27                    => p_attribute27
546   ,p_attribute28                    => p_attribute28
547   ,p_attribute29                    => p_attribute29
548   ,p_attribute30                    => p_attribute30
549   ,p_assignment_id                  => p_assignment_id
550   ,p_source_id                      => p_source_id
551   ,p_source_function                => p_source_function
552   ,p_cancellation_reason            => p_cancellation_reason
553   ,p_earliest_start_date            => p_earliest_start_date
554   ,p_creator_person_id             => p_creator_person_id
555   );
556   exception
557     when hr_api.cannot_find_prog_unit then
558       hr_api.cannot_find_prog_unit_error
559         (p_module_name => 'UPDATE_TRAINING_PLAN_MEMBER'
560         ,p_hook_type   => 'AP'
561         );
562   end;
563   --
564   -- When in validation only mode raise the Validate_Enabled exception
565   --
566   if p_validate then
567     raise hr_api.validate_enabled;
568   end if;
569   --
570   -- Set all output arguments
571   --
572   p_object_version_number  := l_object_version_number;
573   --
574   hr_utility.set_location(' Leaving:'||l_proc, 70);
575 exception
576   when hr_api.validate_enabled then
577     --
578     -- As the Validate_Enabled exception has been raised
579     -- we must rollback to the savepoint
580     --
581     rollback to update_training_plan_member;
582     --
583     -- Only set output warning arguments
584     -- (Any key or derived arguments must be set to null
585     -- when validation only mode is being used.)
586     --
587     p_object_version_number  := null;
588     hr_utility.set_location(' Leaving:'||l_proc, 80);
589   when others then
590     --
591     -- A validation or unexpected error has occured
592     --
593     rollback to update_training_plan_member;
594     hr_utility.set_location(' Leaving:'||l_proc, 90);
595     p_object_version_number := l_object_version_number;
596     raise;
597 end update_training_plan_member;
598 
599 --
600 -- ----------------------------------------------------------------------------
601 -- |-------------------------< delete_training_plan_member >------------------|
602 -- ----------------------------------------------------------------------------
603 --
604 procedure delete_training_plan_member
605   (p_validate                      in     boolean  default false
606   ,p_training_plan_member_id       in     number
607   ,p_object_version_number         in     number
608   ) is
609   --
610   -- Declare cursors and local variables
611   --
612   l_proc                    varchar2(72) := g_package||' Delete Training Plan Member';
613   --
614 begin
615   hr_utility.set_location('Entering:'|| l_proc, 10);
616   --
617   -- Issue a savepoint
618   --
619   savepoint delete_training_plan_member;
620   --
621   -- Call Before Process User Hook
622   --
623   begin
624     OTA_TPM_api_bk3.delete_training_plan_member_b
625     (p_training_plan_member_id     => p_training_plan_member_id
626     ,p_object_version_number       => p_object_version_number
627     );
628   exception
629     when hr_api.cannot_find_prog_unit then
630       hr_api.cannot_find_prog_unit_error
631         (p_module_name => 'DELETE_TRAINING_PLAN_MEMBER'
632         ,p_hook_type   => 'BP'
633         );
634   end;
635   --
636   -- Validation in addition to Row Handlers
637   --
638   --
639   -- Process Logic
640   --
641   OTA_TPM_del.del
642   (p_training_plan_member_id        => p_training_plan_member_id
643   ,p_object_version_number          => p_object_version_number
644   );
645   --
646   -- Call After Process User Hook
647   --
648   begin
649   OTA_TPM_api_bk3.delete_training_plan_member_a
650   (p_training_plan_member_id     => p_training_plan_member_id
651   ,p_object_version_number       => p_object_version_number
652   );
653   exception
654     when hr_api.cannot_find_prog_unit then
655       hr_api.cannot_find_prog_unit_error
656         (p_module_name => 'DELETE_TRAINING_PLAN_MEMBER'
657         ,p_hook_type   => 'AP'
658         );
659   end;
660   --
661   -- When in validation only mode raise the Validate_Enabled exception
662   --
663   if p_validate then
664     raise hr_api.validate_enabled;
665   end if;
666   --
667   -- Set all output arguments
668   --
669   --
670   hr_utility.set_location(' Leaving:'||l_proc, 170);
671 exception
672   when hr_api.validate_enabled then
673     --
674     -- As the Validate_Enabled exception has been raised
675     -- we must rollback to the savepoint
676     --
677     rollback to delete_training_plan_member;
678     --
679     -- Only set output warning arguments
680     -- (Any key or derived arguments must be set to null
681     -- when validation only mode is being used.)
682     --
683     hr_utility.set_location(' Leaving:'||l_proc, 180);
684   when others then
685     --
686     -- A validation or unexpected error has occured
687     --
688     rollback to delete_training_plan_member;
689     hr_utility.set_location(' Leaving:'||l_proc, 190);
690     raise;
691 end delete_training_plan_member;
692 --
693 end ota_tpm_api;