[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';
65 l_training_plan_member_id number;
66 l_object_version_number number;
67 l_effective_date date;
68 l_member_status_type_id varchar2(30) := p_member_status_type_id;
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
183 ,p_attribute14 => p_attribute14
184 ,p_attribute15 => p_attribute15
185 ,p_attribute16 => p_attribute16
186 ,p_attribute17 => p_attribute17
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;
303 hr_utility.set_location(' Leaving:'||l_proc, 90);
304 raise;
305 end create_training_plan_member;
309 --
306 -- ----------------------------------------------------------------------------
307 -- |-------------------------< update_training_plan_member >-------------------|
308 -- ----------------------------------------------------------------------------
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 );
398 -- Call Before Process User Hook
395
396
397 end if;
399 --
400 begin
401 ota_tpm_api_bk2.update_training_plan_member_b
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
405 ,p_activity_version_id => p_activity_version_id
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
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
517 ,p_target_completion_date => p_target_completion_date
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
540 ,p_attribute22 => p_attribute22
537 ,p_attribute19 => p_attribute19
538 ,p_attribute20 => p_attribute20
539 ,p_attribute21 => p_attribute21
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;