[Home] [Help]
PACKAGE BODY: APPS.OKC_TIME_PUB
Source
1 PACKAGE BODY OKC_TIME_PUB AS
2 /* $Header: OKCPTVEB.pls 120.0 2005/05/25 18:46:39 appldev noship $ */
3 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
4
5 --------------------------------------------------------------------------
6 ---The following procedures cater to handling of OKC_TIME_TPA_RELTV
7 --------------------------------------------------------------------------
8
9 PROCEDURE ADD_LANGUAGE IS
10 BEGIN
11 OKC_TIME_PVT.ADD_LANGUAGE;
12 END ADD_LANGUAGE;
13
14 PROCEDURE DELETE_TIMEVALUES_N_TASKS(
15 p_api_version IN NUMBER,
16 p_init_msg_list IN VARCHAR2 ,
17 x_return_status OUT NOCOPY VARCHAR2,
18 x_msg_count OUT NOCOPY NUMBER,
19 x_msg_data OUT NOCOPY VARCHAR2,
20 p_chr_id IN NUMBER ,
21 p_tve_id IN NUMBER) IS
22 BEGIN
23 OKC_TIME_PVT.DELETE_TIMEVALUES_N_TASKS(
24 p_api_version,
25 p_init_msg_list,
26 x_return_status,
27 x_msg_count,
28 x_msg_data,
29 p_chr_id,
30 p_tve_id);
31 END DELETE_TIMEVALUES_N_TASKS;
32
33 FUNCTION migrate_talv(p_talv_rec1 IN talv_rec_type,
34 p_talv_rec2 IN talv_rec_type)
35 RETURN talv_rec_type IS
36 l_talv_rec talv_rec_type;
37 BEGIN
38 l_talv_rec.id := p_talv_rec1.id;
39 l_talv_rec.object_version_number := p_talv_rec1.object_version_number;
40 l_talv_rec.created_by := p_talv_rec1.created_by;
41 l_talv_rec.creation_date := p_talv_rec1.creation_date;
42 l_talv_rec.last_updated_by := p_talv_rec1.last_updated_by;
43 l_talv_rec.last_update_date := p_talv_rec1.last_update_date;
44 l_talv_rec.last_update_login := p_talv_rec1.last_update_login;
45 l_talv_rec.sfwt_flag := p_talv_rec2.sfwt_flag;
46 l_talv_rec.tve_id_limited := p_talv_rec2.tve_id_limited;
47 l_talv_rec.dnz_chr_id := p_talv_rec2.dnz_chr_id;
48 l_talv_rec.tve_id_offset := p_talv_rec2.tve_id_offset;
49 l_talv_rec.operator := p_talv_rec2.operator;
50 l_talv_rec.before_after := p_talv_rec2.before_after;
51 l_talv_rec.duration := p_talv_rec2.duration;
52 l_talv_rec.uom_code := p_talv_rec2.uom_code;
53 l_talv_rec.tze_id := p_talv_rec2.tze_id;
54 l_talv_rec.spn_id := p_talv_rec2.spn_id;
55 l_talv_rec.short_description := p_talv_rec2.short_description;
56 l_talv_rec.description := p_talv_rec2.description;
57 l_talv_rec.comments := p_talv_rec2.comments;
58 l_talv_rec.attribute_category := p_talv_rec2.attribute_category;
59 l_talv_rec.attribute1 := p_talv_rec2.attribute1;
60 l_talv_rec.attribute2 := p_talv_rec2.attribute2;
61 l_talv_rec.attribute3 := p_talv_rec2.attribute3;
62 l_talv_rec.attribute4 := p_talv_rec2.attribute4;
63 l_talv_rec.attribute5 := p_talv_rec2.attribute5;
64 l_talv_rec.attribute6 := p_talv_rec2.attribute6;
65 l_talv_rec.attribute7 := p_talv_rec2.attribute7;
66 l_talv_rec.attribute8 := p_talv_rec2.attribute8;
67 l_talv_rec.attribute9 := p_talv_rec2.attribute9;
68 l_talv_rec.attribute10 := p_talv_rec2.attribute10;
69 l_talv_rec.attribute11 := p_talv_rec2.attribute11;
70 l_talv_rec.attribute12 := p_talv_rec2.attribute12;
71 l_talv_rec.attribute13 := p_talv_rec2.attribute13;
72 l_talv_rec.attribute14 := p_talv_rec2.attribute14;
73 l_talv_rec.attribute15 := p_talv_rec2.attribute15;
74 RETURN (l_talv_rec);
75 END migrate_talv;
76
77 FUNCTION migrate_talv(p_talv_tbl1 IN talv_tbl_type,
78 p_talv_tbl2 IN talv_tbl_type)
79 RETURN talv_tbl_type IS
80 l_talv_tbl talv_tbl_type;
81 i NUMBER := 0;
82 j NUMBER := 0;
83 BEGIN
84 -- If the user hook deleted some records or added some new records in the table,
85 -- discard the change and simply copy the original table.
86 IF p_talv_tbl1.COUNT <> p_talv_tbl2.COUNT THEN
87 l_talv_tbl := p_talv_tbl1;
88 ELSE
89 IF (p_talv_tbl1.COUNT > 0) THEN
90 i := p_talv_tbl1.FIRST;
91 j := p_talv_tbl2.FIRST;
92 LOOP
93 l_talv_tbl(i) := migrate_talv(p_talv_tbl1(i), p_talv_tbl2(j));
94 EXIT WHEN (i = p_talv_tbl1.LAST);
95 i := p_talv_tbl1.NEXT(i);
96 j := p_talv_tbl2.NEXT(j);
97 END LOOP;
98 END IF;
99 END IF;
100 RETURN (l_talv_tbl);
101 END migrate_talv;
102
103 PROCEDURE CREATE_TPA_RELTV(
104 p_api_version IN NUMBER,
105 p_init_msg_list IN VARCHAR2 ,
106 x_return_status OUT NOCOPY VARCHAR2,
107 x_msg_count OUT NOCOPY NUMBER,
108 x_msg_data OUT NOCOPY VARCHAR2,
109 p_talv_rec IN talv_rec_type,
110 x_talv_rec OUT NOCOPY talv_rec_type) IS
111 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TPA_RELTV';
112 l_return_status VARCHAR2(1);
113 l_talv_rec talv_rec_type := p_talv_rec;
114 BEGIN
115 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
116 p_init_msg_list,
117 '_PUB',
118 x_return_status);
119 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
120 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
121 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
122 raise OKC_API.G_EXCEPTION_ERROR;
123 END IF;
124 -- Call user hook for BEFORE
125 g_talv_rec := l_talv_rec;
126 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
127 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
128 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
129 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
130 raise OKC_API.G_EXCEPTION_ERROR;
131 END IF;
132 l_talv_rec := migrate_talv(l_talv_rec, g_talv_rec);
133 OKC_TIME_PVT.CREATE_TPA_RELTV(
134 p_api_version,
135 p_init_msg_list,
136 x_return_status,
137 x_msg_count,
138 x_msg_data,
139 p_talv_rec,
140 x_talv_rec);
141 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
142 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
143 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
144 raise OKC_API.G_EXCEPTION_ERROR;
145 END IF;
146
147 -- Call user hook for AFTER
148 g_talv_rec := x_talv_rec;
149 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
150 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
151 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
152 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
153 raise OKC_API.G_EXCEPTION_ERROR;
154 END IF;
155 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
156 EXCEPTION
157 WHEN OKC_API.G_EXCEPTION_ERROR THEN
158 x_return_status := OKC_API.HANDLE_EXCEPTIONS
159 (l_api_name,
160 G_PKG_NAME,
161 'OKC_API.G_RET_STS_ERROR',
162 x_msg_count,
163 x_msg_data,
164 '_PUB');
165 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
166 x_return_status := OKC_API.HANDLE_EXCEPTIONS
167 (l_api_name,
168 G_PKG_NAME,
169 'OKC_API.G_RET_STS_UNEXP_ERROR',
170 x_msg_count,
171 x_msg_data,
172 '_PUB');
173 WHEN OTHERS THEN
174 x_return_status := OKC_API.HANDLE_EXCEPTIONS
175 (l_api_name,
176 G_PKG_NAME,
177 'OTHERS',
178 x_msg_count,
179 x_msg_data,
180 '_PUB');
181 END CREATE_TPA_RELTV;
182
183 PROCEDURE CREATE_TPA_RELTV(
184 p_api_version IN NUMBER,
185 p_init_msg_list IN VARCHAR2 ,
186 x_return_status OUT NOCOPY VARCHAR2,
187 x_msg_count OUT NOCOPY NUMBER,
188 x_msg_data OUT NOCOPY VARCHAR2,
189 p_talv_tbl IN talv_tbl_type,
190 x_talv_tbl OUT NOCOPY talv_tbl_type) IS
191 i NUMBER := 0;
192 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
193 BEGIN
194 x_return_status := OKC_API.G_RET_STS_SUCCESS;
195 IF p_talv_tbl.COUNT > 0 THEN
196 i := p_talv_tbl.FIRST;
197 LOOP
198 CREATE_TPA_RELTV(
199 p_api_version,
200 p_init_msg_list,
201 l_return_status,
202 x_msg_count,
203 x_msg_data,
204 p_talv_tbl(i),
205 x_talv_tbl(i));
206 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
207 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
208 x_return_status := l_return_status;
209 raise G_EXCEPTION_HALT_VALIDATION;
210 ELSE
211 x_return_status := l_return_status;
212 END IF;
213 END IF;
214 EXIT WHEN (i = p_talv_tbl.LAST);
215 i := p_talv_tbl.NEXT(i);
216 END LOOP;
217 END IF;
218 EXCEPTION
219 WHEN G_EXCEPTION_HALT_VALIDATION THEN
220 NULL;
221 WHEN OTHERS THEN
222 OKC_API.set_message(p_app_name => g_app_name,
223 p_msg_name => g_unexpected_error,
224 p_token1 => g_sqlcode_token,
225 p_token1_value => sqlcode,
226 p_token2 => g_sqlerrm_token,
227 p_token2_value => sqlerrm);
228 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
229 END CREATE_TPA_RELTV;
230
231 PROCEDURE UPDATE_TPA_RELTV(
232 p_api_version IN NUMBER,
233 p_init_msg_list IN VARCHAR2 ,
234 x_return_status OUT NOCOPY VARCHAR2,
235 x_msg_count OUT NOCOPY NUMBER,
236 x_msg_data OUT NOCOPY VARCHAR2,
237 p_talv_rec IN talv_rec_type,
238 x_talv_rec OUT NOCOPY talv_rec_type) IS
239 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TPA_RELTV';
240 l_return_status VARCHAR2(1);
241 l_talv_rec talv_rec_type := p_talv_rec;
242 BEGIN
243 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
244 p_init_msg_list,
245 '_PUB',
246 x_return_status);
247 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
248 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
249 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
250 raise OKC_API.G_EXCEPTION_ERROR;
251 END IF;
252 -- Call user hook for BEFORE
253 g_talv_rec := l_talv_rec;
254 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
255 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
256 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
257 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
258 raise OKC_API.G_EXCEPTION_ERROR;
259 END IF;
260 l_talv_rec := migrate_talv(l_talv_rec, g_talv_rec);
261 OKC_TIME_PVT.UPDATE_TPA_RELTV(
262 p_api_version,
263 p_init_msg_list,
264 x_return_status,
265 x_msg_count,
266 x_msg_data,
267 p_talv_rec,
268 x_talv_rec);
269 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
270 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
271 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
272 raise OKC_API.G_EXCEPTION_ERROR;
273 END IF;
274
275 -- Call user hook for AFTER
276 g_talv_rec := x_talv_rec;
277 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
278 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
279 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
280 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
281 raise OKC_API.G_EXCEPTION_ERROR;
282 END IF;
283 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
284 EXCEPTION
285 WHEN OKC_API.G_EXCEPTION_ERROR THEN
286 x_return_status := OKC_API.HANDLE_EXCEPTIONS
287 (l_api_name,
288 G_PKG_NAME,
289 'OKC_API.G_RET_STS_ERROR',
290 x_msg_count,
291 x_msg_data,
292 '_PUB');
293 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
294 x_return_status := OKC_API.HANDLE_EXCEPTIONS
295 (l_api_name,
296 G_PKG_NAME,
297 'OKC_API.G_RET_STS_UNEXP_ERROR',
298 x_msg_count,
299 x_msg_data,
300 '_PUB');
301 WHEN OTHERS THEN
302 x_return_status := OKC_API.HANDLE_EXCEPTIONS
303 (l_api_name,
304 G_PKG_NAME,
305 'OTHERS',
306 x_msg_count,
307 x_msg_data,
308 '_PUB');
309 END UPDATE_TPA_RELTV;
310
311 PROCEDURE UPDATE_TPA_RELTV(
312 p_api_version IN NUMBER,
313 p_init_msg_list IN VARCHAR2 ,
314 x_return_status OUT NOCOPY VARCHAR2,
315 x_msg_count OUT NOCOPY NUMBER,
316 x_msg_data OUT NOCOPY VARCHAR2,
317 p_talv_tbl IN talv_tbl_type,
318 x_talv_tbl OUT NOCOPY talv_tbl_type) IS
319 i NUMBER := 0;
320 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
321 BEGIN
322 x_return_status := OKC_API.G_RET_STS_SUCCESS;
323 IF p_talv_tbl.COUNT > 0 THEN
324 i := p_talv_tbl.FIRST;
325 LOOP
326 UPDATE_TPA_RELTV(
327 p_api_version,
328 p_init_msg_list,
329 l_return_status,
330 x_msg_count,
331 x_msg_data,
332 p_talv_tbl(i),
333 x_talv_tbl(i));
334 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
335 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
336 x_return_status := l_return_status;
337 raise G_EXCEPTION_HALT_VALIDATION;
338 ELSE
339 x_return_status := l_return_status;
340 END IF;
341 END IF;
342 EXIT WHEN (i = p_talv_tbl.LAST);
343 i := p_talv_tbl.NEXT(i);
344 END LOOP;
345 END IF;
346 EXCEPTION
347 WHEN G_EXCEPTION_HALT_VALIDATION THEN
348 NULL;
349 WHEN OTHERS THEN
350 OKC_API.set_message(p_app_name => g_app_name,
351 p_msg_name => g_unexpected_error,
352 p_token1 => g_sqlcode_token,
353 p_token1_value => sqlcode,
354 p_token2 => g_sqlerrm_token,
355 p_token2_value => sqlerrm);
356 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
357 END UPDATE_TPA_RELTV;
358
359 PROCEDURE DELETE_TPA_RELTV(
360 p_api_version IN NUMBER,
361 p_init_msg_list IN VARCHAR2 ,
362 x_return_status OUT NOCOPY VARCHAR2,
363 x_msg_count OUT NOCOPY NUMBER,
364 x_msg_data OUT NOCOPY VARCHAR2,
365 p_talv_rec IN talv_rec_type) IS
366 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TPA_RELTV';
367 l_return_status VARCHAR2(1);
368 l_talv_rec talv_rec_type := p_talv_rec;
369 BEGIN
370 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
371 p_init_msg_list,
372 '_PUB',
373 x_return_status);
374 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
375 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
376 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
377 raise OKC_API.G_EXCEPTION_ERROR;
378 END IF;
379 -- Call user hook for BEFORE
380 g_talv_rec := l_talv_rec;
381 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
382 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
383 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
384 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
385 raise OKC_API.G_EXCEPTION_ERROR;
386 END IF;
387 OKC_TIME_PVT.DELETE_TPA_RELTV(
388 p_api_version,
389 p_init_msg_list,
390 x_return_status,
391 x_msg_count,
392 x_msg_data,
393 p_talv_rec);
394 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
395 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
396 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
397 raise OKC_API.G_EXCEPTION_ERROR;
398 END IF;
399
400 -- Call user hook for AFTER
401 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
402 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
403 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
404 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
405 raise OKC_API.G_EXCEPTION_ERROR;
406 END IF;
407 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
408 EXCEPTION
409 WHEN OKC_API.G_EXCEPTION_ERROR THEN
410 x_return_status := OKC_API.HANDLE_EXCEPTIONS
411 (l_api_name,
412 G_PKG_NAME,
413 'OKC_API.G_RET_STS_ERROR',
414 x_msg_count,
415 x_msg_data,
416 '_PUB');
417 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
418 x_return_status := OKC_API.HANDLE_EXCEPTIONS
419 (l_api_name,
420 G_PKG_NAME,
421 'OKC_API.G_RET_STS_UNEXP_ERROR',
422 x_msg_count,
423 x_msg_data,
424 '_PUB');
425 WHEN OTHERS THEN
426 x_return_status := OKC_API.HANDLE_EXCEPTIONS
427 (l_api_name,
428 G_PKG_NAME,
429 'OTHERS',
430 x_msg_count,
431 x_msg_data,
432 '_PUB');
433 END DELETE_TPA_RELTV;
434
435 PROCEDURE DELETE_TPA_RELTV(
436 p_api_version IN NUMBER,
437 p_init_msg_list IN VARCHAR2 ,
438 x_return_status OUT NOCOPY VARCHAR2,
439 x_msg_count OUT NOCOPY NUMBER,
440 x_msg_data OUT NOCOPY VARCHAR2,
441 p_talv_tbl IN talv_tbl_type) IS
442 i NUMBER := 0;
443 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
444 BEGIN
445 x_return_status := OKC_API.G_RET_STS_SUCCESS;
446 IF p_talv_tbl.COUNT > 0 THEN
447 i := p_talv_tbl.FIRST;
448 LOOP
449 DELETE_TPA_RELTV(
450 p_api_version,
451 p_init_msg_list,
452 l_return_status,
453 x_msg_count,
454 x_msg_data,
455 p_talv_tbl(i));
456 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
457 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
458 x_return_status := l_return_status;
459 raise G_EXCEPTION_HALT_VALIDATION;
460 ELSE
461 x_return_status := l_return_status;
462 END IF;
463 END IF;
464 EXIT WHEN (i = p_talv_tbl.LAST);
465 i := p_talv_tbl.NEXT(i);
466 END LOOP;
467 END IF;
468 EXCEPTION
469 WHEN G_EXCEPTION_HALT_VALIDATION THEN
470 NULL;
471 WHEN OTHERS THEN
472 OKC_API.set_message(p_app_name => g_app_name,
473 p_msg_name => g_unexpected_error,
474 p_token1 => g_sqlcode_token,
475 p_token1_value => sqlcode,
476 p_token2 => g_sqlerrm_token,
477 p_token2_value => sqlerrm);
478 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
479 END DELETE_TPA_RELTV;
480
481 PROCEDURE LOCK_TPA_RELTV(
482 p_api_version IN NUMBER,
483 p_init_msg_list IN VARCHAR2 ,
484 x_return_status OUT NOCOPY VARCHAR2,
485 x_msg_count OUT NOCOPY NUMBER,
486 x_msg_data OUT NOCOPY VARCHAR2,
487 p_talv_rec IN talv_rec_type) IS
488 BEGIN
489 OKC_TIME_PVT.LOCK_TPA_RELTV(
490 p_api_version,
491 p_init_msg_list,
492 x_return_status,
493 x_msg_count,
494 x_msg_data,
495 p_talv_rec);
496 END LOCK_TPA_RELTV;
497
498 PROCEDURE LOCK_TPA_RELTV(
499 p_api_version IN NUMBER,
500 p_init_msg_list IN VARCHAR2 ,
501 x_return_status OUT NOCOPY VARCHAR2,
502 x_msg_count OUT NOCOPY NUMBER,
503 x_msg_data OUT NOCOPY VARCHAR2,
504 p_talv_tbl IN talv_tbl_type) IS
505 i NUMBER := 0;
506 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
507 BEGIN
508 x_return_status := OKC_API.G_RET_STS_SUCCESS;
509 IF p_talv_tbl.COUNT > 0 THEN
510 i := p_talv_tbl.FIRST;
511 LOOP
512 LOCK_TPA_RELTV(
513 p_api_version,
514 p_init_msg_list,
515 l_return_status,
516 x_msg_count,
517 x_msg_data,
518 p_talv_tbl(i));
519 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
520 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
521 x_return_status := l_return_status;
522 raise G_EXCEPTION_HALT_VALIDATION;
523 ELSE
524 x_return_status := l_return_status;
525 END IF;
526 END IF;
527 EXIT WHEN (i = p_talv_tbl.LAST);
528 i := p_talv_tbl.NEXT(i);
529 END LOOP;
530 END IF;
531 EXCEPTION
532 WHEN G_EXCEPTION_HALT_VALIDATION THEN
533 NULL;
534 WHEN OTHERS THEN
535 OKC_API.set_message(p_app_name => g_app_name,
536 p_msg_name => g_unexpected_error,
537 p_token1 => g_sqlcode_token,
538 p_token1_value => sqlcode,
539 p_token2 => g_sqlerrm_token,
540 p_token2_value => sqlerrm);
541 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
542 END LOCK_TPA_RELTV;
543
544 PROCEDURE VALID_TPA_RELTV(
545 p_api_version IN NUMBER,
546 p_init_msg_list IN VARCHAR2 ,
547 x_return_status OUT NOCOPY VARCHAR2,
548 x_msg_count OUT NOCOPY NUMBER,
549 x_msg_data OUT NOCOPY VARCHAR2,
550 p_talv_rec IN talv_rec_type) IS
551 BEGIN
552 OKC_TIME_PVT.VALID_TPA_RELTV(
553 p_api_version,
554 p_init_msg_list,
555 x_return_status,
556 x_msg_count,
557 x_msg_data,
558 p_talv_rec);
559 END VALID_TPA_RELTV;
560
561 PROCEDURE VALID_TPA_RELTV(
562 p_api_version IN NUMBER,
563 p_init_msg_list IN VARCHAR2 ,
564 x_return_status OUT NOCOPY VARCHAR2,
565 x_msg_count OUT NOCOPY NUMBER,
566 x_msg_data OUT NOCOPY VARCHAR2,
567 p_talv_tbl IN talv_tbl_type) IS
568 i NUMBER := 0;
569 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
570 BEGIN
571 x_return_status := OKC_API.G_RET_STS_SUCCESS;
572 IF p_talv_tbl.COUNT > 0 THEN
573 i := p_talv_tbl.FIRST;
574 LOOP
575 VALID_TPA_RELTV(
576 p_api_version,
577 p_init_msg_list,
578 l_return_status,
579 x_msg_count,
580 x_msg_data,
581 p_talv_tbl(i));
582 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
583 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
584 x_return_status := l_return_status;
585 raise G_EXCEPTION_HALT_VALIDATION;
586 ELSE
587 x_return_status := l_return_status;
588 END IF;
589 END IF;
590 EXIT WHEN (i = p_talv_tbl.LAST);
591 i := p_talv_tbl.NEXT(i);
592 END LOOP;
593 END IF;
594 EXCEPTION
595 WHEN G_EXCEPTION_HALT_VALIDATION THEN
596 NULL;
597 WHEN OTHERS THEN
598 OKC_API.set_message(p_app_name => g_app_name,
599 p_msg_name => g_unexpected_error,
600 p_token1 => g_sqlcode_token,
601 p_token1_value => sqlcode,
602 p_token2 => g_sqlerrm_token,
603 p_token2_value => sqlerrm);
604 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
605 END VALID_TPA_RELTV;
606
607 FUNCTION migrate_talv(p_talv_evt_rec1 IN talv_evt_rec_type,
608 p_talv_evt_rec2 IN talv_evt_rec_type)
609 RETURN talv_evt_rec_type IS
610 l_talv_evt_rec talv_evt_rec_type;
611 BEGIN
612 l_talv_evt_rec.id := p_talv_evt_rec1.id;
613 l_talv_evt_rec.object_version_number := p_talv_evt_rec1.object_version_number;
614 l_talv_evt_rec.created_by := p_talv_evt_rec1.created_by;
615 l_talv_evt_rec.creation_date := p_talv_evt_rec1.creation_date;
616 l_talv_evt_rec.last_updated_by := p_talv_evt_rec1.last_updated_by;
617 l_talv_evt_rec.last_update_date := p_talv_evt_rec1.last_update_date;
618 l_talv_evt_rec.last_update_login := p_talv_evt_rec1.last_update_login;
619 l_talv_evt_rec.sfwt_flag := p_talv_evt_rec2.sfwt_flag;
620 l_talv_evt_rec.tve_id_limited := p_talv_evt_rec2.tve_id_limited;
621 l_talv_evt_rec.dnz_chr_id := p_talv_evt_rec2.dnz_chr_id;
622 l_talv_evt_rec.tve_id_offset := p_talv_evt_rec2.tve_id_offset;
623 l_talv_evt_rec.operator := p_talv_evt_rec2.operator;
624 l_talv_evt_rec.before_after := p_talv_evt_rec2.before_after;
625 l_talv_evt_rec.duration := p_talv_evt_rec2.duration;
626 l_talv_evt_rec.uom_code := p_talv_evt_rec2.uom_code;
627 l_talv_evt_rec.tze_id := p_talv_evt_rec2.tze_id;
628 l_talv_evt_rec.cnh_id := p_talv_evt_rec2.cnh_id;
629 l_talv_evt_rec.spn_id := p_talv_evt_rec2.spn_id;
630 l_talv_evt_rec.short_description := p_talv_evt_rec2.short_description;
631 l_talv_evt_rec.description := p_talv_evt_rec2.description;
632 l_talv_evt_rec.comments := p_talv_evt_rec2.comments;
633 l_talv_evt_rec.attribute_category := p_talv_evt_rec2.attribute_category;
634 l_talv_evt_rec.attribute1 := p_talv_evt_rec2.attribute1;
635 l_talv_evt_rec.attribute2 := p_talv_evt_rec2.attribute2;
636 l_talv_evt_rec.attribute3 := p_talv_evt_rec2.attribute3;
637 l_talv_evt_rec.attribute4 := p_talv_evt_rec2.attribute4;
638 l_talv_evt_rec.attribute5 := p_talv_evt_rec2.attribute5;
639 l_talv_evt_rec.attribute6 := p_talv_evt_rec2.attribute6;
640 l_talv_evt_rec.attribute7 := p_talv_evt_rec2.attribute7;
641 l_talv_evt_rec.attribute8 := p_talv_evt_rec2.attribute8;
642 l_talv_evt_rec.attribute9 := p_talv_evt_rec2.attribute9;
643 l_talv_evt_rec.attribute10 := p_talv_evt_rec2.attribute10;
644 l_talv_evt_rec.attribute11 := p_talv_evt_rec2.attribute11;
645 l_talv_evt_rec.attribute12 := p_talv_evt_rec2.attribute12;
646 l_talv_evt_rec.attribute13 := p_talv_evt_rec2.attribute13;
647 l_talv_evt_rec.attribute14 := p_talv_evt_rec2.attribute14;
648 l_talv_evt_rec.attribute15 := p_talv_evt_rec2.attribute15;
649 RETURN (l_talv_evt_rec);
650 END migrate_talv;
651
652 FUNCTION migrate_talv(p_talv_evt_tbl1 IN talv_evt_tbl_type,
653 p_talv_evt_tbl2 IN talv_evt_tbl_type)
654 RETURN talv_evt_tbl_type IS
655 l_talv_evt_tbl talv_evt_tbl_type;
656 i NUMBER := 0;
657 j NUMBER := 0;
658 BEGIN
659 -- If the user hook deleted some records or added some new records in the table,
660 -- discard the change and simply copy the original table.
661 IF p_talv_evt_tbl1.COUNT <> p_talv_evt_tbl2.COUNT THEN
662 l_talv_evt_tbl := p_talv_evt_tbl1;
663 ELSE
664 IF (p_talv_evt_tbl1.COUNT > 0) THEN
665 i := p_talv_evt_tbl1.FIRST;
666 j := p_talv_evt_tbl2.FIRST;
667 LOOP
668 l_talv_evt_tbl(i) := migrate_talv(p_talv_evt_tbl1(i), p_talv_evt_tbl2(j));
669 EXIT WHEN (i = p_talv_evt_tbl1.LAST);
670 i := p_talv_evt_tbl1.NEXT(i);
671 j := p_talv_evt_tbl2.NEXT(j);
672 END LOOP;
673 END IF;
674 END IF;
675 RETURN (l_talv_evt_tbl);
676 END migrate_talv;
677
678 PROCEDURE CREATE_TPA_RELTV(
679 p_api_version IN NUMBER,
680 p_init_msg_list IN VARCHAR2 ,
681 x_return_status OUT NOCOPY VARCHAR2,
682 x_msg_count OUT NOCOPY NUMBER,
683 x_msg_data OUT NOCOPY VARCHAR2,
684 p_talv_evt_rec IN talv_evt_rec_type,
685 x_talv_evt_rec OUT NOCOPY talv_evt_rec_type) IS
686 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TPA_RELTV';
687 l_return_status VARCHAR2(1);
688 l_talv_evt_rec talv_evt_rec_type := p_talv_evt_rec;
689 BEGIN
690 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
691 p_init_msg_list,
692 '_PUB',
693 x_return_status);
694 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
695 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
696 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
697 raise OKC_API.G_EXCEPTION_ERROR;
698 END IF;
699 -- Call user hook for BEFORE
700 g_talv_evt_rec := l_talv_evt_rec;
701 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
702 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
703 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
704 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
705 raise OKC_API.G_EXCEPTION_ERROR;
706 END IF;
707 l_talv_evt_rec := migrate_talv(l_talv_evt_rec, g_talv_evt_rec);
708 OKC_TIME_PVT.CREATE_TPA_RELTV(
709 p_api_version,
710 p_init_msg_list,
711 x_return_status,
712 x_msg_count,
713 x_msg_data,
714 p_talv_evt_rec,
715 x_talv_evt_rec);
716 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
717 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
718 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
719 raise OKC_API.G_EXCEPTION_ERROR;
720 END IF;
721
722 -- Call user hook for AFTER
723 g_talv_evt_rec := x_talv_evt_rec;
724 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
725 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
726 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
727 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
728 raise OKC_API.G_EXCEPTION_ERROR;
729 END IF;
730 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
731 EXCEPTION
732 WHEN OKC_API.G_EXCEPTION_ERROR THEN
733 x_return_status := OKC_API.HANDLE_EXCEPTIONS
734 (l_api_name,
735 G_PKG_NAME,
736 'OKC_API.G_RET_STS_ERROR',
737 x_msg_count,
738 x_msg_data,
739 '_PUB');
740 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
741 x_return_status := OKC_API.HANDLE_EXCEPTIONS
742 (l_api_name,
743 G_PKG_NAME,
744 'OKC_API.G_RET_STS_UNEXP_ERROR',
745 x_msg_count,
746 x_msg_data,
747 '_PUB');
748 WHEN OTHERS THEN
749 x_return_status := OKC_API.HANDLE_EXCEPTIONS
750 (l_api_name,
751 G_PKG_NAME,
752 'OTHERS',
753 x_msg_count,
754 x_msg_data,
755 '_PUB');
756 END CREATE_TPA_RELTV;
757
758 PROCEDURE CREATE_TPA_RELTV(
759 p_api_version IN NUMBER,
760 p_init_msg_list IN VARCHAR2 ,
761 x_return_status OUT NOCOPY VARCHAR2,
762 x_msg_count OUT NOCOPY NUMBER,
763 x_msg_data OUT NOCOPY VARCHAR2,
764 p_talv_evt_tbl IN talv_evt_tbl_type,
765 x_talv_evt_tbl OUT NOCOPY talv_evt_tbl_type) IS
766 i NUMBER := 0;
767 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
768 BEGIN
769 x_return_status := OKC_API.G_RET_STS_SUCCESS;
770 IF p_talv_evt_tbl.COUNT > 0 THEN
771 i := p_talv_evt_tbl.FIRST;
772 LOOP
773 CREATE_TPA_RELTV(
774 p_api_version,
775 p_init_msg_list,
776 l_return_status,
777 x_msg_count,
778 x_msg_data,
779 p_talv_evt_tbl(i),
780 x_talv_evt_tbl(i));
781 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
782 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
783 x_return_status := l_return_status;
784 raise G_EXCEPTION_HALT_VALIDATION;
785 ELSE
786 x_return_status := l_return_status;
787 END IF;
788 END IF;
789 EXIT WHEN (i = p_talv_evt_tbl.LAST);
790 i := p_talv_evt_tbl.NEXT(i);
791 END LOOP;
792 END IF;
793 EXCEPTION
794 WHEN G_EXCEPTION_HALT_VALIDATION THEN
795 NULL;
796 WHEN OTHERS THEN
797 OKC_API.set_message(p_app_name => g_app_name,
798 p_msg_name => g_unexpected_error,
799 p_token1 => g_sqlcode_token,
800 p_token1_value => sqlcode,
801 p_token2 => g_sqlerrm_token,
802 p_token2_value => sqlerrm);
803 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
804 END CREATE_TPA_RELTV;
805
806 PROCEDURE UPDATE_TPA_RELTV(
807 p_api_version IN NUMBER,
808 p_init_msg_list IN VARCHAR2 ,
809 x_return_status OUT NOCOPY VARCHAR2,
810 x_msg_count OUT NOCOPY NUMBER,
811 x_msg_data OUT NOCOPY VARCHAR2,
812 p_talv_evt_rec IN talv_evt_rec_type,
813 x_talv_evt_rec OUT NOCOPY talv_evt_rec_type) IS
814 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TPA_RELTV';
815 l_return_status VARCHAR2(1);
816 l_talv_evt_rec talv_evt_rec_type := p_talv_evt_rec;
817 BEGIN
818 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
819 p_init_msg_list,
820 '_PUB',
821 x_return_status);
822 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
823 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
824 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
825 raise OKC_API.G_EXCEPTION_ERROR;
826 END IF;
827 -- Call user hook for BEFORE
828 g_talv_evt_rec := l_talv_evt_rec;
829 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
830 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
831 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
832 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
833 raise OKC_API.G_EXCEPTION_ERROR;
834 END IF;
835 l_talv_evt_rec := migrate_talv(l_talv_evt_rec, g_talv_evt_rec);
836 OKC_TIME_PVT.UPDATE_TPA_RELTV(
837 p_api_version,
838 p_init_msg_list,
839 x_return_status,
840 x_msg_count,
841 x_msg_data,
842 p_talv_evt_rec,
843 x_talv_evt_rec);
844 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
845 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
846 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
847 raise OKC_API.G_EXCEPTION_ERROR;
848 END IF;
849
850 -- Call user hook for AFTER
851 g_talv_evt_rec := x_talv_evt_rec;
852 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
853 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
854 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
855 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
856 raise OKC_API.G_EXCEPTION_ERROR;
857 END IF;
858 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
859 EXCEPTION
860 WHEN OKC_API.G_EXCEPTION_ERROR THEN
861 x_return_status := OKC_API.HANDLE_EXCEPTIONS
862 (l_api_name,
863 G_PKG_NAME,
864 'OKC_API.G_RET_STS_ERROR',
865 x_msg_count,
866 x_msg_data,
867 '_PUB');
868 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
869 x_return_status := OKC_API.HANDLE_EXCEPTIONS
870 (l_api_name,
871 G_PKG_NAME,
872 'OKC_API.G_RET_STS_UNEXP_ERROR',
873 x_msg_count,
874 x_msg_data,
875 '_PUB');
876 WHEN OTHERS THEN
877 x_return_status := OKC_API.HANDLE_EXCEPTIONS
878 (l_api_name,
879 G_PKG_NAME,
880 'OTHERS',
881 x_msg_count,
882 x_msg_data,
883 '_PUB');
884 END UPDATE_TPA_RELTV;
885
886 PROCEDURE UPDATE_TPA_RELTV(
887 p_api_version IN NUMBER,
888 p_init_msg_list IN VARCHAR2 ,
889 x_return_status OUT NOCOPY VARCHAR2,
890 x_msg_count OUT NOCOPY NUMBER,
891 x_msg_data OUT NOCOPY VARCHAR2,
892 p_talv_evt_tbl IN talv_evt_tbl_type,
893 x_talv_evt_tbl OUT NOCOPY talv_evt_tbl_type) IS
894 i NUMBER := 0;
895 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
896 BEGIN
897 x_return_status := OKC_API.G_RET_STS_SUCCESS;
898 IF p_talv_evt_tbl.COUNT > 0 THEN
899 i := p_talv_evt_tbl.FIRST;
900 LOOP
901 UPDATE_TPA_RELTV(
902 p_api_version,
903 p_init_msg_list,
904 l_return_status,
905 x_msg_count,
906 x_msg_data,
907 p_talv_evt_tbl(i),
908 x_talv_evt_tbl(i));
909 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
910 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
911 x_return_status := l_return_status;
912 raise G_EXCEPTION_HALT_VALIDATION;
913 ELSE
914 x_return_status := l_return_status;
915 END IF;
916 END IF;
917 EXIT WHEN (i = p_talv_evt_tbl.LAST);
918 i := p_talv_evt_tbl.NEXT(i);
919 END LOOP;
920 END IF;
921 EXCEPTION
922 WHEN G_EXCEPTION_HALT_VALIDATION THEN
923 NULL;
924 WHEN OTHERS THEN
925 OKC_API.set_message(p_app_name => g_app_name,
926 p_msg_name => g_unexpected_error,
927 p_token1 => g_sqlcode_token,
928 p_token1_value => sqlcode,
929 p_token2 => g_sqlerrm_token,
930 p_token2_value => sqlerrm);
931 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
932 END UPDATE_TPA_RELTV;
933
934 PROCEDURE DELETE_TPA_RELTV(
935 p_api_version IN NUMBER,
936 p_init_msg_list IN VARCHAR2 ,
937 x_return_status OUT NOCOPY VARCHAR2,
938 x_msg_count OUT NOCOPY NUMBER,
939 x_msg_data OUT NOCOPY VARCHAR2,
940 p_talv_evt_rec IN talv_evt_rec_type) IS
941 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TPA_RELTV';
942 l_return_status VARCHAR2(1);
943 l_talv_evt_rec talv_evt_rec_type := p_talv_evt_rec;
944 BEGIN
945 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
946 p_init_msg_list,
947 '_PUB',
948 x_return_status);
949 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
950 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
951 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
952 raise OKC_API.G_EXCEPTION_ERROR;
953 END IF;
954 -- Call user hook for BEFORE
955 g_talv_evt_rec := l_talv_evt_rec;
956 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
957 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
958 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
959 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
960 raise OKC_API.G_EXCEPTION_ERROR;
961 END IF;
962 OKC_TIME_PVT.DELETE_TPA_RELTV(
963 p_api_version,
964 p_init_msg_list,
965 x_return_status,
966 x_msg_count,
967 x_msg_data,
968 p_talv_evt_rec);
969 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
970 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
971 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
972 raise OKC_API.G_EXCEPTION_ERROR;
973 END IF;
974
975 -- Call user hook for AFTER
976 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
977 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
978 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
979 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
980 raise OKC_API.G_EXCEPTION_ERROR;
981 END IF;
982 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
983 EXCEPTION
984 WHEN OKC_API.G_EXCEPTION_ERROR THEN
985 x_return_status := OKC_API.HANDLE_EXCEPTIONS
986 (l_api_name,
987 G_PKG_NAME,
988 'OKC_API.G_RET_STS_ERROR',
989 x_msg_count,
990 x_msg_data,
991 '_PUB');
992 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
993 x_return_status := OKC_API.HANDLE_EXCEPTIONS
994 (l_api_name,
995 G_PKG_NAME,
996 'OKC_API.G_RET_STS_UNEXP_ERROR',
997 x_msg_count,
998 x_msg_data,
999 '_PUB');
1000 WHEN OTHERS THEN
1001 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1002 (l_api_name,
1003 G_PKG_NAME,
1004 'OTHERS',
1005 x_msg_count,
1006 x_msg_data,
1007 '_PUB');
1008 END DELETE_TPA_RELTV;
1009
1010 PROCEDURE DELETE_TPA_RELTV(
1011 p_api_version IN NUMBER,
1012 p_init_msg_list IN VARCHAR2 ,
1013 x_return_status OUT NOCOPY VARCHAR2,
1014 x_msg_count OUT NOCOPY NUMBER,
1015 x_msg_data OUT NOCOPY VARCHAR2,
1016 p_talv_evt_tbl IN talv_evt_tbl_type) IS
1017 i NUMBER := 0;
1018 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1019 BEGIN
1020 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1021 IF p_talv_evt_tbl.COUNT > 0 THEN
1022 i := p_talv_evt_tbl.FIRST;
1023 LOOP
1024 DELETE_TPA_RELTV(
1025 p_api_version,
1026 p_init_msg_list,
1027 l_return_status,
1028 x_msg_count,
1029 x_msg_data,
1030 p_talv_evt_tbl(i));
1031 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1032 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1033 x_return_status := l_return_status;
1034 raise G_EXCEPTION_HALT_VALIDATION;
1035 ELSE
1036 x_return_status := l_return_status;
1037 END IF;
1038 END IF;
1039 EXIT WHEN (i = p_talv_evt_tbl.LAST);
1040 i := p_talv_evt_tbl.NEXT(i);
1041 END LOOP;
1042 END IF;
1043 EXCEPTION
1044 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1045 NULL;
1046 WHEN OTHERS THEN
1047 OKC_API.set_message(p_app_name => g_app_name,
1048 p_msg_name => g_unexpected_error,
1049 p_token1 => g_sqlcode_token,
1050 p_token1_value => sqlcode,
1051 p_token2 => g_sqlerrm_token,
1052 p_token2_value => sqlerrm);
1053 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1054 END DELETE_TPA_RELTV;
1055
1056 PROCEDURE LOCK_TPA_RELTV(
1057 p_api_version IN NUMBER,
1058 p_init_msg_list IN VARCHAR2 ,
1059 x_return_status OUT NOCOPY VARCHAR2,
1060 x_msg_count OUT NOCOPY NUMBER,
1061 x_msg_data OUT NOCOPY VARCHAR2,
1062 p_talv_evt_rec IN talv_evt_rec_type) IS
1063 BEGIN
1064 OKC_TIME_PVT.LOCK_TPA_RELTV(
1065 p_api_version,
1066 p_init_msg_list,
1067 x_return_status,
1068 x_msg_count,
1069 x_msg_data,
1070 p_talv_evt_rec);
1071 END LOCK_TPA_RELTV;
1072
1073 PROCEDURE LOCK_TPA_RELTV(
1074 p_api_version IN NUMBER,
1075 p_init_msg_list IN VARCHAR2 ,
1076 x_return_status OUT NOCOPY VARCHAR2,
1077 x_msg_count OUT NOCOPY NUMBER,
1078 x_msg_data OUT NOCOPY VARCHAR2,
1079 p_talv_evt_tbl IN talv_evt_tbl_type) IS
1080 i NUMBER := 0;
1081 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1082 BEGIN
1083 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1084 IF p_talv_evt_tbl.COUNT > 0 THEN
1085 i := p_talv_evt_tbl.FIRST;
1086 LOOP
1087 LOCK_TPA_RELTV(
1088 p_api_version,
1089 p_init_msg_list,
1090 l_return_status,
1091 x_msg_count,
1092 x_msg_data,
1093 p_talv_evt_tbl(i));
1094 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1095 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1096 x_return_status := l_return_status;
1097 raise G_EXCEPTION_HALT_VALIDATION;
1098 ELSE
1099 x_return_status := l_return_status;
1100 END IF;
1101 END IF;
1102 EXIT WHEN (i = p_talv_evt_tbl.LAST);
1103 i := p_talv_evt_tbl.NEXT(i);
1104 END LOOP;
1105 END IF;
1106 EXCEPTION
1107 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1108 NULL;
1109 WHEN OTHERS THEN
1110 OKC_API.set_message(p_app_name => g_app_name,
1111 p_msg_name => g_unexpected_error,
1112 p_token1 => g_sqlcode_token,
1113 p_token1_value => sqlcode,
1114 p_token2 => g_sqlerrm_token,
1115 p_token2_value => sqlerrm);
1116 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1117 END LOCK_TPA_RELTV;
1118
1119 PROCEDURE VALID_TPA_RELTV(
1120 p_api_version IN NUMBER,
1121 p_init_msg_list IN VARCHAR2 ,
1122 x_return_status OUT NOCOPY VARCHAR2,
1123 x_msg_count OUT NOCOPY NUMBER,
1124 x_msg_data OUT NOCOPY VARCHAR2,
1125 p_talv_evt_rec IN talv_evt_rec_type) IS
1126 BEGIN
1127 OKC_TIME_PVT.VALID_TPA_RELTV(
1128 p_api_version,
1129 p_init_msg_list,
1130 x_return_status,
1131 x_msg_count,
1132 x_msg_data,
1133 p_talv_evt_rec);
1134 END VALID_TPA_RELTV;
1135
1136 PROCEDURE VALID_TPA_RELTV(
1137 p_api_version IN NUMBER,
1138 p_init_msg_list IN VARCHAR2 ,
1139 x_return_status OUT NOCOPY VARCHAR2,
1140 x_msg_count OUT NOCOPY NUMBER,
1141 x_msg_data OUT NOCOPY VARCHAR2,
1142 p_talv_evt_tbl IN talv_evt_tbl_type) IS
1143 i NUMBER := 0;
1144 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1145 BEGIN
1146 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1147 IF p_talv_evt_tbl.COUNT > 0 THEN
1148 i := p_talv_evt_tbl.FIRST;
1149 LOOP
1150 VALID_TPA_RELTV(
1151 p_api_version,
1152 p_init_msg_list,
1153 l_return_status,
1154 x_msg_count,
1155 x_msg_data,
1156 p_talv_evt_tbl(i));
1157 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1158 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1159 x_return_status := l_return_status;
1160 raise G_EXCEPTION_HALT_VALIDATION;
1161 ELSE
1162 x_return_status := l_return_status;
1163 END IF;
1164 END IF;
1165 EXIT WHEN (i = p_talv_evt_tbl.LAST);
1166 i := p_talv_evt_tbl.NEXT(i);
1167 END LOOP;
1168 END IF;
1169 EXCEPTION
1170 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1171 NULL;
1172 WHEN OTHERS THEN
1173 OKC_API.set_message(p_app_name => g_app_name,
1174 p_msg_name => g_unexpected_error,
1175 p_token1 => g_sqlcode_token,
1176 p_token1_value => sqlcode,
1177 p_token2 => g_sqlerrm_token,
1178 p_token2_value => sqlerrm);
1179 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1180 END VALID_TPA_RELTV;
1181
1182 --------------------------------------------------------------------------
1183 ---The following procedures cater to handling of OKC_TIME_TPA_VALUE
1184 --------------------------------------------------------------------------
1185
1186 FUNCTION migrate_tavv(p_tavv_rec1 IN tavv_rec_type,
1187 p_tavv_rec2 IN tavv_rec_type)
1188 RETURN tavv_rec_type IS
1189 l_tavv_rec tavv_rec_type;
1190 BEGIN
1191 l_tavv_rec.id := p_tavv_rec1.id;
1192 l_tavv_rec.object_version_number := p_tavv_rec1.object_version_number;
1193 l_tavv_rec.created_by := p_tavv_rec1.created_by;
1194 l_tavv_rec.creation_date := p_tavv_rec1.creation_date;
1195 l_tavv_rec.last_updated_by := p_tavv_rec1.last_updated_by;
1196 l_tavv_rec.last_update_date := p_tavv_rec1.last_update_date;
1197 l_tavv_rec.last_update_login := p_tavv_rec1.last_update_login;
1198 l_tavv_rec.tze_id := p_tavv_rec2.tze_id;
1199 l_tavv_rec.sfwt_flag := p_tavv_rec2.sfwt_flag;
1200 l_tavv_rec.tve_id_generated_by := p_tavv_rec2.tve_id_generated_by;
1201 l_tavv_rec.tve_id_limited := p_tavv_rec2.tve_id_limited;
1202 l_tavv_rec.dnz_chr_id := p_tavv_rec2.dnz_chr_id;
1203 l_tavv_rec.datetime := p_tavv_rec2.datetime;
1204 l_tavv_rec.spn_id := p_tavv_rec2.spn_id;
1205 l_tavv_rec.short_description := p_tavv_rec2.short_description;
1206 l_tavv_rec.description := p_tavv_rec2.description;
1207 l_tavv_rec.comments := p_tavv_rec2.comments;
1208 l_tavv_rec.attribute_category := p_tavv_rec2.attribute_category;
1209 l_tavv_rec.attribute1 := p_tavv_rec2.attribute1;
1210 l_tavv_rec.attribute2 := p_tavv_rec2.attribute2;
1211 l_tavv_rec.attribute3 := p_tavv_rec2.attribute3;
1212 l_tavv_rec.attribute4 := p_tavv_rec2.attribute4;
1213 l_tavv_rec.attribute5 := p_tavv_rec2.attribute5;
1214 l_tavv_rec.attribute6 := p_tavv_rec2.attribute6;
1215 l_tavv_rec.attribute7 := p_tavv_rec2.attribute7;
1216 l_tavv_rec.attribute8 := p_tavv_rec2.attribute8;
1217 l_tavv_rec.attribute9 := p_tavv_rec2.attribute9;
1218 l_tavv_rec.attribute10 := p_tavv_rec2.attribute10;
1219 l_tavv_rec.attribute11 := p_tavv_rec2.attribute11;
1220 l_tavv_rec.attribute12 := p_tavv_rec2.attribute12;
1221 l_tavv_rec.attribute13 := p_tavv_rec2.attribute13;
1222 l_tavv_rec.attribute14 := p_tavv_rec2.attribute14;
1223 l_tavv_rec.attribute15 := p_tavv_rec2.attribute15;
1224 RETURN (l_tavv_rec);
1225 END migrate_tavv;
1226
1227 FUNCTION migrate_tavv(p_tavv_tbl1 IN tavv_tbl_type,
1228 p_tavv_tbl2 IN tavv_tbl_type)
1229 RETURN tavv_tbl_type IS
1230 l_tavv_tbl tavv_tbl_type;
1231 i NUMBER := 0;
1232 j NUMBER := 0;
1233 BEGIN
1234 -- If the user hook deleted some records or added some new records in the table,
1235 -- discard the change and simply copy the original table.
1236 IF p_tavv_tbl1.COUNT <> p_tavv_tbl2.COUNT THEN
1237 l_tavv_tbl := p_tavv_tbl1;
1238 ELSE
1239 IF (p_tavv_tbl1.COUNT > 0) THEN
1240 i := p_tavv_tbl1.FIRST;
1241 j := p_tavv_tbl2.FIRST;
1242 LOOP
1243 l_tavv_tbl(i) := migrate_tavv(p_tavv_tbl1(i), p_tavv_tbl2(j));
1244 EXIT WHEN (i = p_tavv_tbl1.LAST);
1245 i := p_tavv_tbl1.NEXT(i);
1246 j := p_tavv_tbl2.NEXT(j);
1247 END LOOP;
1248 END IF;
1249 END IF;
1250 RETURN (l_tavv_tbl);
1251 END migrate_tavv;
1252
1253 PROCEDURE CREATE_TPA_VALUE(
1254 p_api_version IN NUMBER,
1255 p_init_msg_list IN VARCHAR2 ,
1256 x_return_status OUT NOCOPY VARCHAR2,
1257 x_msg_count OUT NOCOPY NUMBER,
1258 x_msg_data OUT NOCOPY VARCHAR2,
1259 p_tavv_rec IN tavv_rec_type,
1260 x_tavv_rec OUT NOCOPY tavv_rec_type) IS
1261 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TPA_VALUE';
1262 l_return_status VARCHAR2(1);
1263 l_tavv_rec tavv_rec_type := p_tavv_rec;
1264 BEGIN
1265 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1266 p_init_msg_list,
1267 '_PUB',
1268 x_return_status);
1269 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1270 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1271 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1272 raise OKC_API.G_EXCEPTION_ERROR;
1273 END IF;
1274 -- Call user hook for BEFORE
1275 g_tavv_rec := l_tavv_rec;
1276 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1277 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1278 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1279 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1280 raise OKC_API.G_EXCEPTION_ERROR;
1281 END IF;
1282 l_tavv_rec := migrate_tavv(l_tavv_rec, g_tavv_rec);
1283 OKC_TIME_PVT.CREATE_TPA_VALUE(
1284 p_api_version,
1285 p_init_msg_list,
1286 x_return_status,
1287 x_msg_count,
1288 x_msg_data,
1289 p_tavv_rec,
1290 x_tavv_rec);
1291 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1292 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1293 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1294 raise OKC_API.G_EXCEPTION_ERROR;
1295 END IF;
1296
1297 -- Call user hook for AFTER
1298 g_tavv_rec := x_tavv_rec;
1299 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1300 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1301 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1302 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1303 raise OKC_API.G_EXCEPTION_ERROR;
1304 END IF;
1305 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1306 EXCEPTION
1307 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1308 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1309 (l_api_name,
1310 G_PKG_NAME,
1311 'OKC_API.G_RET_STS_ERROR',
1312 x_msg_count,
1313 x_msg_data,
1314 '_PUB');
1315 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1316 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1317 (l_api_name,
1318 G_PKG_NAME,
1319 'OKC_API.G_RET_STS_UNEXP_ERROR',
1320 x_msg_count,
1321 x_msg_data,
1322 '_PUB');
1323 WHEN OTHERS THEN
1324 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1325 (l_api_name,
1326 G_PKG_NAME,
1327 'OTHERS',
1328 x_msg_count,
1329 x_msg_data,
1330 '_PUB');
1331 END CREATE_TPA_VALUE;
1332
1333 PROCEDURE CREATE_TPA_VALUE(
1334 p_api_version IN NUMBER,
1335 p_init_msg_list IN VARCHAR2 ,
1336 x_return_status OUT NOCOPY VARCHAR2,
1337 x_msg_count OUT NOCOPY NUMBER,
1338 x_msg_data OUT NOCOPY VARCHAR2,
1339 p_tavv_tbl IN tavv_tbl_type,
1340 x_tavv_tbl OUT NOCOPY tavv_tbl_type) IS
1341 i NUMBER := 0;
1342 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1343 BEGIN
1344 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1345 IF p_tavv_tbl.COUNT > 0 THEN
1346 i := p_tavv_tbl.FIRST;
1347 LOOP
1348 CREATE_TPA_VALUE(
1349 p_api_version,
1350 p_init_msg_list,
1351 l_return_status,
1352 x_msg_count,
1353 x_msg_data,
1354 p_tavv_tbl(i),
1355 x_tavv_tbl(i));
1356 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1357 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1358 x_return_status := l_return_status;
1359 raise G_EXCEPTION_HALT_VALIDATION;
1360 ELSE
1361 x_return_status := l_return_status;
1362 END IF;
1363 END IF;
1364 EXIT WHEN (i = p_tavv_tbl.LAST);
1365 i := p_tavv_tbl.NEXT(i);
1366 END LOOP;
1367 END IF;
1368 EXCEPTION
1369 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1370 NULL;
1371 WHEN OTHERS THEN
1372 OKC_API.set_message(p_app_name => g_app_name,
1373 p_msg_name => g_unexpected_error,
1374 p_token1 => g_sqlcode_token,
1375 p_token1_value => sqlcode,
1376 p_token2 => g_sqlerrm_token,
1377 p_token2_value => sqlerrm);
1378 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1379 END CREATE_TPA_VALUE;
1380
1381 PROCEDURE UPDATE_TPA_VALUE(
1382 p_api_version IN NUMBER,
1383 p_init_msg_list IN VARCHAR2 ,
1384 x_return_status OUT NOCOPY VARCHAR2,
1385 x_msg_count OUT NOCOPY NUMBER,
1386 x_msg_data OUT NOCOPY VARCHAR2,
1387 p_tavv_rec IN tavv_rec_type,
1388 x_tavv_rec OUT NOCOPY tavv_rec_type) IS
1389 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TPA_VALUE';
1390 l_return_status VARCHAR2(1);
1391 l_tavv_rec tavv_rec_type := p_tavv_rec;
1392 BEGIN
1393 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1394 p_init_msg_list,
1395 '_PUB',
1396 x_return_status);
1397 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1398 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1399 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1400 raise OKC_API.G_EXCEPTION_ERROR;
1401 END IF;
1402 -- Call user hook for BEFORE
1403 g_tavv_rec := l_tavv_rec;
1404 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1405 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1406 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1407 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1408 raise OKC_API.G_EXCEPTION_ERROR;
1409 END IF;
1410 l_tavv_rec := migrate_tavv(l_tavv_rec, g_tavv_rec);
1411 OKC_TIME_PVT.UPDATE_TPA_VALUE(
1412 p_api_version,
1413 p_init_msg_list,
1414 x_return_status,
1415 x_msg_count,
1416 x_msg_data,
1417 p_tavv_rec,
1418 x_tavv_rec);
1419 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1420 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1421 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1422 raise OKC_API.G_EXCEPTION_ERROR;
1423 END IF;
1424
1425 -- Call user hook for AFTER
1426 g_tavv_rec := x_tavv_rec;
1427 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1428 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1429 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1430 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1431 raise OKC_API.G_EXCEPTION_ERROR;
1432 END IF;
1433 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1434 EXCEPTION
1435 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1436 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1437 (l_api_name,
1438 G_PKG_NAME,
1439 'OKC_API.G_RET_STS_ERROR',
1440 x_msg_count,
1441 x_msg_data,
1442 '_PUB');
1443 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1444 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1445 (l_api_name,
1446 G_PKG_NAME,
1447 'OKC_API.G_RET_STS_UNEXP_ERROR',
1448 x_msg_count,
1449 x_msg_data,
1450 '_PUB');
1451 WHEN OTHERS THEN
1452 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1453 (l_api_name,
1454 G_PKG_NAME,
1455 'OTHERS',
1456 x_msg_count,
1457 x_msg_data,
1458 '_PUB');
1459 END UPDATE_TPA_VALUE;
1460
1461 PROCEDURE UPDATE_TPA_VALUE(
1462 p_api_version IN NUMBER,
1463 p_init_msg_list IN VARCHAR2 ,
1464 x_return_status OUT NOCOPY VARCHAR2,
1465 x_msg_count OUT NOCOPY NUMBER,
1466 x_msg_data OUT NOCOPY VARCHAR2,
1467 p_tavv_tbl IN tavv_tbl_type,
1468 x_tavv_tbl OUT NOCOPY tavv_tbl_type) IS
1469 i NUMBER := 0;
1470 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1471 BEGIN
1472 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1473 IF p_tavv_tbl.COUNT > 0 THEN
1474 i := p_tavv_tbl.FIRST;
1475 LOOP
1476 UPDATE_TPA_VALUE(
1477 p_api_version,
1478 p_init_msg_list,
1479 l_return_status,
1480 x_msg_count,
1481 x_msg_data,
1482 p_tavv_tbl(i),
1483 x_tavv_tbl(i));
1484 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1485 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1486 x_return_status := l_return_status;
1487 raise G_EXCEPTION_HALT_VALIDATION;
1488 ELSE
1489 x_return_status := l_return_status;
1490 END IF;
1491 END IF;
1492 EXIT WHEN (i = p_tavv_tbl.LAST);
1493 i := p_tavv_tbl.NEXT(i);
1494 END LOOP;
1495 END IF;
1496 EXCEPTION
1497 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1498 NULL;
1499 WHEN OTHERS THEN
1500 OKC_API.set_message(p_app_name => g_app_name,
1501 p_msg_name => g_unexpected_error,
1502 p_token1 => g_sqlcode_token,
1503 p_token1_value => sqlcode,
1504 p_token2 => g_sqlerrm_token,
1505 p_token2_value => sqlerrm);
1506 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1507 END UPDATE_TPA_VALUE;
1508
1509 PROCEDURE DELETE_TPA_VALUE(
1510 p_api_version IN NUMBER,
1511 p_init_msg_list IN VARCHAR2 ,
1512 x_return_status OUT NOCOPY VARCHAR2,
1513 x_msg_count OUT NOCOPY NUMBER,
1514 x_msg_data OUT NOCOPY VARCHAR2,
1515 p_tavv_rec IN tavv_rec_type) IS
1516 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TPA_VALUE';
1517 l_return_status VARCHAR2(1);
1518 l_tavv_rec tavv_rec_type := p_tavv_rec;
1519 BEGIN
1520 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1521 p_init_msg_list,
1522 '_PUB',
1523 x_return_status);
1524 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1525 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1526 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1527 raise OKC_API.G_EXCEPTION_ERROR;
1528 END IF;
1529 -- Call user hook for BEFORE
1530 g_tavv_rec := l_tavv_rec;
1531 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1532 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1533 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1534 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1535 raise OKC_API.G_EXCEPTION_ERROR;
1536 END IF;
1537 OKC_TIME_PVT.DELETE_TPA_VALUE(
1538 p_api_version,
1539 p_init_msg_list,
1540 x_return_status,
1541 x_msg_count,
1542 x_msg_data,
1543 p_tavv_rec);
1544 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1545 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1546 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1547 raise OKC_API.G_EXCEPTION_ERROR;
1548 END IF;
1549
1550 -- Call user hook for AFTER
1551 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1552 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1553 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1554 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1555 raise OKC_API.G_EXCEPTION_ERROR;
1556 END IF;
1557 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1558 EXCEPTION
1559 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1560 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1561 (l_api_name,
1562 G_PKG_NAME,
1563 'OKC_API.G_RET_STS_ERROR',
1564 x_msg_count,
1565 x_msg_data,
1566 '_PUB');
1567 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1568 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1569 (l_api_name,
1570 G_PKG_NAME,
1571 'OKC_API.G_RET_STS_UNEXP_ERROR',
1572 x_msg_count,
1573 x_msg_data,
1574 '_PUB');
1575 WHEN OTHERS THEN
1576 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1577 (l_api_name,
1578 G_PKG_NAME,
1579 'OTHERS',
1580 x_msg_count,
1581 x_msg_data,
1582 '_PUB');
1583 END DELETE_TPA_VALUE;
1584
1585 PROCEDURE DELETE_TPA_VALUE(
1586 p_api_version IN NUMBER,
1587 p_init_msg_list IN VARCHAR2 ,
1588 x_return_status OUT NOCOPY VARCHAR2,
1589 x_msg_count OUT NOCOPY NUMBER,
1590 x_msg_data OUT NOCOPY VARCHAR2,
1591 p_tavv_tbl IN tavv_tbl_type) IS
1592 i NUMBER := 0;
1593 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1594 BEGIN
1595 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1596 IF p_tavv_tbl.COUNT > 0 THEN
1597 i := p_tavv_tbl.FIRST;
1598 LOOP
1599 DELETE_TPA_VALUE(
1600 p_api_version,
1601 p_init_msg_list,
1602 l_return_status,
1603 x_msg_count,
1604 x_msg_data,
1605 p_tavv_tbl(i));
1606 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1607 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1608 x_return_status := l_return_status;
1609 raise G_EXCEPTION_HALT_VALIDATION;
1610 ELSE
1611 x_return_status := l_return_status;
1612 END IF;
1613 END IF;
1614 EXIT WHEN (i = p_tavv_tbl.LAST);
1615 i := p_tavv_tbl.NEXT(i);
1616 END LOOP;
1617 END IF;
1618 EXCEPTION
1619 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1620 NULL;
1621 WHEN OTHERS THEN
1622 OKC_API.set_message(p_app_name => g_app_name,
1623 p_msg_name => g_unexpected_error,
1624 p_token1 => g_sqlcode_token,
1625 p_token1_value => sqlcode,
1626 p_token2 => g_sqlerrm_token,
1627 p_token2_value => sqlerrm);
1628 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1629 END DELETE_TPA_VALUE;
1630
1631 PROCEDURE LOCK_TPA_VALUE(
1632 p_api_version IN NUMBER,
1633 p_init_msg_list IN VARCHAR2 ,
1634 x_return_status OUT NOCOPY VARCHAR2,
1635 x_msg_count OUT NOCOPY NUMBER,
1636 x_msg_data OUT NOCOPY VARCHAR2,
1637 p_tavv_rec IN tavv_rec_type) IS
1638 BEGIN
1639 OKC_TIME_PVT.LOCK_TPA_VALUE(
1640 p_api_version,
1641 p_init_msg_list,
1642 x_return_status,
1643 x_msg_count,
1644 x_msg_data,
1645 p_tavv_rec);
1646 END LOCK_TPA_VALUE;
1647
1648 PROCEDURE LOCK_TPA_VALUE(
1649 p_api_version IN NUMBER,
1650 p_init_msg_list IN VARCHAR2 ,
1651 x_return_status OUT NOCOPY VARCHAR2,
1652 x_msg_count OUT NOCOPY NUMBER,
1653 x_msg_data OUT NOCOPY VARCHAR2,
1654 p_tavv_tbl IN tavv_tbl_type) IS
1655 i NUMBER := 0;
1656 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1657 BEGIN
1658 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1659 IF p_tavv_tbl.COUNT > 0 THEN
1660 i := p_tavv_tbl.FIRST;
1661 LOOP
1662 LOCK_TPA_VALUE(
1663 p_api_version,
1664 p_init_msg_list,
1665 l_return_status,
1666 x_msg_count,
1667 x_msg_data,
1668 p_tavv_tbl(i));
1669 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1670 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1671 x_return_status := l_return_status;
1672 raise G_EXCEPTION_HALT_VALIDATION;
1673 ELSE
1674 x_return_status := l_return_status;
1675 END IF;
1676 END IF;
1677 EXIT WHEN (i = p_tavv_tbl.LAST);
1678 i := p_tavv_tbl.NEXT(i);
1679 END LOOP;
1680 END IF;
1681 EXCEPTION
1682 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1683 NULL;
1684 WHEN OTHERS THEN
1685 OKC_API.set_message(p_app_name => g_app_name,
1686 p_msg_name => g_unexpected_error,
1687 p_token1 => g_sqlcode_token,
1688 p_token1_value => sqlcode,
1689 p_token2 => g_sqlerrm_token,
1690 p_token2_value => sqlerrm);
1691 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1692 END LOCK_TPA_VALUE;
1693
1694 PROCEDURE VALID_TPA_VALUE(
1695 p_api_version IN NUMBER,
1696 p_init_msg_list IN VARCHAR2 ,
1697 x_return_status OUT NOCOPY VARCHAR2,
1698 x_msg_count OUT NOCOPY NUMBER,
1699 x_msg_data OUT NOCOPY VARCHAR2,
1700 p_tavv_rec IN tavv_rec_type) IS
1701 BEGIN
1702 OKC_TIME_PVT.VALID_TPA_VALUE(
1703 p_api_version,
1704 p_init_msg_list,
1705 x_return_status,
1706 x_msg_count,
1707 x_msg_data,
1708 p_tavv_rec);
1709 END VALID_TPA_VALUE;
1710
1711 PROCEDURE VALID_TPA_VALUE(
1712 p_api_version IN NUMBER,
1713 p_init_msg_list IN VARCHAR2 ,
1714 x_return_status OUT NOCOPY VARCHAR2,
1715 x_msg_count OUT NOCOPY NUMBER,
1716 x_msg_data OUT NOCOPY VARCHAR2,
1717 p_tavv_tbl IN tavv_tbl_type) IS
1718 i NUMBER := 0;
1719 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1720 BEGIN
1721 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1722 IF p_tavv_tbl.COUNT > 0 THEN
1723 i := p_tavv_tbl.FIRST;
1724 LOOP
1725 VALID_TPA_VALUE(
1726 p_api_version,
1727 p_init_msg_list,
1728 l_return_status,
1729 x_msg_count,
1730 x_msg_data,
1731 p_tavv_tbl(i));
1732 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1733 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1734 x_return_status := l_return_status;
1735 raise G_EXCEPTION_HALT_VALIDATION;
1736 ELSE
1737 x_return_status := l_return_status;
1738 END IF;
1739 END IF;
1740 EXIT WHEN (i = p_tavv_tbl.LAST);
1741 i := p_tavv_tbl.NEXT(i);
1742 END LOOP;
1743 END IF;
1744 EXCEPTION
1745 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1746 NULL;
1747 WHEN OTHERS THEN
1748 OKC_API.set_message(p_app_name => g_app_name,
1749 p_msg_name => g_unexpected_error,
1750 p_token1 => g_sqlcode_token,
1751 p_token1_value => sqlcode,
1752 p_token2 => g_sqlerrm_token,
1753 p_token2_value => sqlerrm);
1754 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1755 END VALID_TPA_VALUE;
1756
1757 --------------------------------------------------------------------------
1758 ---The following procedures cater to handling of OKC_TIME_TPG_DELIMITED
1759 --------------------------------------------------------------------------
1760
1761 FUNCTION migrate_tgdv(p_tgdv_ext_rec1 IN tgdv_ext_rec_type,
1762 p_tgdv_ext_rec2 IN tgdv_ext_rec_type)
1763 RETURN tgdv_ext_rec_type IS
1764 l_tgdv_ext_rec tgdv_ext_rec_type;
1765 BEGIN
1766 l_tgdv_ext_rec.id := p_tgdv_ext_rec1.id;
1767 l_tgdv_ext_rec.object_version_number := p_tgdv_ext_rec1.object_version_number;
1768 l_tgdv_ext_rec.created_by := p_tgdv_ext_rec1.created_by;
1769 l_tgdv_ext_rec.creation_date := p_tgdv_ext_rec1.creation_date;
1770 l_tgdv_ext_rec.last_updated_by := p_tgdv_ext_rec1.last_updated_by;
1771 l_tgdv_ext_rec.last_update_date := p_tgdv_ext_rec1.last_update_date;
1772 l_tgdv_ext_rec.last_update_login := p_tgdv_ext_rec1.last_update_login;
1773 l_tgdv_ext_rec.sfwt_flag := p_tgdv_ext_rec2.sfwt_flag;
1774 l_tgdv_ext_rec.tve_id_limited := p_tgdv_ext_rec2.tve_id_limited;
1775 l_tgdv_ext_rec.limited_start_date := p_tgdv_ext_rec2.limited_start_date;
1776 l_tgdv_ext_rec.limited_end_date := p_tgdv_ext_rec2.limited_end_date;
1777 l_tgdv_ext_rec.tze_id := p_tgdv_ext_rec2.tze_id;
1778 l_tgdv_ext_rec.dnz_chr_id := p_tgdv_ext_rec2.dnz_chr_id;
1779 l_tgdv_ext_rec.month := p_tgdv_ext_rec2.month;
1780 l_tgdv_ext_rec.day := p_tgdv_ext_rec2.day;
1781 l_tgdv_ext_rec.day_of_week := p_tgdv_ext_rec2.day_of_week;
1782 l_tgdv_ext_rec.minute := p_tgdv_ext_rec2.minute;
1783 l_tgdv_ext_rec.hour := p_tgdv_ext_rec2.hour;
1784 l_tgdv_ext_rec.second := p_tgdv_ext_rec2.second;
1785 l_tgdv_ext_rec.nth := p_tgdv_ext_rec2.nth;
1786 l_tgdv_ext_rec.short_description := p_tgdv_ext_rec2.short_description;
1787 l_tgdv_ext_rec.description := p_tgdv_ext_rec2.description;
1788 l_tgdv_ext_rec.comments := p_tgdv_ext_rec2.comments;
1789 l_tgdv_ext_rec.attribute_category := p_tgdv_ext_rec2.attribute_category;
1790 l_tgdv_ext_rec.attribute1 := p_tgdv_ext_rec2.attribute1;
1791 l_tgdv_ext_rec.attribute2 := p_tgdv_ext_rec2.attribute2;
1792 l_tgdv_ext_rec.attribute3 := p_tgdv_ext_rec2.attribute3;
1793 l_tgdv_ext_rec.attribute4 := p_tgdv_ext_rec2.attribute4;
1794 l_tgdv_ext_rec.attribute5 := p_tgdv_ext_rec2.attribute5;
1795 l_tgdv_ext_rec.attribute6 := p_tgdv_ext_rec2.attribute6;
1796 l_tgdv_ext_rec.attribute7 := p_tgdv_ext_rec2.attribute7;
1797 l_tgdv_ext_rec.attribute8 := p_tgdv_ext_rec2.attribute8;
1798 l_tgdv_ext_rec.attribute9 := p_tgdv_ext_rec2.attribute9;
1799 l_tgdv_ext_rec.attribute10 := p_tgdv_ext_rec2.attribute10;
1800 l_tgdv_ext_rec.attribute11 := p_tgdv_ext_rec2.attribute11;
1801 l_tgdv_ext_rec.attribute12 := p_tgdv_ext_rec2.attribute12;
1802 l_tgdv_ext_rec.attribute13 := p_tgdv_ext_rec2.attribute13;
1803 l_tgdv_ext_rec.attribute14 := p_tgdv_ext_rec2.attribute14;
1804 l_tgdv_ext_rec.attribute15 := p_tgdv_ext_rec2.attribute15;
1805 RETURN (l_tgdv_ext_rec);
1806 END migrate_tgdv;
1807
1808 FUNCTION migrate_tgdv(p_tgdv_ext_tbl1 IN tgdv_ext_tbl_type,
1809 p_tgdv_ext_tbl2 IN tgdv_ext_tbl_type)
1810 RETURN tgdv_ext_tbl_type IS
1811 l_tgdv_ext_tbl tgdv_ext_tbl_type;
1812 i NUMBER := 0;
1813 j NUMBER := 0;
1814 BEGIN
1815 -- If the user hook deleted some records or added some new records in the table,
1816 -- discard the change and simply copy the original table.
1817 IF p_tgdv_ext_tbl1.COUNT <> p_tgdv_ext_tbl2.COUNT THEN
1818 l_tgdv_ext_tbl := p_tgdv_ext_tbl1;
1819 ELSE
1820 IF (p_tgdv_ext_tbl1.COUNT > 0) THEN
1821 i := p_tgdv_ext_tbl1.FIRST;
1822 j := p_tgdv_ext_tbl2.FIRST;
1823 LOOP
1824 l_tgdv_ext_tbl(i) := migrate_tgdv(p_tgdv_ext_tbl1(i), p_tgdv_ext_tbl2(j));
1825 EXIT WHEN (i = p_tgdv_ext_tbl1.LAST);
1826 i := p_tgdv_ext_tbl1.NEXT(i);
1827 j := p_tgdv_ext_tbl2.NEXT(j);
1828 END LOOP;
1829 END IF;
1830 END IF;
1831 RETURN (l_tgdv_ext_tbl);
1832 END migrate_tgdv;
1833
1834 PROCEDURE CREATE_TPG_DELIMITED(
1835 p_api_version IN NUMBER,
1836 p_init_msg_list IN VARCHAR2 ,
1837 x_return_status OUT NOCOPY VARCHAR2,
1838 x_msg_count OUT NOCOPY NUMBER,
1839 x_msg_data OUT NOCOPY VARCHAR2,
1840 p_tgdv_ext_rec IN tgdv_ext_rec_type,
1841 x_tgdv_ext_rec OUT NOCOPY tgdv_ext_rec_type) IS
1842 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TPG_DELIMITED';
1843 l_return_status VARCHAR2(1);
1844 l_tgdv_ext_rec tgdv_ext_rec_type := p_tgdv_ext_rec;
1845 BEGIN
1846 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1847 p_init_msg_list,
1848 '_PUB',
1849 x_return_status);
1850 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1851 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1852 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1853 raise OKC_API.G_EXCEPTION_ERROR;
1854 END IF;
1855 -- Call user hook for BEFORE
1856 g_tgdv_ext_rec := l_tgdv_ext_rec;
1857 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1858 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1859 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1860 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1861 raise OKC_API.G_EXCEPTION_ERROR;
1862 END IF;
1863 l_tgdv_ext_rec := migrate_tgdv(l_tgdv_ext_rec, g_tgdv_ext_rec);
1864 OKC_TIME_PVT.CREATE_TPG_DELIMITED(
1865 p_api_version,
1866 p_init_msg_list,
1867 x_return_status,
1868 x_msg_count,
1869 x_msg_data,
1870 p_tgdv_ext_rec,
1871 x_tgdv_ext_rec);
1872 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1873 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1874 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1875 raise OKC_API.G_EXCEPTION_ERROR;
1876 END IF;
1877
1878 -- Call user hook for AFTER
1879 g_tgdv_ext_rec := x_tgdv_ext_rec;
1880 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1881 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1882 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1883 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1884 raise OKC_API.G_EXCEPTION_ERROR;
1885 END IF;
1886 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1887 EXCEPTION
1888 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1889 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1890 (l_api_name,
1891 G_PKG_NAME,
1892 'OKC_API.G_RET_STS_ERROR',
1893 x_msg_count,
1894 x_msg_data,
1895 '_PUB');
1896 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1897 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1898 (l_api_name,
1899 G_PKG_NAME,
1900 'OKC_API.G_RET_STS_UNEXP_ERROR',
1901 x_msg_count,
1902 x_msg_data,
1903 '_PUB');
1904 WHEN OTHERS THEN
1905 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1906 (l_api_name,
1907 G_PKG_NAME,
1908 'OTHERS',
1909 x_msg_count,
1910 x_msg_data,
1911 '_PUB');
1912 END CREATE_TPG_DELIMITED;
1913
1914 PROCEDURE CREATE_TPG_DELIMITED(
1915 p_api_version IN NUMBER,
1916 p_init_msg_list IN VARCHAR2 ,
1917 x_return_status OUT NOCOPY VARCHAR2,
1918 x_msg_count OUT NOCOPY NUMBER,
1919 x_msg_data OUT NOCOPY VARCHAR2,
1920 p_tgdv_ext_tbl IN tgdv_ext_tbl_type,
1921 x_tgdv_ext_tbl OUT NOCOPY tgdv_ext_tbl_type) IS
1922 i NUMBER := 0;
1923 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1924 BEGIN
1925 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1926 IF p_tgdv_ext_tbl.COUNT > 0 THEN
1927 i := p_tgdv_ext_tbl.FIRST;
1928 LOOP
1929 CREATE_TPG_DELIMITED(
1930 p_api_version,
1931 p_init_msg_list,
1932 l_return_status,
1933 x_msg_count,
1934 x_msg_data,
1935 p_tgdv_ext_tbl(i),
1936 x_tgdv_ext_tbl(i));
1937 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1938 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1939 x_return_status := l_return_status;
1940 raise G_EXCEPTION_HALT_VALIDATION;
1941 ELSE
1942 x_return_status := l_return_status;
1943 END IF;
1944 END IF;
1945 EXIT WHEN (i = p_tgdv_ext_tbl.LAST);
1946 i := p_tgdv_ext_tbl.NEXT(i);
1947 END LOOP;
1948 END IF;
1949 EXCEPTION
1950 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1951 NULL;
1952 WHEN OTHERS THEN
1953 OKC_API.set_message(p_app_name => g_app_name,
1954 p_msg_name => g_unexpected_error,
1955 p_token1 => g_sqlcode_token,
1956 p_token1_value => sqlcode,
1957 p_token2 => g_sqlerrm_token,
1958 p_token2_value => sqlerrm);
1959 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1960 END CREATE_TPG_DELIMITED;
1961
1962 PROCEDURE UPDATE_TPG_DELIMITED(
1963 p_api_version IN NUMBER,
1964 p_init_msg_list IN VARCHAR2 ,
1965 x_return_status OUT NOCOPY VARCHAR2,
1966 x_msg_count OUT NOCOPY NUMBER,
1967 x_msg_data OUT NOCOPY VARCHAR2,
1968 p_tgdv_ext_rec IN tgdv_ext_rec_type,
1969 x_tgdv_ext_rec OUT NOCOPY tgdv_ext_rec_type) IS
1970 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TPG_DELIMITED';
1971 l_return_status VARCHAR2(1);
1972 l_tgdv_ext_rec tgdv_ext_rec_type := p_tgdv_ext_rec;
1973 BEGIN
1974 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1975 p_init_msg_list,
1976 '_PUB',
1977 x_return_status);
1978 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1979 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1980 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1981 raise OKC_API.G_EXCEPTION_ERROR;
1982 END IF;
1983 -- Call user hook for BEFORE
1984 g_tgdv_ext_rec := l_tgdv_ext_rec;
1985 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1986 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1987 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1988 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1989 raise OKC_API.G_EXCEPTION_ERROR;
1990 END IF;
1991 l_tgdv_ext_rec := migrate_tgdv(l_tgdv_ext_rec, g_tgdv_ext_rec);
1992 OKC_TIME_PVT.UPDATE_TPG_DELIMITED(
1993 p_api_version,
1994 p_init_msg_list,
1995 x_return_status,
1996 x_msg_count,
1997 x_msg_data,
1998 p_tgdv_ext_rec,
1999 x_tgdv_ext_rec);
2000 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2001 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2002 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2003 raise OKC_API.G_EXCEPTION_ERROR;
2004 END IF;
2005
2006 -- Call user hook for AFTER
2007 g_tgdv_ext_rec := x_tgdv_ext_rec;
2008 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2009 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2010 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2011 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2012 raise OKC_API.G_EXCEPTION_ERROR;
2013 END IF;
2014 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2015 EXCEPTION
2016 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2017 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2018 (l_api_name,
2019 G_PKG_NAME,
2020 'OKC_API.G_RET_STS_ERROR',
2021 x_msg_count,
2022 x_msg_data,
2023 '_PUB');
2024 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2025 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2026 (l_api_name,
2027 G_PKG_NAME,
2028 'OKC_API.G_RET_STS_UNEXP_ERROR',
2029 x_msg_count,
2030 x_msg_data,
2031 '_PUB');
2032 WHEN OTHERS THEN
2033 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2034 (l_api_name,
2035 G_PKG_NAME,
2036 'OTHERS',
2037 x_msg_count,
2038 x_msg_data,
2039 '_PUB');
2040 END UPDATE_TPG_DELIMITED;
2041
2042 PROCEDURE UPDATE_TPG_DELIMITED(
2043 p_api_version IN NUMBER,
2044 p_init_msg_list IN VARCHAR2 ,
2045 x_return_status OUT NOCOPY VARCHAR2,
2046 x_msg_count OUT NOCOPY NUMBER,
2047 x_msg_data OUT NOCOPY VARCHAR2,
2048 p_tgdv_ext_tbl IN tgdv_ext_tbl_type,
2049 x_tgdv_ext_tbl OUT NOCOPY tgdv_ext_tbl_type) IS
2050 i NUMBER := 0;
2051 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2052 BEGIN
2053 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2054 IF p_tgdv_ext_tbl.COUNT > 0 THEN
2055 i := p_tgdv_ext_tbl.FIRST;
2056 LOOP
2057 UPDATE_TPG_DELIMITED(
2058 p_api_version,
2059 p_init_msg_list,
2060 l_return_status,
2061 x_msg_count,
2062 x_msg_data,
2063 p_tgdv_ext_tbl(i),
2064 x_tgdv_ext_tbl(i));
2065 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2066 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2067 x_return_status := l_return_status;
2068 raise G_EXCEPTION_HALT_VALIDATION;
2069 ELSE
2070 x_return_status := l_return_status;
2071 END IF;
2072 END IF;
2073 EXIT WHEN (i = p_tgdv_ext_tbl.LAST);
2074 i := p_tgdv_ext_tbl.NEXT(i);
2075 END LOOP;
2076 END IF;
2077 EXCEPTION
2078 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2079 NULL;
2080 WHEN OTHERS THEN
2081 OKC_API.set_message(p_app_name => g_app_name,
2082 p_msg_name => g_unexpected_error,
2083 p_token1 => g_sqlcode_token,
2084 p_token1_value => sqlcode,
2085 p_token2 => g_sqlerrm_token,
2086 p_token2_value => sqlerrm);
2087 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2088 END UPDATE_TPG_DELIMITED;
2089
2090 PROCEDURE DELETE_TPG_DELIMITED(
2091 p_api_version IN NUMBER,
2092 p_init_msg_list IN VARCHAR2 ,
2093 x_return_status OUT NOCOPY VARCHAR2,
2094 x_msg_count OUT NOCOPY NUMBER,
2095 x_msg_data OUT NOCOPY VARCHAR2,
2096 p_tgdv_ext_rec IN tgdv_ext_rec_type) IS
2097 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TPG_DELIMITED';
2098 l_return_status VARCHAR2(1);
2099 l_tgdv_ext_rec tgdv_ext_rec_type := p_tgdv_ext_rec;
2100 BEGIN
2101 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2102 p_init_msg_list,
2103 '_PUB',
2104 x_return_status);
2105 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2106 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2107 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2108 raise OKC_API.G_EXCEPTION_ERROR;
2109 END IF;
2110 -- Call user hook for BEFORE
2111 g_tgdv_ext_rec := l_tgdv_ext_rec;
2112 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2113 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2114 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2115 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2116 raise OKC_API.G_EXCEPTION_ERROR;
2117 END IF;
2118 OKC_TIME_PVT.DELETE_TPG_DELIMITED(
2119 p_api_version,
2120 p_init_msg_list,
2121 x_return_status,
2122 x_msg_count,
2123 x_msg_data,
2124 p_tgdv_ext_rec);
2125 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2126 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2127 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2128 raise OKC_API.G_EXCEPTION_ERROR;
2129 END IF;
2130
2131 -- Call user hook for AFTER
2132 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2133 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2134 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2135 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2136 raise OKC_API.G_EXCEPTION_ERROR;
2137 END IF;
2138 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2139 EXCEPTION
2140 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2141 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2142 (l_api_name,
2143 G_PKG_NAME,
2144 'OKC_API.G_RET_STS_ERROR',
2145 x_msg_count,
2146 x_msg_data,
2147 '_PUB');
2148 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2149 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2150 (l_api_name,
2151 G_PKG_NAME,
2152 'OKC_API.G_RET_STS_UNEXP_ERROR',
2153 x_msg_count,
2154 x_msg_data,
2155 '_PUB');
2156 WHEN OTHERS THEN
2157 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2158 (l_api_name,
2159 G_PKG_NAME,
2160 'OTHERS',
2161 x_msg_count,
2162 x_msg_data,
2163 '_PUB');
2164 END DELETE_TPG_DELIMITED;
2165
2166 PROCEDURE DELETE_TPG_DELIMITED(
2167 p_api_version IN NUMBER,
2168 p_init_msg_list IN VARCHAR2 ,
2169 x_return_status OUT NOCOPY VARCHAR2,
2170 x_msg_count OUT NOCOPY NUMBER,
2171 x_msg_data OUT NOCOPY VARCHAR2,
2172 p_tgdv_ext_tbl IN tgdv_ext_tbl_type) IS
2173 i NUMBER := 0;
2174 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2175 BEGIN
2176 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2177 IF p_tgdv_ext_tbl.COUNT > 0 THEN
2178 i := p_tgdv_ext_tbl.FIRST;
2179 LOOP
2180 DELETE_TPG_DELIMITED(
2181 p_api_version,
2182 p_init_msg_list,
2183 l_return_status,
2184 x_msg_count,
2185 x_msg_data,
2186 p_tgdv_ext_tbl(i));
2187 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2188 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2189 x_return_status := l_return_status;
2190 raise G_EXCEPTION_HALT_VALIDATION;
2191 ELSE
2192 x_return_status := l_return_status;
2193 END IF;
2194 END IF;
2195 EXIT WHEN (i = p_tgdv_ext_tbl.LAST);
2196 i := p_tgdv_ext_tbl.NEXT(i);
2197 END LOOP;
2198 END IF;
2199 EXCEPTION
2200 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2201 NULL;
2202 WHEN OTHERS THEN
2203 OKC_API.set_message(p_app_name => g_app_name,
2204 p_msg_name => g_unexpected_error,
2205 p_token1 => g_sqlcode_token,
2206 p_token1_value => sqlcode,
2207 p_token2 => g_sqlerrm_token,
2208 p_token2_value => sqlerrm);
2209 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2210 END DELETE_TPG_DELIMITED;
2211
2212 PROCEDURE LOCK_TPG_DELIMITED(
2213 p_api_version IN NUMBER,
2214 p_init_msg_list IN VARCHAR2 ,
2215 x_return_status OUT NOCOPY VARCHAR2,
2216 x_msg_count OUT NOCOPY NUMBER,
2217 x_msg_data OUT NOCOPY VARCHAR2,
2218 p_tgdv_ext_rec IN tgdv_ext_rec_type) IS
2219 BEGIN
2220 OKC_TIME_PVT.LOCK_TPG_DELIMITED(
2221 p_api_version,
2222 p_init_msg_list,
2223 x_return_status,
2224 x_msg_count,
2225 x_msg_data,
2226 p_tgdv_ext_rec);
2227 END LOCK_TPG_DELIMITED;
2228
2229 PROCEDURE LOCK_TPG_DELIMITED(
2230 p_api_version IN NUMBER,
2231 p_init_msg_list IN VARCHAR2 ,
2232 x_return_status OUT NOCOPY VARCHAR2,
2233 x_msg_count OUT NOCOPY NUMBER,
2234 x_msg_data OUT NOCOPY VARCHAR2,
2235 p_tgdv_ext_tbl IN tgdv_ext_tbl_type) IS
2236 i NUMBER := 0;
2237 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2238 BEGIN
2239 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2240 IF p_tgdv_ext_tbl.COUNT > 0 THEN
2241 i := p_tgdv_ext_tbl.FIRST;
2242 LOOP
2243 LOCK_TPG_DELIMITED(
2244 p_api_version,
2245 p_init_msg_list,
2246 l_return_status,
2247 x_msg_count,
2248 x_msg_data,
2249 p_tgdv_ext_tbl(i));
2250 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2251 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2252 x_return_status := l_return_status;
2253 raise G_EXCEPTION_HALT_VALIDATION;
2254 ELSE
2255 x_return_status := l_return_status;
2256 END IF;
2257 END IF;
2258 EXIT WHEN (i = p_tgdv_ext_tbl.LAST);
2259 i := p_tgdv_ext_tbl.NEXT(i);
2260 END LOOP;
2261 END IF;
2262 EXCEPTION
2263 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2264 NULL;
2265 WHEN OTHERS THEN
2266 OKC_API.set_message(p_app_name => g_app_name,
2267 p_msg_name => g_unexpected_error,
2268 p_token1 => g_sqlcode_token,
2269 p_token1_value => sqlcode,
2270 p_token2 => g_sqlerrm_token,
2271 p_token2_value => sqlerrm);
2272 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2273 END LOCK_TPG_DELIMITED;
2274
2275 PROCEDURE VALID_TPG_DELIMITED(
2276 p_api_version IN NUMBER,
2277 p_init_msg_list IN VARCHAR2 ,
2278 x_return_status OUT NOCOPY VARCHAR2,
2279 x_msg_count OUT NOCOPY NUMBER,
2280 x_msg_data OUT NOCOPY VARCHAR2,
2281 p_tgdv_ext_rec IN tgdv_ext_rec_type) IS
2282 BEGIN
2283 OKC_TIME_PVT.VALID_TPG_DELIMITED(
2284 p_api_version,
2285 p_init_msg_list,
2286 x_return_status,
2287 x_msg_count,
2288 x_msg_data,
2289 p_tgdv_ext_rec);
2290 END VALID_TPG_DELIMITED;
2291
2292 PROCEDURE VALID_TPG_DELIMITED(
2293 p_api_version IN NUMBER,
2294 p_init_msg_list IN VARCHAR2 ,
2295 x_return_status OUT NOCOPY VARCHAR2,
2296 x_msg_count OUT NOCOPY NUMBER,
2297 x_msg_data OUT NOCOPY VARCHAR2,
2298 p_tgdv_ext_tbl IN tgdv_ext_tbl_type) IS
2299 i NUMBER := 0;
2300 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2301 BEGIN
2302 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2303 IF p_tgdv_ext_tbl.COUNT > 0 THEN
2304 i := p_tgdv_ext_tbl.FIRST;
2305 LOOP
2306 VALID_TPG_DELIMITED(
2307 p_api_version,
2308 p_init_msg_list,
2309 l_return_status,
2310 x_msg_count,
2311 x_msg_data,
2312 p_tgdv_ext_tbl(i));
2313 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2314 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2315 x_return_status := l_return_status;
2316 raise G_EXCEPTION_HALT_VALIDATION;
2317 ELSE
2318 x_return_status := l_return_status;
2319 END IF;
2320 END IF;
2321 EXIT WHEN (i = p_tgdv_ext_tbl.LAST);
2322 i := p_tgdv_ext_tbl.NEXT(i);
2323 END LOOP;
2324 END IF;
2325 EXCEPTION
2326 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2327 NULL;
2328 WHEN OTHERS THEN
2329 OKC_API.set_message(p_app_name => g_app_name,
2330 p_msg_name => g_unexpected_error,
2331 p_token1 => g_sqlcode_token,
2332 p_token1_value => sqlcode,
2333 p_token2 => g_sqlerrm_token,
2334 p_token2_value => sqlerrm);
2335 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2336 END VALID_TPG_DELIMITED;
2337
2338 --------------------------------------------------------------------------
2339 ---The following procedures cater to handling of OKC_TIME_TPG_NAMED
2340 --------------------------------------------------------------------------
2341
2342 FUNCTION migrate_tgnv(p_tgnv_rec1 IN tgnv_rec_type,
2343 p_tgnv_rec2 IN tgnv_rec_type)
2344 RETURN tgnv_rec_type IS
2345 l_tgnv_rec tgnv_rec_type;
2346 BEGIN
2347 l_tgnv_rec.id := p_tgnv_rec1.id;
2348 l_tgnv_rec.object_version_number := p_tgnv_rec1.object_version_number;
2349 l_tgnv_rec.created_by := p_tgnv_rec1.created_by;
2350 l_tgnv_rec.creation_date := p_tgnv_rec1.creation_date;
2351 l_tgnv_rec.last_updated_by := p_tgnv_rec1.last_updated_by;
2352 l_tgnv_rec.last_update_date := p_tgnv_rec1.last_update_date;
2353 l_tgnv_rec.last_update_login := p_tgnv_rec1.last_update_login;
2354 l_tgnv_rec.tze_id := p_tgnv_rec2.tze_id;
2355 l_tgnv_rec.sfwt_flag := p_tgnv_rec2.sfwt_flag;
2356 l_tgnv_rec.tve_id_limited := p_tgnv_rec2.tve_id_limited;
2357 l_tgnv_rec.dnz_chr_id := p_tgnv_rec2.dnz_chr_id;
2358 l_tgnv_rec.cnh_id := p_tgnv_rec2.cnh_id;
2359 l_tgnv_rec.short_description := p_tgnv_rec2.short_description;
2360 l_tgnv_rec.description := p_tgnv_rec2.description;
2361 l_tgnv_rec.comments := p_tgnv_rec2.comments;
2362 l_tgnv_rec.attribute_category := p_tgnv_rec2.attribute_category;
2363 l_tgnv_rec.attribute1 := p_tgnv_rec2.attribute1;
2364 l_tgnv_rec.attribute2 := p_tgnv_rec2.attribute2;
2365 l_tgnv_rec.attribute3 := p_tgnv_rec2.attribute3;
2366 l_tgnv_rec.attribute4 := p_tgnv_rec2.attribute4;
2367 l_tgnv_rec.attribute5 := p_tgnv_rec2.attribute5;
2368 l_tgnv_rec.attribute6 := p_tgnv_rec2.attribute6;
2369 l_tgnv_rec.attribute7 := p_tgnv_rec2.attribute7;
2370 l_tgnv_rec.attribute8 := p_tgnv_rec2.attribute8;
2371 l_tgnv_rec.attribute9 := p_tgnv_rec2.attribute9;
2372 l_tgnv_rec.attribute10 := p_tgnv_rec2.attribute10;
2373 l_tgnv_rec.attribute11 := p_tgnv_rec2.attribute11;
2374 l_tgnv_rec.attribute12 := p_tgnv_rec2.attribute12;
2375 l_tgnv_rec.attribute13 := p_tgnv_rec2.attribute13;
2376 l_tgnv_rec.attribute14 := p_tgnv_rec2.attribute14;
2377 l_tgnv_rec.attribute15 := p_tgnv_rec2.attribute15;
2378 RETURN (l_tgnv_rec);
2379 END migrate_tgnv;
2380
2381 FUNCTION migrate_tgnv(p_tgnv_tbl1 IN tgnv_tbl_type,
2382 p_tgnv_tbl2 IN tgnv_tbl_type)
2383 RETURN tgnv_tbl_type IS
2384 l_tgnv_tbl tgnv_tbl_type;
2385 i NUMBER := 0;
2386 j NUMBER := 0;
2387 BEGIN
2388 -- If the user hook deleted some records or added some new records in the table,
2389 -- discard the change and simply copy the original table.
2390 IF p_tgnv_tbl1.COUNT <> p_tgnv_tbl2.COUNT THEN
2391 l_tgnv_tbl := p_tgnv_tbl1;
2392 ELSE
2393 IF (p_tgnv_tbl1.COUNT > 0) THEN
2394 i := p_tgnv_tbl1.FIRST;
2395 j := p_tgnv_tbl2.FIRST;
2396 LOOP
2397 l_tgnv_tbl(i) := migrate_tgnv(p_tgnv_tbl1(i), p_tgnv_tbl2(j));
2398 EXIT WHEN (i = p_tgnv_tbl1.LAST);
2399 i := p_tgnv_tbl1.NEXT(i);
2400 j := p_tgnv_tbl2.NEXT(j);
2401 END LOOP;
2402 END IF;
2403 END IF;
2404 RETURN (l_tgnv_tbl);
2405 END migrate_tgnv;
2406
2407 PROCEDURE CREATE_TPG_NAMED(
2408 p_api_version IN NUMBER,
2409 p_init_msg_list IN VARCHAR2 ,
2410 x_return_status OUT NOCOPY VARCHAR2,
2411 x_msg_count OUT NOCOPY NUMBER,
2412 x_msg_data OUT NOCOPY VARCHAR2,
2413 p_tgnv_rec IN tgnv_rec_type,
2414 x_tgnv_rec OUT NOCOPY tgnv_rec_type) IS
2415 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TPG_NAMED';
2416 l_return_status VARCHAR2(1);
2417 l_tgnv_rec tgnv_rec_type := p_tgnv_rec;
2418 BEGIN
2419 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2420 p_init_msg_list,
2421 '_PUB',
2422 x_return_status);
2423 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2424 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2425 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2426 raise OKC_API.G_EXCEPTION_ERROR;
2427 END IF;
2428 -- Call user hook for BEFORE
2429 g_tgnv_rec := l_tgnv_rec;
2430 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2431 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2432 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2433 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2434 raise OKC_API.G_EXCEPTION_ERROR;
2435 END IF;
2436 l_tgnv_rec := migrate_tgnv(l_tgnv_rec, g_tgnv_rec);
2437 OKC_TIME_PVT.CREATE_TPG_NAMED(
2438 p_api_version,
2439 p_init_msg_list,
2440 x_return_status,
2441 x_msg_count,
2442 x_msg_data,
2443 p_tgnv_rec,
2444 x_tgnv_rec);
2445 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2446 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2447 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2448 raise OKC_API.G_EXCEPTION_ERROR;
2449 END IF;
2450
2451 -- Call user hook for AFTER
2452 g_tgnv_rec := x_tgnv_rec;
2453 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2454 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2455 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2456 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2457 raise OKC_API.G_EXCEPTION_ERROR;
2458 END IF;
2459 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2460 EXCEPTION
2461 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2462 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2463 (l_api_name,
2464 G_PKG_NAME,
2465 'OKC_API.G_RET_STS_ERROR',
2466 x_msg_count,
2467 x_msg_data,
2468 '_PUB');
2469 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2470 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2471 (l_api_name,
2472 G_PKG_NAME,
2473 'OKC_API.G_RET_STS_UNEXP_ERROR',
2474 x_msg_count,
2475 x_msg_data,
2476 '_PUB');
2477 WHEN OTHERS THEN
2478 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2479 (l_api_name,
2480 G_PKG_NAME,
2481 'OTHERS',
2482 x_msg_count,
2483 x_msg_data,
2484 '_PUB');
2485 END CREATE_TPG_NAMED;
2486
2487 PROCEDURE CREATE_TPG_NAMED(
2488 p_api_version IN NUMBER,
2489 p_init_msg_list IN VARCHAR2 ,
2490 x_return_status OUT NOCOPY VARCHAR2,
2491 x_msg_count OUT NOCOPY NUMBER,
2492 x_msg_data OUT NOCOPY VARCHAR2,
2493 p_tgnv_tbl IN tgnv_tbl_type,
2494 x_tgnv_tbl OUT NOCOPY tgnv_tbl_type) IS
2495 i NUMBER := 0;
2496 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2497 BEGIN
2498 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2499 IF p_tgnv_tbl.COUNT > 0 THEN
2500 i := p_tgnv_tbl.FIRST;
2501 LOOP
2502 CREATE_TPG_NAMED(
2503 p_api_version,
2504 p_init_msg_list,
2505 l_return_status,
2506 x_msg_count,
2507 x_msg_data,
2508 p_tgnv_tbl(i),
2509 x_tgnv_tbl(i));
2510 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2511 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2512 x_return_status := l_return_status;
2513 raise G_EXCEPTION_HALT_VALIDATION;
2514 ELSE
2515 x_return_status := l_return_status;
2516 END IF;
2517 END IF;
2518 EXIT WHEN (i = p_tgnv_tbl.LAST);
2519 i := p_tgnv_tbl.NEXT(i);
2520 END LOOP;
2521 END IF;
2522 EXCEPTION
2523 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2524 NULL;
2525 WHEN OTHERS THEN
2526 OKC_API.set_message(p_app_name => g_app_name,
2527 p_msg_name => g_unexpected_error,
2528 p_token1 => g_sqlcode_token,
2529 p_token1_value => sqlcode,
2530 p_token2 => g_sqlerrm_token,
2531 p_token2_value => sqlerrm);
2532 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2533 END CREATE_TPG_NAMED;
2534
2535 PROCEDURE UPDATE_TPG_NAMED(
2536 p_api_version IN NUMBER,
2537 p_init_msg_list IN VARCHAR2 ,
2538 x_return_status OUT NOCOPY VARCHAR2,
2539 x_msg_count OUT NOCOPY NUMBER,
2540 x_msg_data OUT NOCOPY VARCHAR2,
2541 p_tgnv_rec IN tgnv_rec_type,
2542 x_tgnv_rec OUT NOCOPY tgnv_rec_type) IS
2543 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TPG_NAMED';
2544 l_return_status VARCHAR2(1);
2545 l_tgnv_rec tgnv_rec_type := p_tgnv_rec;
2546 BEGIN
2547 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2548 p_init_msg_list,
2549 '_PUB',
2550 x_return_status);
2551 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2552 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2553 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2554 raise OKC_API.G_EXCEPTION_ERROR;
2555 END IF;
2556 -- Call user hook for BEFORE
2557 g_tgnv_rec := l_tgnv_rec;
2558 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2559 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2560 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2561 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2562 raise OKC_API.G_EXCEPTION_ERROR;
2563 END IF;
2564 l_tgnv_rec := migrate_tgnv(l_tgnv_rec, g_tgnv_rec);
2565 OKC_TIME_PVT.UPDATE_TPG_NAMED(
2566 p_api_version,
2567 p_init_msg_list,
2568 x_return_status,
2569 x_msg_count,
2570 x_msg_data,
2571 p_tgnv_rec,
2572 x_tgnv_rec);
2573 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2574 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2575 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2576 raise OKC_API.G_EXCEPTION_ERROR;
2577 END IF;
2578
2579 -- Call user hook for AFTER
2580 g_tgnv_rec := x_tgnv_rec;
2581 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2582 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2583 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2584 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2585 raise OKC_API.G_EXCEPTION_ERROR;
2586 END IF;
2587 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2588 EXCEPTION
2589 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2590 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2591 (l_api_name,
2592 G_PKG_NAME,
2593 'OKC_API.G_RET_STS_ERROR',
2594 x_msg_count,
2595 x_msg_data,
2596 '_PUB');
2597 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2598 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2599 (l_api_name,
2600 G_PKG_NAME,
2601 'OKC_API.G_RET_STS_UNEXP_ERROR',
2602 x_msg_count,
2603 x_msg_data,
2604 '_PUB');
2605 WHEN OTHERS THEN
2606 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2607 (l_api_name,
2608 G_PKG_NAME,
2609 'OTHERS',
2610 x_msg_count,
2611 x_msg_data,
2612 '_PUB');
2613 END UPDATE_TPG_NAMED;
2614
2615 PROCEDURE UPDATE_TPG_NAMED(
2616 p_api_version IN NUMBER,
2617 p_init_msg_list IN VARCHAR2 ,
2618 x_return_status OUT NOCOPY VARCHAR2,
2619 x_msg_count OUT NOCOPY NUMBER,
2620 x_msg_data OUT NOCOPY VARCHAR2,
2621 p_tgnv_tbl IN tgnv_tbl_type,
2622 x_tgnv_tbl OUT NOCOPY tgnv_tbl_type) IS
2623 i NUMBER := 0;
2624 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2625 BEGIN
2626 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2627 IF p_tgnv_tbl.COUNT > 0 THEN
2628 i := p_tgnv_tbl.FIRST;
2629 LOOP
2630 UPDATE_TPG_NAMED(
2631 p_api_version,
2632 p_init_msg_list,
2633 l_return_status,
2634 x_msg_count,
2635 x_msg_data,
2636 p_tgnv_tbl(i),
2637 x_tgnv_tbl(i));
2638 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2639 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2640 x_return_status := l_return_status;
2641 raise G_EXCEPTION_HALT_VALIDATION;
2642 ELSE
2643 x_return_status := l_return_status;
2644 END IF;
2645 END IF;
2646 EXIT WHEN (i = p_tgnv_tbl.LAST);
2647 i := p_tgnv_tbl.NEXT(i);
2648 END LOOP;
2649 END IF;
2650 EXCEPTION
2651 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2652 NULL;
2653 WHEN OTHERS THEN
2654 OKC_API.set_message(p_app_name => g_app_name,
2655 p_msg_name => g_unexpected_error,
2656 p_token1 => g_sqlcode_token,
2657 p_token1_value => sqlcode,
2658 p_token2 => g_sqlerrm_token,
2659 p_token2_value => sqlerrm);
2660 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2661 END UPDATE_TPG_NAMED;
2662
2663 PROCEDURE DELETE_TPG_NAMED(
2664 p_api_version IN NUMBER,
2665 p_init_msg_list IN VARCHAR2 ,
2666 x_return_status OUT NOCOPY VARCHAR2,
2667 x_msg_count OUT NOCOPY NUMBER,
2668 x_msg_data OUT NOCOPY VARCHAR2,
2669 p_tgnv_rec IN tgnv_rec_type) IS
2670 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TPG_NAMED';
2671 l_return_status VARCHAR2(1);
2672 l_tgnv_rec tgnv_rec_type := p_tgnv_rec;
2673 BEGIN
2674 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2675 p_init_msg_list,
2676 '_PUB',
2677 x_return_status);
2678 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2679 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2680 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2681 raise OKC_API.G_EXCEPTION_ERROR;
2682 END IF;
2683 -- Call user hook for BEFORE
2684 g_tgnv_rec := l_tgnv_rec;
2685 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2686 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2687 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2688 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2689 raise OKC_API.G_EXCEPTION_ERROR;
2690 END IF;
2691 OKC_TIME_PVT.DELETE_TPG_NAMED(
2692 p_api_version,
2693 p_init_msg_list,
2694 x_return_status,
2695 x_msg_count,
2696 x_msg_data,
2697 p_tgnv_rec);
2698 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2699 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2700 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2701 raise OKC_API.G_EXCEPTION_ERROR;
2702 END IF;
2703
2704 -- Call user hook for AFTER
2705 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2706 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2707 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2708 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2709 raise OKC_API.G_EXCEPTION_ERROR;
2710 END IF;
2711 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2712 EXCEPTION
2713 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2714 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2715 (l_api_name,
2716 G_PKG_NAME,
2717 'OKC_API.G_RET_STS_ERROR',
2718 x_msg_count,
2719 x_msg_data,
2720 '_PUB');
2721 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2722 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2723 (l_api_name,
2724 G_PKG_NAME,
2725 'OKC_API.G_RET_STS_UNEXP_ERROR',
2726 x_msg_count,
2727 x_msg_data,
2728 '_PUB');
2729 WHEN OTHERS THEN
2730 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2731 (l_api_name,
2732 G_PKG_NAME,
2733 'OTHERS',
2734 x_msg_count,
2735 x_msg_data,
2736 '_PUB');
2737 END DELETE_TPG_NAMED;
2738
2739 PROCEDURE DELETE_TPG_NAMED(
2740 p_api_version IN NUMBER,
2741 p_init_msg_list IN VARCHAR2 ,
2742 x_return_status OUT NOCOPY VARCHAR2,
2743 x_msg_count OUT NOCOPY NUMBER,
2744 x_msg_data OUT NOCOPY VARCHAR2,
2745 p_tgnv_tbl IN tgnv_tbl_type) IS
2746 i NUMBER := 0;
2747 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2748 BEGIN
2749 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2750 IF p_tgnv_tbl.COUNT > 0 THEN
2751 i := p_tgnv_tbl.FIRST;
2752 LOOP
2753 DELETE_TPG_NAMED(
2754 p_api_version,
2755 p_init_msg_list,
2756 l_return_status,
2757 x_msg_count,
2758 x_msg_data,
2759 p_tgnv_tbl(i));
2760 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2761 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2762 x_return_status := l_return_status;
2763 raise G_EXCEPTION_HALT_VALIDATION;
2764 ELSE
2765 x_return_status := l_return_status;
2766 END IF;
2767 END IF;
2768 EXIT WHEN (i = p_tgnv_tbl.LAST);
2769 i := p_tgnv_tbl.NEXT(i);
2770 END LOOP;
2771 END IF;
2772 EXCEPTION
2773 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2774 NULL;
2775 WHEN OTHERS THEN
2776 OKC_API.set_message(p_app_name => g_app_name,
2777 p_msg_name => g_unexpected_error,
2778 p_token1 => g_sqlcode_token,
2779 p_token1_value => sqlcode,
2780 p_token2 => g_sqlerrm_token,
2781 p_token2_value => sqlerrm);
2782 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2783 END DELETE_TPG_NAMED;
2784
2785 PROCEDURE LOCK_TPG_NAMED(
2786 p_api_version IN NUMBER,
2787 p_init_msg_list IN VARCHAR2 ,
2788 x_return_status OUT NOCOPY VARCHAR2,
2789 x_msg_count OUT NOCOPY NUMBER,
2790 x_msg_data OUT NOCOPY VARCHAR2,
2791 p_tgnv_rec IN tgnv_rec_type) IS
2792 BEGIN
2793 OKC_TIME_PVT.LOCK_TPG_NAMED(
2794 p_api_version,
2795 p_init_msg_list,
2796 x_return_status,
2797 x_msg_count,
2798 x_msg_data,
2799 p_tgnv_rec);
2800 END LOCK_TPG_NAMED;
2801
2802 PROCEDURE LOCK_TPG_NAMED(
2803 p_api_version IN NUMBER,
2804 p_init_msg_list IN VARCHAR2 ,
2805 x_return_status OUT NOCOPY VARCHAR2,
2806 x_msg_count OUT NOCOPY NUMBER,
2807 x_msg_data OUT NOCOPY VARCHAR2,
2808 p_tgnv_tbl IN tgnv_tbl_type) IS
2809 i NUMBER := 0;
2810 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2811 BEGIN
2812 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2813 IF p_tgnv_tbl.COUNT > 0 THEN
2814 i := p_tgnv_tbl.FIRST;
2815 LOOP
2816 LOCK_TPG_NAMED(
2817 p_api_version,
2818 p_init_msg_list,
2819 l_return_status,
2820 x_msg_count,
2821 x_msg_data,
2822 p_tgnv_tbl(i));
2823 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2824 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2825 x_return_status := l_return_status;
2826 raise G_EXCEPTION_HALT_VALIDATION;
2827 ELSE
2828 x_return_status := l_return_status;
2829 END IF;
2830 END IF;
2831 EXIT WHEN (i = p_tgnv_tbl.LAST);
2832 i := p_tgnv_tbl.NEXT(i);
2833 END LOOP;
2834 END IF;
2835 EXCEPTION
2836 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2837 NULL;
2838 WHEN OTHERS THEN
2839 OKC_API.set_message(p_app_name => g_app_name,
2840 p_msg_name => g_unexpected_error,
2841 p_token1 => g_sqlcode_token,
2842 p_token1_value => sqlcode,
2843 p_token2 => g_sqlerrm_token,
2844 p_token2_value => sqlerrm);
2845 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2846 END LOCK_TPG_NAMED;
2847
2848 PROCEDURE VALID_TPG_NAMED(
2849 p_api_version IN NUMBER,
2850 p_init_msg_list IN VARCHAR2 ,
2851 x_return_status OUT NOCOPY VARCHAR2,
2852 x_msg_count OUT NOCOPY NUMBER,
2853 x_msg_data OUT NOCOPY VARCHAR2,
2854 p_tgnv_rec IN tgnv_rec_type) IS
2855 BEGIN
2856 OKC_TIME_PVT.VALID_TPG_NAMED(
2857 p_api_version,
2858 p_init_msg_list,
2859 x_return_status,
2860 x_msg_count,
2861 x_msg_data,
2862 p_tgnv_rec);
2863 END VALID_TPG_NAMED;
2864
2865 PROCEDURE VALID_TPG_NAMED(
2866 p_api_version IN NUMBER,
2867 p_init_msg_list IN VARCHAR2 ,
2868 x_return_status OUT NOCOPY VARCHAR2,
2869 x_msg_count OUT NOCOPY NUMBER,
2870 x_msg_data OUT NOCOPY VARCHAR2,
2871 p_tgnv_tbl IN tgnv_tbl_type) IS
2872 i NUMBER := 0;
2873 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2874 BEGIN
2875 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2876 IF p_tgnv_tbl.COUNT > 0 THEN
2877 i := p_tgnv_tbl.FIRST;
2878 LOOP
2879 VALID_TPG_NAMED(
2880 p_api_version,
2881 p_init_msg_list,
2882 l_return_status,
2883 x_msg_count,
2884 x_msg_data,
2885 p_tgnv_tbl(i));
2886 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2887 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2888 x_return_status := l_return_status;
2889 raise G_EXCEPTION_HALT_VALIDATION;
2890 ELSE
2891 x_return_status := l_return_status;
2892 END IF;
2893 END IF;
2894 EXIT WHEN (i = p_tgnv_tbl.LAST);
2895 i := p_tgnv_tbl.NEXT(i);
2896 END LOOP;
2897 END IF;
2898 EXCEPTION
2899 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2900 NULL;
2901 WHEN OTHERS THEN
2902 OKC_API.set_message(p_app_name => g_app_name,
2903 p_msg_name => g_unexpected_error,
2904 p_token1 => g_sqlcode_token,
2905 p_token1_value => sqlcode,
2906 p_token2 => g_sqlerrm_token,
2907 p_token2_value => sqlerrm);
2908 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2909 END VALID_TPG_NAMED;
2910
2911 --------------------------------------------------------------------------
2912 ---The following procedures cater to handling of OKC_TIME_IA_STARTEND
2913 --------------------------------------------------------------------------
2914
2915 FUNCTION migrate_isev(p_isev_ext_rec1 IN isev_ext_rec_type,
2916 p_isev_ext_rec2 IN isev_ext_rec_type)
2917 RETURN isev_ext_rec_type IS
2918 l_isev_ext_rec isev_ext_rec_type;
2919 BEGIN
2920 l_isev_ext_rec.id := p_isev_ext_rec1.id;
2921 l_isev_ext_rec.object_version_number := p_isev_ext_rec1.object_version_number;
2922 l_isev_ext_rec.created_by := p_isev_ext_rec1.created_by;
2923 l_isev_ext_rec.creation_date := p_isev_ext_rec1.creation_date;
2924 l_isev_ext_rec.last_updated_by := p_isev_ext_rec1.last_updated_by;
2925 l_isev_ext_rec.last_update_date := p_isev_ext_rec1.last_update_date;
2926 l_isev_ext_rec.last_update_login := p_isev_ext_rec1.last_update_login;
2927 l_isev_ext_rec.tze_id := p_isev_ext_rec2.tze_id;
2928 l_isev_ext_rec.sfwt_flag := p_isev_ext_rec2.sfwt_flag;
2929 l_isev_ext_rec.tve_id_limited := p_isev_ext_rec2.tve_id_limited;
2930 l_isev_ext_rec.dnz_chr_id := p_isev_ext_rec2.dnz_chr_id;
2931 l_isev_ext_rec.tve_id_started := p_isev_ext_rec2.tve_id_started;
2932 l_isev_ext_rec.tve_id_ended := p_isev_ext_rec2.tve_id_ended;
2933 l_isev_ext_rec.duration := p_isev_ext_rec2.duration;
2934 l_isev_ext_rec.uom_code := p_isev_ext_rec2.uom_code;
2935 l_isev_ext_rec.before_after := p_isev_ext_rec2.before_after;
2936 l_isev_ext_rec.operator := p_isev_ext_rec2.operator;
2937 l_isev_ext_rec.spn_id := p_isev_ext_rec2.spn_id;
2938 l_isev_ext_rec.short_description := p_isev_ext_rec2.short_description;
2939 l_isev_ext_rec.description := p_isev_ext_rec2.description;
2940 l_isev_ext_rec.comments := p_isev_ext_rec2.comments;
2941 l_isev_ext_rec.attribute_category := p_isev_ext_rec2.attribute_category;
2942 l_isev_ext_rec.attribute1 := p_isev_ext_rec2.attribute1;
2943 l_isev_ext_rec.attribute2 := p_isev_ext_rec2.attribute2;
2944 l_isev_ext_rec.attribute3 := p_isev_ext_rec2.attribute3;
2945 l_isev_ext_rec.attribute4 := p_isev_ext_rec2.attribute4;
2946 l_isev_ext_rec.attribute5 := p_isev_ext_rec2.attribute5;
2947 l_isev_ext_rec.attribute6 := p_isev_ext_rec2.attribute6;
2948 l_isev_ext_rec.attribute7 := p_isev_ext_rec2.attribute7;
2949 l_isev_ext_rec.attribute8 := p_isev_ext_rec2.attribute8;
2950 l_isev_ext_rec.attribute9 := p_isev_ext_rec2.attribute9;
2951 l_isev_ext_rec.attribute10 := p_isev_ext_rec2.attribute10;
2952 l_isev_ext_rec.attribute11 := p_isev_ext_rec2.attribute11;
2953 l_isev_ext_rec.attribute12 := p_isev_ext_rec2.attribute12;
2954 l_isev_ext_rec.attribute13 := p_isev_ext_rec2.attribute13;
2955 l_isev_ext_rec.attribute14 := p_isev_ext_rec2.attribute14;
2956 l_isev_ext_rec.attribute15 := p_isev_ext_rec2.attribute15;
2957 RETURN (l_isev_ext_rec);
2958 END migrate_isev;
2959
2960 FUNCTION migrate_isev(p_isev_ext_tbl1 IN isev_ext_tbl_type,
2961 p_isev_ext_tbl2 IN isev_ext_tbl_type)
2962 RETURN isev_ext_tbl_type IS
2963 l_isev_ext_tbl isev_ext_tbl_type;
2964 i NUMBER := 0;
2965 j NUMBER := 0;
2966 BEGIN
2967 -- If the user hook deleted some records or added some new records in the table,
2968 -- discard the change and simply copy the original table.
2969 IF p_isev_ext_tbl1.COUNT <> p_isev_ext_tbl2.COUNT THEN
2970 l_isev_ext_tbl := p_isev_ext_tbl1;
2971 ELSE
2972 IF (p_isev_ext_tbl1.COUNT > 0) THEN
2973 i := p_isev_ext_tbl1.FIRST;
2974 j := p_isev_ext_tbl2.FIRST;
2975 LOOP
2976 l_isev_ext_tbl(i) := migrate_isev(p_isev_ext_tbl1(i), p_isev_ext_tbl2(j));
2977 EXIT WHEN (i = p_isev_ext_tbl1.LAST);
2978 i := p_isev_ext_tbl1.NEXT(i);
2979 j := p_isev_ext_tbl2.NEXT(j);
2980 END LOOP;
2981 END IF;
2982 END IF;
2983 RETURN (l_isev_ext_tbl);
2984 END migrate_isev;
2985
2986 FUNCTION migrate_isev(p_isev_rel_rec1 IN isev_rel_rec_type,
2987 p_isev_rel_rec2 IN isev_rel_rec_type)
2988 RETURN isev_rel_rec_type IS
2989 l_isev_rel_rec isev_rel_rec_type;
2990 BEGIN
2991 l_isev_rel_rec.id := p_isev_rel_rec1.id;
2992 l_isev_rel_rec.object_version_number := p_isev_rel_rec1.object_version_number;
2993 l_isev_rel_rec.created_by := p_isev_rel_rec1.created_by;
2994 l_isev_rel_rec.creation_date := p_isev_rel_rec1.creation_date;
2995 l_isev_rel_rec.last_updated_by := p_isev_rel_rec1.last_updated_by;
2996 l_isev_rel_rec.last_update_date := p_isev_rel_rec1.last_update_date;
2997 l_isev_rel_rec.last_update_login := p_isev_rel_rec1.last_update_login;
2998 l_isev_rel_rec.tze_id := p_isev_rel_rec2.tze_id;
2999 l_isev_rel_rec.sfwt_flag := p_isev_rel_rec2.sfwt_flag;
3000 l_isev_rel_rec.dnz_chr_id := p_isev_rel_rec2.dnz_chr_id;
3001 l_isev_rel_rec.tve_id_limited := p_isev_rel_rec2.tve_id_limited;
3002 l_isev_rel_rec.tve_id_started := p_isev_rel_rec2.tve_id_started;
3003 l_isev_rel_rec.tve_id_ended := p_isev_rel_rec2.tve_id_ended;
3004 l_isev_rel_rec.duration := p_isev_rel_rec2.duration;
3005 l_isev_rel_rec.uom_code := p_isev_rel_rec2.uom_code;
3006 l_isev_rel_rec.before_after := p_isev_rel_rec2.before_after;
3007 l_isev_rel_rec.operator := p_isev_rel_rec2.operator;
3008 l_isev_rel_rec.spn_id := p_isev_rel_rec2.spn_id;
3009 l_isev_rel_rec.short_description := p_isev_rel_rec2.short_description;
3010 l_isev_rel_rec.description := p_isev_rel_rec2.description;
3011 l_isev_rel_rec.comments := p_isev_rel_rec2.comments;
3012 l_isev_rel_rec.attribute_category := p_isev_rel_rec2.attribute_category;
3013 l_isev_rel_rec.attribute1 := p_isev_rel_rec2.attribute1;
3014 l_isev_rel_rec.attribute2 := p_isev_rel_rec2.attribute2;
3015 l_isev_rel_rec.attribute3 := p_isev_rel_rec2.attribute3;
3016 l_isev_rel_rec.attribute4 := p_isev_rel_rec2.attribute4;
3017 l_isev_rel_rec.attribute5 := p_isev_rel_rec2.attribute5;
3018 l_isev_rel_rec.attribute6 := p_isev_rel_rec2.attribute6;
3019 l_isev_rel_rec.attribute7 := p_isev_rel_rec2.attribute7;
3020 l_isev_rel_rec.attribute8 := p_isev_rel_rec2.attribute8;
3021 l_isev_rel_rec.attribute9 := p_isev_rel_rec2.attribute9;
3022 l_isev_rel_rec.attribute10 := p_isev_rel_rec2.attribute10;
3023 l_isev_rel_rec.attribute11 := p_isev_rel_rec2.attribute11;
3024 l_isev_rel_rec.attribute12 := p_isev_rel_rec2.attribute12;
3025 l_isev_rel_rec.attribute13 := p_isev_rel_rec2.attribute13;
3026 l_isev_rel_rec.attribute14 := p_isev_rel_rec2.attribute14;
3027 l_isev_rel_rec.attribute15 := p_isev_rel_rec2.attribute15;
3028 RETURN (l_isev_rel_rec);
3029 END migrate_isev;
3030
3031 FUNCTION migrate_isev(p_isev_rel_tbl1 IN isev_rel_tbl_type,
3032 p_isev_rel_tbl2 IN isev_rel_tbl_type)
3033 RETURN isev_rel_tbl_type IS
3034 l_isev_rel_tbl isev_rel_tbl_type;
3035 i NUMBER := 0;
3036 j NUMBER := 0;
3037 BEGIN
3038 -- If the user hook deleted some records or added some new records in the table,
3039 -- discard the change and simply copy the original table.
3040 IF p_isev_rel_tbl1.COUNT <> p_isev_rel_tbl2.COUNT THEN
3041 l_isev_rel_tbl := p_isev_rel_tbl1;
3042 ELSE
3043 IF (p_isev_rel_tbl1.COUNT > 0) THEN
3044 i := p_isev_rel_tbl1.FIRST;
3045 j := p_isev_rel_tbl2.FIRST;
3046 LOOP
3047 l_isev_rel_tbl(i) := migrate_isev(p_isev_rel_tbl1(i), p_isev_rel_tbl2(j));
3048 EXIT WHEN (i = p_isev_rel_tbl1.LAST);
3049 i := p_isev_rel_tbl1.NEXT(i);
3050 j := p_isev_rel_tbl2.NEXT(j);
3051 END LOOP;
3052 END IF;
3053 END IF;
3054 RETURN (l_isev_rel_tbl);
3055 END migrate_isev;
3056
3057 PROCEDURE CREATE_IA_STARTEND(
3058 p_api_version IN NUMBER,
3059 p_init_msg_list IN VARCHAR2 ,
3060 x_return_status OUT NOCOPY VARCHAR2,
3061 x_msg_count OUT NOCOPY NUMBER,
3062 x_msg_data OUT NOCOPY VARCHAR2,
3063 p_isev_ext_rec IN isev_ext_rec_type,
3064 x_isev_ext_rec OUT NOCOPY isev_ext_rec_type) IS
3065 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_IA_STARTEND';
3066 l_return_status VARCHAR2(1);
3067 l_isev_ext_rec isev_ext_rec_type := p_isev_ext_rec;
3068 BEGIN
3069 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3070 p_init_msg_list,
3071 '_PUB',
3072 x_return_status);
3073 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3074 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3075 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3076 raise OKC_API.G_EXCEPTION_ERROR;
3077 END IF;
3078 -- Call user hook for BEFORE
3079 g_isev_ext_rec := l_isev_ext_rec;
3080 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3081 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3082 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3083 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3084 raise OKC_API.G_EXCEPTION_ERROR;
3085 END IF;
3086 l_isev_ext_rec := migrate_isev(l_isev_ext_rec, g_isev_ext_rec);
3087 OKC_TIME_PVT.CREATE_IA_STARTEND(
3088 p_api_version,
3089 p_init_msg_list,
3090 x_return_status,
3091 x_msg_count,
3092 x_msg_data,
3093 p_isev_ext_rec,
3094 x_isev_ext_rec);
3095 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3096 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3097 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3098 raise OKC_API.G_EXCEPTION_ERROR;
3099 END IF;
3100
3101 -- Call user hook for AFTER
3102 g_isev_ext_rec := x_isev_ext_rec;
3103 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3104 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3105 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3106 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3107 raise OKC_API.G_EXCEPTION_ERROR;
3108 END IF;
3109 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3110 EXCEPTION
3111 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3112 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3113 (l_api_name,
3114 G_PKG_NAME,
3115 'OKC_API.G_RET_STS_ERROR',
3116 x_msg_count,
3117 x_msg_data,
3118 '_PUB');
3119 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3120 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3121 (l_api_name,
3122 G_PKG_NAME,
3123 'OKC_API.G_RET_STS_UNEXP_ERROR',
3124 x_msg_count,
3125 x_msg_data,
3126 '_PUB');
3127 WHEN OTHERS THEN
3128 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3129 (l_api_name,
3130 G_PKG_NAME,
3131 'OTHERS',
3132 x_msg_count,
3133 x_msg_data,
3134 '_PUB');
3135 END CREATE_IA_STARTEND;
3136
3137 PROCEDURE CREATE_IA_STARTEND(
3138 p_api_version IN NUMBER,
3139 p_init_msg_list IN VARCHAR2 ,
3140 x_return_status OUT NOCOPY VARCHAR2,
3141 x_msg_count OUT NOCOPY NUMBER,
3142 x_msg_data OUT NOCOPY VARCHAR2,
3143 p_isev_ext_tbl IN isev_ext_tbl_type,
3144 x_isev_ext_tbl OUT NOCOPY isev_ext_tbl_type) IS
3145 i NUMBER := 0;
3146 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3147 BEGIN
3148 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3149 IF p_isev_ext_tbl.COUNT > 0 THEN
3150 i := p_isev_ext_tbl.FIRST;
3151 LOOP
3152 CREATE_IA_STARTEND(
3153 p_api_version,
3154 p_init_msg_list,
3155 l_return_status,
3156 x_msg_count,
3157 x_msg_data,
3158 p_isev_ext_tbl(i),
3159 x_isev_ext_tbl(i));
3160 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3161 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3162 x_return_status := l_return_status;
3163 raise G_EXCEPTION_HALT_VALIDATION;
3164 ELSE
3165 x_return_status := l_return_status;
3166 END IF;
3167 END IF;
3168 EXIT WHEN (i = p_isev_ext_tbl.LAST);
3169 i := p_isev_ext_tbl.NEXT(i);
3170 END LOOP;
3171 END IF;
3172 EXCEPTION
3173 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3174 NULL;
3175 WHEN OTHERS THEN
3176 OKC_API.set_message(p_app_name => g_app_name,
3177 p_msg_name => g_unexpected_error,
3178 p_token1 => g_sqlcode_token,
3179 p_token1_value => sqlcode,
3180 p_token2 => g_sqlerrm_token,
3181 p_token2_value => sqlerrm);
3182 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3183 END CREATE_IA_STARTEND;
3184
3185 PROCEDURE UPDATE_IA_STARTEND(
3186 p_api_version IN NUMBER,
3187 p_init_msg_list IN VARCHAR2 ,
3188 x_return_status OUT NOCOPY VARCHAR2,
3189 x_msg_count OUT NOCOPY NUMBER,
3190 x_msg_data OUT NOCOPY VARCHAR2,
3191 p_isev_ext_rec IN isev_ext_rec_type,
3192 x_isev_ext_rec OUT NOCOPY isev_ext_rec_type) IS
3193 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_IA_STARTEND';
3194 l_return_status VARCHAR2(1);
3195 l_isev_ext_rec isev_ext_rec_type := p_isev_ext_rec;
3196 BEGIN
3197 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3198 p_init_msg_list,
3199 '_PUB',
3200 x_return_status);
3201 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3202 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3203 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3204 raise OKC_API.G_EXCEPTION_ERROR;
3205 END IF;
3206 -- Call user hook for BEFORE
3207 g_isev_ext_rec := l_isev_ext_rec;
3208 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3209 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3210 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3211 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3212 raise OKC_API.G_EXCEPTION_ERROR;
3213 END IF;
3214 l_isev_ext_rec := migrate_isev(l_isev_ext_rec, g_isev_ext_rec);
3215 OKC_TIME_PVT.UPDATE_IA_STARTEND(
3216 p_api_version,
3217 p_init_msg_list,
3218 x_return_status,
3219 x_msg_count,
3220 x_msg_data,
3221 p_isev_ext_rec,
3222 x_isev_ext_rec);
3223 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3224 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3225 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3226 raise OKC_API.G_EXCEPTION_ERROR;
3227 END IF;
3228
3229 -- Call user hook for AFTER
3230 g_isev_ext_rec := x_isev_ext_rec;
3231 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3232 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3233 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3234 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3235 raise OKC_API.G_EXCEPTION_ERROR;
3236 END IF;
3237 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3238 EXCEPTION
3239 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3240 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3241 (l_api_name,
3242 G_PKG_NAME,
3243 'OKC_API.G_RET_STS_ERROR',
3244 x_msg_count,
3245 x_msg_data,
3246 '_PUB');
3247 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3248 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3249 (l_api_name,
3250 G_PKG_NAME,
3251 'OKC_API.G_RET_STS_UNEXP_ERROR',
3252 x_msg_count,
3253 x_msg_data,
3254 '_PUB');
3255 WHEN OTHERS THEN
3256 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3257 (l_api_name,
3258 G_PKG_NAME,
3259 'OTHERS',
3260 x_msg_count,
3261 x_msg_data,
3262 '_PUB');
3263 END UPDATE_IA_STARTEND;
3264
3265 PROCEDURE UPDATE_IA_STARTEND(
3266 p_api_version IN NUMBER,
3267 p_init_msg_list IN VARCHAR2 ,
3268 x_return_status OUT NOCOPY VARCHAR2,
3269 x_msg_count OUT NOCOPY NUMBER,
3270 x_msg_data OUT NOCOPY VARCHAR2,
3271 p_isev_ext_tbl IN isev_ext_tbl_type,
3272 x_isev_ext_tbl OUT NOCOPY isev_ext_tbl_type) IS
3273 i NUMBER := 0;
3274 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3275 BEGIN
3276 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3277 IF p_isev_ext_tbl.COUNT > 0 THEN
3278 i := p_isev_ext_tbl.FIRST;
3279 LOOP
3280 UPDATE_IA_STARTEND(
3281 p_api_version,
3282 p_init_msg_list,
3283 l_return_status,
3284 x_msg_count,
3285 x_msg_data,
3286 p_isev_ext_tbl(i),
3287 x_isev_ext_tbl(i));
3288 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3289 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3290 x_return_status := l_return_status;
3291 raise G_EXCEPTION_HALT_VALIDATION;
3292 ELSE
3293 x_return_status := l_return_status;
3294 END IF;
3295 END IF;
3296 EXIT WHEN (i = p_isev_ext_tbl.LAST);
3297 i := p_isev_ext_tbl.NEXT(i);
3298 END LOOP;
3299 END IF;
3300 EXCEPTION
3301 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3302 NULL;
3303 WHEN OTHERS THEN
3304 OKC_API.set_message(p_app_name => g_app_name,
3305 p_msg_name => g_unexpected_error,
3306 p_token1 => g_sqlcode_token,
3307 p_token1_value => sqlcode,
3308 p_token2 => g_sqlerrm_token,
3309 p_token2_value => sqlerrm);
3310 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3311 END UPDATE_IA_STARTEND;
3312
3313 PROCEDURE DELETE_IA_STARTEND(
3314 p_api_version IN NUMBER,
3315 p_init_msg_list IN VARCHAR2 ,
3316 x_return_status OUT NOCOPY VARCHAR2,
3317 x_msg_count OUT NOCOPY NUMBER,
3318 x_msg_data OUT NOCOPY VARCHAR2,
3319 p_isev_ext_rec IN isev_ext_rec_type) IS
3320 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_IA_STARTEND';
3321 l_return_status VARCHAR2(1);
3322 l_isev_ext_rec isev_ext_rec_type := p_isev_ext_rec;
3323 BEGIN
3324 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3325 p_init_msg_list,
3326 '_PUB',
3327 x_return_status);
3328 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3329 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3330 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3331 raise OKC_API.G_EXCEPTION_ERROR;
3332 END IF;
3333 -- Call user hook for BEFORE
3334 g_isev_ext_rec := l_isev_ext_rec;
3335 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3336 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3337 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3338 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3339 raise OKC_API.G_EXCEPTION_ERROR;
3340 END IF;
3341 OKC_TIME_PVT.DELETE_IA_STARTEND(
3342 p_api_version,
3343 p_init_msg_list,
3344 x_return_status,
3345 x_msg_count,
3346 x_msg_data,
3347 p_isev_ext_rec);
3348 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3349 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3350 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3351 raise OKC_API.G_EXCEPTION_ERROR;
3352 END IF;
3353
3354 -- Call user hook for AFTER
3355 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3356 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3357 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3358 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3359 raise OKC_API.G_EXCEPTION_ERROR;
3360 END IF;
3361 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3362 EXCEPTION
3363 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3364 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3365 (l_api_name,
3366 G_PKG_NAME,
3367 'OKC_API.G_RET_STS_ERROR',
3368 x_msg_count,
3369 x_msg_data,
3370 '_PUB');
3371 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3372 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3373 (l_api_name,
3374 G_PKG_NAME,
3375 'OKC_API.G_RET_STS_UNEXP_ERROR',
3376 x_msg_count,
3377 x_msg_data,
3378 '_PUB');
3379 WHEN OTHERS THEN
3380 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3381 (l_api_name,
3382 G_PKG_NAME,
3383 'OTHERS',
3384 x_msg_count,
3385 x_msg_data,
3386 '_PUB');
3387 END DELETE_IA_STARTEND;
3388
3389 PROCEDURE DELETE_IA_STARTEND(
3390 p_api_version IN NUMBER,
3391 p_init_msg_list IN VARCHAR2 ,
3392 x_return_status OUT NOCOPY VARCHAR2,
3393 x_msg_count OUT NOCOPY NUMBER,
3394 x_msg_data OUT NOCOPY VARCHAR2,
3395 p_isev_ext_tbl IN isev_ext_tbl_type) IS
3396 i NUMBER := 0;
3397 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3398 BEGIN
3399 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3400 IF p_isev_ext_tbl.COUNT > 0 THEN
3401 i := p_isev_ext_tbl.FIRST;
3402 LOOP
3403 DELETE_IA_STARTEND(
3404 p_api_version,
3405 p_init_msg_list,
3406 l_return_status,
3407 x_msg_count,
3408 x_msg_data,
3409 p_isev_ext_tbl(i));
3410 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3411 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3412 x_return_status := l_return_status;
3413 raise G_EXCEPTION_HALT_VALIDATION;
3414 ELSE
3415 x_return_status := l_return_status;
3416 END IF;
3417 END IF;
3418 EXIT WHEN (i = p_isev_ext_tbl.LAST);
3419 i := p_isev_ext_tbl.NEXT(i);
3420 END LOOP;
3421 END IF;
3422 EXCEPTION
3423 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3424 NULL;
3425 WHEN OTHERS THEN
3426 OKC_API.set_message(p_app_name => g_app_name,
3427 p_msg_name => g_unexpected_error,
3428 p_token1 => g_sqlcode_token,
3429 p_token1_value => sqlcode,
3430 p_token2 => g_sqlerrm_token,
3431 p_token2_value => sqlerrm);
3432 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3433 END DELETE_IA_STARTEND;
3434
3435 PROCEDURE LOCK_IA_STARTEND(
3436 p_api_version IN NUMBER,
3437 p_init_msg_list IN VARCHAR2 ,
3438 x_return_status OUT NOCOPY VARCHAR2,
3439 x_msg_count OUT NOCOPY NUMBER,
3440 x_msg_data OUT NOCOPY VARCHAR2,
3441 p_isev_ext_rec IN isev_ext_rec_type) IS
3442 BEGIN
3443 OKC_TIME_PVT.LOCK_IA_STARTEND(
3444 p_api_version,
3445 p_init_msg_list,
3446 x_return_status,
3447 x_msg_count,
3448 x_msg_data,
3449 p_isev_ext_rec);
3450 END LOCK_IA_STARTEND;
3451
3452 PROCEDURE LOCK_IA_STARTEND(
3453 p_api_version IN NUMBER,
3454 p_init_msg_list IN VARCHAR2 ,
3455 x_return_status OUT NOCOPY VARCHAR2,
3456 x_msg_count OUT NOCOPY NUMBER,
3457 x_msg_data OUT NOCOPY VARCHAR2,
3458 p_isev_ext_tbl IN isev_ext_tbl_type) IS
3459 i NUMBER := 0;
3460 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3461 BEGIN
3462 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3463 IF p_isev_ext_tbl.COUNT > 0 THEN
3464 i := p_isev_ext_tbl.FIRST;
3465 LOOP
3466 LOCK_IA_STARTEND(
3467 p_api_version,
3468 p_init_msg_list,
3469 l_return_status,
3470 x_msg_count,
3471 x_msg_data,
3472 p_isev_ext_tbl(i));
3473 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3474 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3475 x_return_status := l_return_status;
3476 raise G_EXCEPTION_HALT_VALIDATION;
3477 ELSE
3478 x_return_status := l_return_status;
3479 END IF;
3480 END IF;
3481 EXIT WHEN (i = p_isev_ext_tbl.LAST);
3482 i := p_isev_ext_tbl.NEXT(i);
3483 END LOOP;
3484 END IF;
3485 EXCEPTION
3486 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3487 NULL;
3488 WHEN OTHERS THEN
3489 OKC_API.set_message(p_app_name => g_app_name,
3490 p_msg_name => g_unexpected_error,
3491 p_token1 => g_sqlcode_token,
3492 p_token1_value => sqlcode,
3493 p_token2 => g_sqlerrm_token,
3494 p_token2_value => sqlerrm);
3495 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3496 END LOCK_IA_STARTEND;
3497
3498 PROCEDURE VALID_IA_STARTEND(
3499 p_api_version IN NUMBER,
3500 p_init_msg_list IN VARCHAR2 ,
3501 x_return_status OUT NOCOPY VARCHAR2,
3502 x_msg_count OUT NOCOPY NUMBER,
3503 x_msg_data OUT NOCOPY VARCHAR2,
3504 p_isev_ext_rec IN isev_ext_rec_type) IS
3505 BEGIN
3506 OKC_TIME_PVT.VALID_IA_STARTEND(
3507 p_api_version,
3508 p_init_msg_list,
3509 x_return_status,
3510 x_msg_count,
3511 x_msg_data,
3512 p_isev_ext_rec);
3513 END VALID_IA_STARTEND;
3514
3515 PROCEDURE VALID_IA_STARTEND(
3516 p_api_version IN NUMBER,
3517 p_init_msg_list IN VARCHAR2 ,
3518 x_return_status OUT NOCOPY VARCHAR2,
3519 x_msg_count OUT NOCOPY NUMBER,
3520 x_msg_data OUT NOCOPY VARCHAR2,
3521 p_isev_ext_tbl IN isev_ext_tbl_type) IS
3522 i NUMBER := 0;
3523 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3524 BEGIN
3525 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3526 IF p_isev_ext_tbl.COUNT > 0 THEN
3527 i := p_isev_ext_tbl.FIRST;
3528 LOOP
3529 VALID_IA_STARTEND(
3530 p_api_version,
3531 p_init_msg_list,
3532 l_return_status,
3533 x_msg_count,
3534 x_msg_data,
3535 p_isev_ext_tbl(i));
3536 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3537 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3538 x_return_status := l_return_status;
3539 raise G_EXCEPTION_HALT_VALIDATION;
3540 ELSE
3541 x_return_status := l_return_status;
3542 END IF;
3543 END IF;
3544 EXIT WHEN (i = p_isev_ext_tbl.LAST);
3545 i := p_isev_ext_tbl.NEXT(i);
3546 END LOOP;
3547 END IF;
3548 EXCEPTION
3549 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3550 NULL;
3551 WHEN OTHERS THEN
3552 OKC_API.set_message(p_app_name => g_app_name,
3553 p_msg_name => g_unexpected_error,
3554 p_token1 => g_sqlcode_token,
3555 p_token1_value => sqlcode,
3556 p_token2 => g_sqlerrm_token,
3557 p_token2_value => sqlerrm);
3558 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3559 END VALID_IA_STARTEND;
3560
3561 PROCEDURE CREATE_IA_STARTEND(
3562 p_api_version IN NUMBER,
3563 p_init_msg_list IN VARCHAR2 ,
3564 x_return_status OUT NOCOPY VARCHAR2,
3565 x_msg_count OUT NOCOPY NUMBER,
3566 x_msg_data OUT NOCOPY VARCHAR2,
3567 p_isev_rel_rec IN isev_rel_rec_type,
3568 x_isev_rel_rec OUT NOCOPY isev_rel_rec_type) IS
3569 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_IA_STARTEND';
3570 l_return_status VARCHAR2(1);
3571 l_isev_rel_rec isev_rel_rec_type := p_isev_rel_rec;
3572 BEGIN
3573 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3574 p_init_msg_list,
3575 '_PUB',
3576 x_return_status);
3577 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3578 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3579 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3580 raise OKC_API.G_EXCEPTION_ERROR;
3581 END IF;
3582 -- Call user hook for BEFORE
3583 g_isev_rel_rec := l_isev_rel_rec;
3584 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3585 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3586 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3587 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3588 raise OKC_API.G_EXCEPTION_ERROR;
3589 END IF;
3590 l_isev_rel_rec := migrate_isev(l_isev_rel_rec, g_isev_rel_rec);
3591 OKC_TIME_PVT.CREATE_IA_STARTEND(
3592 p_api_version,
3593 p_init_msg_list,
3594 x_return_status,
3595 x_msg_count,
3596 x_msg_data,
3597 p_isev_rel_rec,
3598 x_isev_rel_rec);
3599 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3600 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3601 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3602 raise OKC_API.G_EXCEPTION_ERROR;
3603 END IF;
3604
3605 -- Call user hook for AFTER
3606 g_isev_rel_rec := x_isev_rel_rec;
3607 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3608 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3609 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3610 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3611 raise OKC_API.G_EXCEPTION_ERROR;
3612 END IF;
3613 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3614 EXCEPTION
3615 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3616 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3617 (l_api_name,
3618 G_PKG_NAME,
3619 'OKC_API.G_RET_STS_ERROR',
3620 x_msg_count,
3621 x_msg_data,
3622 '_PUB');
3623 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3624 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3625 (l_api_name,
3626 G_PKG_NAME,
3627 'OKC_API.G_RET_STS_UNEXP_ERROR',
3628 x_msg_count,
3629 x_msg_data,
3630 '_PUB');
3631 WHEN OTHERS THEN
3632 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3633 (l_api_name,
3634 G_PKG_NAME,
3635 'OTHERS',
3636 x_msg_count,
3637 x_msg_data,
3638 '_PUB');
3639 END CREATE_IA_STARTEND;
3640
3641 PROCEDURE CREATE_IA_STARTEND(
3642 p_api_version IN NUMBER,
3643 p_init_msg_list IN VARCHAR2 ,
3644 x_return_status OUT NOCOPY VARCHAR2,
3645 x_msg_count OUT NOCOPY NUMBER,
3646 x_msg_data OUT NOCOPY VARCHAR2,
3647 p_isev_rel_tbl IN isev_rel_tbl_type,
3648 x_isev_rel_tbl OUT NOCOPY isev_rel_tbl_type) IS
3649 i NUMBER := 0;
3650 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3651 BEGIN
3652 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3653 IF p_isev_rel_tbl.COUNT > 0 THEN
3654 i := p_isev_rel_tbl.FIRST;
3655 LOOP
3656 CREATE_IA_STARTEND(
3657 p_api_version,
3658 p_init_msg_list,
3659 l_return_status,
3660 x_msg_count,
3661 x_msg_data,
3662 p_isev_rel_tbl(i),
3663 x_isev_rel_tbl(i));
3664 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3665 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3666 x_return_status := l_return_status;
3667 raise G_EXCEPTION_HALT_VALIDATION;
3668 ELSE
3669 x_return_status := l_return_status;
3670 END IF;
3671 END IF;
3672 EXIT WHEN (i = p_isev_rel_tbl.LAST);
3673 i := p_isev_rel_tbl.Next(i);
3674 END LOOP;
3675 END IF;
3676 EXCEPTION
3677 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3678 NULL;
3679 WHEN OTHERS THEN
3680 OKC_API.set_message(p_app_name => g_app_name,
3681 p_msg_name => g_unexpected_error,
3682 p_token1 => g_sqlcode_token,
3683 p_token1_value => sqlcode,
3684 p_token2 => g_sqlerrm_token,
3685 p_token2_value => sqlerrm);
3686 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3687 END CREATE_IA_STARTEND;
3688
3689 PROCEDURE UPDATE_IA_STARTEND(
3690 p_api_version IN NUMBER,
3691 p_init_msg_list IN VARCHAR2 ,
3692 x_return_status OUT NOCOPY VARCHAR2,
3693 x_msg_count OUT NOCOPY NUMBER,
3694 x_msg_data OUT NOCOPY VARCHAR2,
3695 p_isev_rel_rec IN isev_rel_rec_type,
3696 x_isev_rel_rec OUT NOCOPY isev_rel_rec_type) IS
3697 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_IA_STARTEND';
3698 l_return_status VARCHAR2(1);
3699 l_isev_rel_rec isev_rel_rec_type := p_isev_rel_rec;
3700 BEGIN
3701 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3702 p_init_msg_list,
3703 '_PUB',
3704 x_return_status);
3705 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3706 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3707 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3708 raise OKC_API.G_EXCEPTION_ERROR;
3709 END IF;
3710 -- Call user hook for BEFORE
3711 g_isev_rel_rec := l_isev_rel_rec;
3712 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3713 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3714 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3715 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3716 raise OKC_API.G_EXCEPTION_ERROR;
3717 END IF;
3718 l_isev_rel_rec := migrate_isev(l_isev_rel_rec, g_isev_rel_rec);
3719 OKC_TIME_PVT.UPDATE_IA_STARTEND(
3720 p_api_version,
3721 p_init_msg_list,
3722 x_return_status,
3723 x_msg_count,
3724 x_msg_data,
3725 p_isev_rel_rec,
3726 x_isev_rel_rec);
3727 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3728 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3729 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3730 raise OKC_API.G_EXCEPTION_ERROR;
3731 END IF;
3732
3733 -- Call user hook for AFTER
3734 g_isev_rel_rec := x_isev_rel_rec;
3735 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3736 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3737 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3738 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3739 raise OKC_API.G_EXCEPTION_ERROR;
3740 END IF;
3741 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3742 EXCEPTION
3743 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3744 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3745 (l_api_name,
3746 G_PKG_NAME,
3747 'OKC_API.G_RET_STS_ERROR',
3748 x_msg_count,
3749 x_msg_data,
3750 '_PUB');
3751 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3752 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3753 (l_api_name,
3754 G_PKG_NAME,
3755 'OKC_API.G_RET_STS_UNEXP_ERROR',
3756 x_msg_count,
3757 x_msg_data,
3758 '_PUB');
3759 WHEN OTHERS THEN
3760 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3761 (l_api_name,
3762 G_PKG_NAME,
3763 'OTHERS',
3764 x_msg_count,
3765 x_msg_data,
3766 '_PUB');
3767 END UPDATE_IA_STARTEND;
3768
3769 PROCEDURE UPDATE_IA_STARTEND(
3770 p_api_version IN NUMBER,
3771 p_init_msg_list IN VARCHAR2 ,
3772 x_return_status OUT NOCOPY VARCHAR2,
3773 x_msg_count OUT NOCOPY NUMBER,
3774 x_msg_data OUT NOCOPY VARCHAR2,
3775 p_isev_rel_tbl IN isev_rel_tbl_type,
3776 x_isev_rel_tbl OUT NOCOPY isev_rel_tbl_type) IS
3777 i NUMBER := 0;
3778 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3779 BEGIN
3780 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3781 IF p_isev_rel_tbl.COUNT > 0 THEN
3782 i := p_isev_rel_tbl.FIRST;
3783 LOOP
3784 UPDATE_IA_STARTEND(
3785 p_api_version,
3786 p_init_msg_list,
3787 l_return_status,
3788 x_msg_count,
3789 x_msg_data,
3790 p_isev_rel_tbl(i),
3791 x_isev_rel_tbl(i));
3792 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3793 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3794 x_return_status := l_return_status;
3795 raise G_EXCEPTION_HALT_VALIDATION;
3796 ELSE
3797 x_return_status := l_return_status;
3798 END IF;
3799 END IF;
3800 EXIT WHEN (i = p_isev_rel_tbl.LAST);
3801 i := p_isev_rel_tbl.Next(i);
3802 END LOOP;
3803 END IF;
3804 EXCEPTION
3805 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3806 NULL;
3807 WHEN OTHERS THEN
3808 OKC_API.set_message(p_app_name => g_app_name,
3809 p_msg_name => g_unexpected_error,
3810 p_token1 => g_sqlcode_token,
3811 p_token1_value => sqlcode,
3812 p_token2 => g_sqlerrm_token,
3813 p_token2_value => sqlerrm);
3814 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3815 END UPDATE_IA_STARTEND;
3816
3817 PROCEDURE DELETE_IA_STARTEND(
3818 p_api_version IN NUMBER,
3819 p_init_msg_list IN VARCHAR2 ,
3820 x_return_status OUT NOCOPY VARCHAR2,
3821 x_msg_count OUT NOCOPY NUMBER,
3822 x_msg_data OUT NOCOPY VARCHAR2,
3823 p_isev_rel_rec IN isev_rel_rec_type) IS
3824 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_IA_STARTEND';
3825 l_return_status VARCHAR2(1);
3826 l_isev_rel_rec isev_rel_rec_type := p_isev_rel_rec;
3827 BEGIN
3828 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3829 p_init_msg_list,
3830 '_PUB',
3831 x_return_status);
3832 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3833 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3834 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3835 raise OKC_API.G_EXCEPTION_ERROR;
3836 END IF;
3837 -- Call user hook for BEFORE
3838 g_isev_rel_rec := l_isev_rel_rec;
3839 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3840 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3841 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3842 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3843 raise OKC_API.G_EXCEPTION_ERROR;
3844 END IF;
3845 OKC_TIME_PVT.DELETE_IA_STARTEND(
3846 p_api_version,
3847 p_init_msg_list,
3848 x_return_status,
3849 x_msg_count,
3850 x_msg_data,
3851 p_isev_rel_rec);
3852 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3853 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3854 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3855 raise OKC_API.G_EXCEPTION_ERROR;
3856 END IF;
3857
3858 -- Call user hook for AFTER
3859 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3860 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3861 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3862 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3863 raise OKC_API.G_EXCEPTION_ERROR;
3864 END IF;
3865 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3866 EXCEPTION
3867 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3868 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3869 (l_api_name,
3870 G_PKG_NAME,
3871 'OKC_API.G_RET_STS_ERROR',
3872 x_msg_count,
3873 x_msg_data,
3874 '_PUB');
3875 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3876 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3877 (l_api_name,
3878 G_PKG_NAME,
3879 'OKC_API.G_RET_STS_UNEXP_ERROR',
3880 x_msg_count,
3881 x_msg_data,
3882 '_PUB');
3883 WHEN OTHERS THEN
3884 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3885 (l_api_name,
3886 G_PKG_NAME,
3887 'OTHERS',
3888 x_msg_count,
3889 x_msg_data,
3890 '_PUB');
3891 END DELETE_IA_STARTEND;
3892
3893 PROCEDURE DELETE_IA_STARTEND(
3894 p_api_version IN NUMBER,
3895 p_init_msg_list IN VARCHAR2 ,
3896 x_return_status OUT NOCOPY VARCHAR2,
3897 x_msg_count OUT NOCOPY NUMBER,
3898 x_msg_data OUT NOCOPY VARCHAR2,
3899 p_isev_rel_tbl IN isev_rel_tbl_type) IS
3900 i NUMBER := 0;
3901 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3902 BEGIN
3903 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3904 IF p_isev_rel_tbl.COUNT > 0 THEN
3905 i := p_isev_rel_tbl.FIRST;
3906 LOOP
3907 DELETE_IA_STARTEND(
3908 p_api_version,
3909 p_init_msg_list,
3910 l_return_status,
3911 x_msg_count,
3912 x_msg_data,
3913 p_isev_rel_tbl(i));
3914 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3915 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3916 x_return_status := l_return_status;
3917 raise G_EXCEPTION_HALT_VALIDATION;
3918 ELSE
3919 x_return_status := l_return_status;
3920 END IF;
3921 END IF;
3922 EXIT WHEN (i = p_isev_rel_tbl.LAST);
3923 i := p_isev_rel_tbl.Next(i);
3924 END LOOP;
3925 END IF;
3926 EXCEPTION
3927 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3928 NULL;
3929 WHEN OTHERS THEN
3930 OKC_API.set_message(p_app_name => g_app_name,
3931 p_msg_name => g_unexpected_error,
3932 p_token1 => g_sqlcode_token,
3933 p_token1_value => sqlcode,
3934 p_token2 => g_sqlerrm_token,
3935 p_token2_value => sqlerrm);
3936 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3937 END DELETE_IA_STARTEND;
3938
3939 PROCEDURE LOCK_IA_STARTEND(
3940 p_api_version IN NUMBER,
3941 p_init_msg_list IN VARCHAR2 ,
3942 x_return_status OUT NOCOPY VARCHAR2,
3943 x_msg_count OUT NOCOPY NUMBER,
3944 x_msg_data OUT NOCOPY VARCHAR2,
3945 p_isev_rel_rec IN isev_rel_rec_type) IS
3946 BEGIN
3947 OKC_TIME_PVT.LOCK_IA_STARTEND(
3948 p_api_version,
3949 p_init_msg_list,
3950 x_return_status,
3951 x_msg_count,
3952 x_msg_data,
3953 p_isev_rel_rec);
3954 END LOCK_IA_STARTEND;
3955
3956 PROCEDURE LOCK_IA_STARTEND(
3957 p_api_version IN NUMBER,
3958 p_init_msg_list IN VARCHAR2 ,
3959 x_return_status OUT NOCOPY VARCHAR2,
3960 x_msg_count OUT NOCOPY NUMBER,
3961 x_msg_data OUT NOCOPY VARCHAR2,
3962 p_isev_rel_tbl IN isev_rel_tbl_type) IS
3963 i NUMBER := 0;
3964 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3965 BEGIN
3966 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3967 IF p_isev_rel_tbl.COUNT > 0 THEN
3968 i := p_isev_rel_tbl.FIRST;
3969 LOOP
3970 LOCK_IA_STARTEND(
3971 p_api_version,
3972 p_init_msg_list,
3973 l_return_status,
3974 x_msg_count,
3975 x_msg_data,
3976 p_isev_rel_tbl(i));
3977 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3978 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3979 x_return_status := l_return_status;
3980 raise G_EXCEPTION_HALT_VALIDATION;
3981 ELSE
3982 x_return_status := l_return_status;
3983 END IF;
3984 END IF;
3985 EXIT WHEN (i = p_isev_rel_tbl.LAST);
3986 i := p_isev_rel_tbl.Next(i);
3987 END LOOP;
3988 END IF;
3989 EXCEPTION
3990 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3991 NULL;
3992 WHEN OTHERS THEN
3993 OKC_API.set_message(p_app_name => g_app_name,
3994 p_msg_name => g_unexpected_error,
3995 p_token1 => g_sqlcode_token,
3996 p_token1_value => sqlcode,
3997 p_token2 => g_sqlerrm_token,
3998 p_token2_value => sqlerrm);
3999 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4000 END LOCK_IA_STARTEND;
4001
4002 PROCEDURE VALID_IA_STARTEND(
4003 p_api_version IN NUMBER,
4004 p_init_msg_list IN VARCHAR2 ,
4005 x_return_status OUT NOCOPY VARCHAR2,
4006 x_msg_count OUT NOCOPY NUMBER,
4007 x_msg_data OUT NOCOPY VARCHAR2,
4008 p_isev_rel_rec IN isev_rel_rec_type) IS
4009 BEGIN
4010 OKC_TIME_PVT.VALID_IA_STARTEND(
4011 p_api_version,
4012 p_init_msg_list,
4013 x_return_status,
4014 x_msg_count,
4015 x_msg_data,
4016 p_isev_rel_rec);
4017 END VALID_IA_STARTEND;
4018
4019 PROCEDURE VALID_IA_STARTEND(
4020 p_api_version IN NUMBER,
4021 p_init_msg_list IN VARCHAR2 ,
4022 x_return_status OUT NOCOPY VARCHAR2,
4023 x_msg_count OUT NOCOPY NUMBER,
4024 x_msg_data OUT NOCOPY VARCHAR2,
4025 p_isev_rel_tbl IN isev_rel_tbl_type) IS
4026 i NUMBER := 0;
4027 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4028 BEGIN
4029 x_return_status := OKC_API.G_RET_STS_SUCCESS;
4030 IF p_isev_rel_tbl.COUNT > 0 THEN
4031 i := p_isev_rel_tbl.FIRST;
4032 LOOP
4033 VALID_IA_STARTEND(
4034 p_api_version,
4035 p_init_msg_list,
4036 l_return_status,
4037 x_msg_count,
4038 x_msg_data,
4039 p_isev_rel_tbl(i));
4040 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4041 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4042 x_return_status := l_return_status;
4043 raise G_EXCEPTION_HALT_VALIDATION;
4044 ELSE
4045 x_return_status := l_return_status;
4046 END IF;
4047 END IF;
4048 EXIT WHEN (i = p_isev_rel_tbl.LAST);
4049 i := p_isev_rel_tbl.Next(i);
4050 END LOOP;
4051 END IF;
4052 EXCEPTION
4053 WHEN G_EXCEPTION_HALT_VALIDATION THEN
4054 NULL;
4055 WHEN OTHERS THEN
4056 OKC_API.set_message(p_app_name => g_app_name,
4057 p_msg_name => g_unexpected_error,
4058 p_token1 => g_sqlcode_token,
4059 p_token1_value => sqlcode,
4060 p_token2 => g_sqlerrm_token,
4061 p_token2_value => sqlerrm);
4062 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4063 END VALID_IA_STARTEND;
4064
4065 --------------------------------------------------------------------------
4066 ---The following procedures cater to handling of OKC_TIME_IG_STARTEND
4067 --------------------------------------------------------------------------
4068
4069 FUNCTION migrate_igsv(p_igsv_ext_rec1 IN igsv_ext_rec_type,
4070 p_igsv_ext_rec2 IN igsv_ext_rec_type)
4071 RETURN igsv_ext_rec_type IS
4072 l_igsv_ext_rec igsv_ext_rec_type;
4073 BEGIN
4074 l_igsv_ext_rec.id := p_igsv_ext_rec1.id;
4075 l_igsv_ext_rec.object_version_number := p_igsv_ext_rec1.object_version_number;
4076 l_igsv_ext_rec.created_by := p_igsv_ext_rec1.created_by;
4077 l_igsv_ext_rec.creation_date := p_igsv_ext_rec1.creation_date;
4078 l_igsv_ext_rec.last_updated_by := p_igsv_ext_rec1.last_updated_by;
4079 l_igsv_ext_rec.last_update_date := p_igsv_ext_rec1.last_update_date;
4080 l_igsv_ext_rec.last_update_login := p_igsv_ext_rec1.last_update_login;
4081 l_igsv_ext_rec.tze_id := p_igsv_ext_rec2.tze_id;
4082 l_igsv_ext_rec.sfwt_flag := p_igsv_ext_rec2.sfwt_flag;
4083 l_igsv_ext_rec.dnz_chr_id := p_igsv_ext_rec2.dnz_chr_id;
4084 l_igsv_ext_rec.tve_id_limited := p_igsv_ext_rec2.tve_id_limited;
4085 l_igsv_ext_rec.tve_id_started := p_igsv_ext_rec2.tve_id_started;
4086 l_igsv_ext_rec.tve_id_ended := p_igsv_ext_rec2.tve_id_ended;
4087 l_igsv_ext_rec.short_description := p_igsv_ext_rec2.short_description;
4088 l_igsv_ext_rec.description := p_igsv_ext_rec2.description;
4089 l_igsv_ext_rec.comments := p_igsv_ext_rec2.comments;
4090 l_igsv_ext_rec.attribute_category := p_igsv_ext_rec2.attribute_category;
4091 l_igsv_ext_rec.attribute1 := p_igsv_ext_rec2.attribute1;
4092 l_igsv_ext_rec.attribute2 := p_igsv_ext_rec2.attribute2;
4093 l_igsv_ext_rec.attribute3 := p_igsv_ext_rec2.attribute3;
4094 l_igsv_ext_rec.attribute4 := p_igsv_ext_rec2.attribute4;
4095 l_igsv_ext_rec.attribute5 := p_igsv_ext_rec2.attribute5;
4096 l_igsv_ext_rec.attribute6 := p_igsv_ext_rec2.attribute6;
4097 l_igsv_ext_rec.attribute7 := p_igsv_ext_rec2.attribute7;
4098 l_igsv_ext_rec.attribute8 := p_igsv_ext_rec2.attribute8;
4099 l_igsv_ext_rec.attribute9 := p_igsv_ext_rec2.attribute9;
4100 l_igsv_ext_rec.attribute10 := p_igsv_ext_rec2.attribute10;
4101 l_igsv_ext_rec.attribute11 := p_igsv_ext_rec2.attribute11;
4102 l_igsv_ext_rec.attribute12 := p_igsv_ext_rec2.attribute12;
4103 l_igsv_ext_rec.attribute13 := p_igsv_ext_rec2.attribute13;
4104 l_igsv_ext_rec.attribute14 := p_igsv_ext_rec2.attribute14;
4105 l_igsv_ext_rec.attribute15 := p_igsv_ext_rec2.attribute15;
4106 RETURN (l_igsv_ext_rec);
4107 END migrate_igsv;
4108
4109 FUNCTION migrate_igsv(p_igsv_ext_tbl1 IN igsv_ext_tbl_type,
4110 p_igsv_ext_tbl2 IN igsv_ext_tbl_type)
4111 RETURN igsv_ext_tbl_type IS
4112 l_igsv_ext_tbl igsv_ext_tbl_type;
4113 i NUMBER := 0;
4114 j NUMBER := 0;
4115 BEGIN
4116 -- If the user hook deleted some records or added some new records in the table,
4117 -- discard the change and simply copy the original table.
4118 IF p_igsv_ext_tbl1.COUNT <> p_igsv_ext_tbl2.COUNT THEN
4119 l_igsv_ext_tbl := p_igsv_ext_tbl1;
4120 ELSE
4121 IF (p_igsv_ext_tbl1.COUNT > 0) THEN
4122 i := p_igsv_ext_tbl1.FIRST;
4123 j := p_igsv_ext_tbl2.FIRST;
4124 LOOP
4125 l_igsv_ext_tbl(i) := migrate_igsv(p_igsv_ext_tbl1(i), p_igsv_ext_tbl2(j));
4126 EXIT WHEN (i = p_igsv_ext_tbl1.LAST);
4127 i := p_igsv_ext_tbl1.NEXT(i);
4128 j := p_igsv_ext_tbl2.NEXT(j);
4129 END LOOP;
4130 END IF;
4131 END IF;
4132 RETURN (l_igsv_ext_tbl);
4133 END migrate_igsv;
4134
4135 PROCEDURE CREATE_IG_STARTEND(
4136 p_api_version IN NUMBER,
4137 p_init_msg_list IN VARCHAR2 ,
4138 x_return_status OUT NOCOPY VARCHAR2,
4139 x_msg_count OUT NOCOPY NUMBER,
4140 x_msg_data OUT NOCOPY VARCHAR2,
4141 p_igsv_ext_rec IN igsv_ext_rec_type,
4142 x_igsv_ext_rec OUT NOCOPY igsv_ext_rec_type) IS
4143 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_IG_STARTEND';
4144 l_return_status VARCHAR2(1);
4145 l_igsv_ext_rec igsv_ext_rec_type := p_igsv_ext_rec;
4146 BEGIN
4147 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4148 p_init_msg_list,
4149 '_PUB',
4150 x_return_status);
4151 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4152 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4153 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4154 raise OKC_API.G_EXCEPTION_ERROR;
4155 END IF;
4156 -- Call user hook for BEFORE
4157 g_igsv_ext_rec := l_igsv_ext_rec;
4158 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
4159 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4160 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4161 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4162 raise OKC_API.G_EXCEPTION_ERROR;
4163 END IF;
4164 l_igsv_ext_rec := migrate_igsv(l_igsv_ext_rec, g_igsv_ext_rec);
4165 OKC_TIME_PVT.CREATE_IG_STARTEND(
4166 p_api_version,
4167 p_init_msg_list,
4168 x_return_status,
4169 x_msg_count,
4170 x_msg_data,
4171 p_igsv_ext_rec,
4172 x_igsv_ext_rec);
4173 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4174 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4175 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4176 raise OKC_API.G_EXCEPTION_ERROR;
4177 END IF;
4178
4179 -- Call user hook for AFTER
4180 g_igsv_ext_rec := x_igsv_ext_rec;
4181 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
4182 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4183 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4184 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4185 raise OKC_API.G_EXCEPTION_ERROR;
4186 END IF;
4187 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4188 EXCEPTION
4189 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4190 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4191 (l_api_name,
4192 G_PKG_NAME,
4193 'OKC_API.G_RET_STS_ERROR',
4194 x_msg_count,
4195 x_msg_data,
4196 '_PUB');
4197 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4198 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4199 (l_api_name,
4200 G_PKG_NAME,
4201 'OKC_API.G_RET_STS_UNEXP_ERROR',
4202 x_msg_count,
4203 x_msg_data,
4204 '_PUB');
4205 WHEN OTHERS THEN
4206 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4207 (l_api_name,
4208 G_PKG_NAME,
4209 'OTHERS',
4210 x_msg_count,
4211 x_msg_data,
4212 '_PUB');
4213 END CREATE_IG_STARTEND;
4214
4215 PROCEDURE CREATE_IG_STARTEND(
4216 p_api_version IN NUMBER,
4217 p_init_msg_list IN VARCHAR2 ,
4218 x_return_status OUT NOCOPY VARCHAR2,
4219 x_msg_count OUT NOCOPY NUMBER,
4220 x_msg_data OUT NOCOPY VARCHAR2,
4221 p_igsv_ext_tbl IN igsv_ext_tbl_type,
4222 x_igsv_ext_tbl OUT NOCOPY igsv_ext_tbl_type) IS
4223 i NUMBER := 0;
4224 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4225 BEGIN
4226 x_return_status := OKC_API.G_RET_STS_SUCCESS;
4227 IF p_igsv_ext_tbl.COUNT > 0 THEN
4228 i := p_igsv_ext_tbl.FIRST;
4229 LOOP
4230 CREATE_IG_STARTEND(
4231 p_api_version,
4232 p_init_msg_list,
4233 l_return_status,
4234 x_msg_count,
4235 x_msg_data,
4236 p_igsv_ext_tbl(i),
4237 x_igsv_ext_tbl(i));
4238 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4239 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4240 x_return_status := l_return_status;
4241 raise G_EXCEPTION_HALT_VALIDATION;
4242 ELSE
4243 x_return_status := l_return_status;
4244 END IF;
4245 END IF;
4246 EXIT WHEN (i = p_igsv_ext_tbl.LAST);
4247 i := p_igsv_ext_tbl.NEXT(i);
4248 END LOOP;
4249 END IF;
4250 EXCEPTION
4251 WHEN G_EXCEPTION_HALT_VALIDATION THEN
4252 NULL;
4253 WHEN OTHERS THEN
4254 OKC_API.set_message(p_app_name => g_app_name,
4255 p_msg_name => g_unexpected_error,
4256 p_token1 => g_sqlcode_token,
4257 p_token1_value => sqlcode,
4258 p_token2 => g_sqlerrm_token,
4259 p_token2_value => sqlerrm);
4260 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4261 END CREATE_IG_STARTEND;
4262
4263 PROCEDURE UPDATE_IG_STARTEND(
4264 p_api_version IN NUMBER,
4265 p_init_msg_list IN VARCHAR2 ,
4266 x_return_status OUT NOCOPY VARCHAR2,
4267 x_msg_count OUT NOCOPY NUMBER,
4268 x_msg_data OUT NOCOPY VARCHAR2,
4269 p_igsv_ext_rec IN igsv_ext_rec_type,
4270 x_igsv_ext_rec OUT NOCOPY igsv_ext_rec_type) IS
4271 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_IG_STARTEND';
4272 l_return_status VARCHAR2(1);
4273 l_igsv_ext_rec igsv_ext_rec_type := p_igsv_ext_rec;
4274 BEGIN
4275 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4276 p_init_msg_list,
4277 '_PUB',
4278 x_return_status);
4279 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4280 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4281 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4282 raise OKC_API.G_EXCEPTION_ERROR;
4283 END IF;
4284 -- Call user hook for BEFORE
4285 g_igsv_ext_rec := l_igsv_ext_rec;
4286 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
4287 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4288 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4289 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4290 raise OKC_API.G_EXCEPTION_ERROR;
4291 END IF;
4292 l_igsv_ext_rec := migrate_igsv(l_igsv_ext_rec, g_igsv_ext_rec);
4293 OKC_TIME_PVT.UPDATE_IG_STARTEND(
4294 p_api_version,
4295 p_init_msg_list,
4296 x_return_status,
4297 x_msg_count,
4298 x_msg_data,
4299 p_igsv_ext_rec,
4300 x_igsv_ext_rec);
4301 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4302 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4303 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4304 raise OKC_API.G_EXCEPTION_ERROR;
4305 END IF;
4306
4307 -- Call user hook for AFTER
4308 g_igsv_ext_rec := x_igsv_ext_rec;
4309 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
4310 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4311 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4312 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4313 raise OKC_API.G_EXCEPTION_ERROR;
4314 END IF;
4315 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4316 EXCEPTION
4317 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4318 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4319 (l_api_name,
4320 G_PKG_NAME,
4321 'OKC_API.G_RET_STS_ERROR',
4322 x_msg_count,
4323 x_msg_data,
4324 '_PUB');
4325 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4326 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4327 (l_api_name,
4328 G_PKG_NAME,
4329 'OKC_API.G_RET_STS_UNEXP_ERROR',
4330 x_msg_count,
4331 x_msg_data,
4332 '_PUB');
4333 WHEN OTHERS THEN
4334 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4335 (l_api_name,
4336 G_PKG_NAME,
4337 'OTHERS',
4338 x_msg_count,
4339 x_msg_data,
4340 '_PUB');
4341 END UPDATE_IG_STARTEND;
4342
4343 PROCEDURE UPDATE_IG_STARTEND(
4344 p_api_version IN NUMBER,
4345 p_init_msg_list IN VARCHAR2 ,
4346 x_return_status OUT NOCOPY VARCHAR2,
4347 x_msg_count OUT NOCOPY NUMBER,
4348 x_msg_data OUT NOCOPY VARCHAR2,
4349 p_igsv_ext_tbl IN igsv_ext_tbl_type,
4350 x_igsv_ext_tbl OUT NOCOPY igsv_ext_tbl_type) IS
4351 i NUMBER := 0;
4352 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4353 BEGIN
4354 x_return_status := OKC_API.G_RET_STS_SUCCESS;
4355 IF p_igsv_ext_tbl.COUNT > 0 THEN
4356 i := p_igsv_ext_tbl.FIRST;
4357 LOOP
4358 UPDATE_IG_STARTEND(
4359 p_api_version,
4360 p_init_msg_list,
4361 l_return_status,
4362 x_msg_count,
4363 x_msg_data,
4364 p_igsv_ext_tbl(i),
4365 x_igsv_ext_tbl(i));
4366 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4367 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4368 x_return_status := l_return_status;
4369 raise G_EXCEPTION_HALT_VALIDATION;
4370 ELSE
4371 x_return_status := l_return_status;
4372 END IF;
4373 END IF;
4374 EXIT WHEN (i = p_igsv_ext_tbl.LAST);
4375 i := p_igsv_ext_tbl.NEXT(i);
4376 END LOOP;
4377 END IF;
4378 EXCEPTION
4379 WHEN G_EXCEPTION_HALT_VALIDATION THEN
4380 NULL;
4381 WHEN OTHERS THEN
4382 OKC_API.set_message(p_app_name => g_app_name,
4383 p_msg_name => g_unexpected_error,
4384 p_token1 => g_sqlcode_token,
4385 p_token1_value => sqlcode,
4386 p_token2 => g_sqlerrm_token,
4387 p_token2_value => sqlerrm);
4388 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4389 END UPDATE_IG_STARTEND;
4390
4391 PROCEDURE DELETE_IG_STARTEND(
4392 p_api_version IN NUMBER,
4393 p_init_msg_list IN VARCHAR2 ,
4394 x_return_status OUT NOCOPY VARCHAR2,
4395 x_msg_count OUT NOCOPY NUMBER,
4396 x_msg_data OUT NOCOPY VARCHAR2,
4397 p_igsv_ext_rec IN igsv_ext_rec_type) IS
4398 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_IG_STARTEND';
4399 l_return_status VARCHAR2(1);
4400 l_igsv_ext_rec igsv_ext_rec_type := p_igsv_ext_rec;
4401 BEGIN
4402 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4403 p_init_msg_list,
4404 '_PUB',
4405 x_return_status);
4406 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4407 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4408 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4409 raise OKC_API.G_EXCEPTION_ERROR;
4410 END IF;
4411 -- Call user hook for BEFORE
4412 g_igsv_ext_rec := l_igsv_ext_rec;
4413 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
4414 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4415 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4416 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4417 raise OKC_API.G_EXCEPTION_ERROR;
4418 END IF;
4419 OKC_TIME_PVT.DELETE_IG_STARTEND(
4420 p_api_version,
4421 p_init_msg_list,
4422 x_return_status,
4423 x_msg_count,
4424 x_msg_data,
4425 p_igsv_ext_rec);
4426 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4427 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4428 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4429 raise OKC_API.G_EXCEPTION_ERROR;
4430 END IF;
4431
4432 -- Call user hook for AFTER
4433 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
4434 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4435 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4436 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4437 raise OKC_API.G_EXCEPTION_ERROR;
4438 END IF;
4439 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4440 EXCEPTION
4441 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4442 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4443 (l_api_name,
4444 G_PKG_NAME,
4445 'OKC_API.G_RET_STS_ERROR',
4446 x_msg_count,
4447 x_msg_data,
4448 '_PUB');
4449 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4450 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4451 (l_api_name,
4452 G_PKG_NAME,
4453 'OKC_API.G_RET_STS_UNEXP_ERROR',
4454 x_msg_count,
4455 x_msg_data,
4456 '_PUB');
4457 WHEN OTHERS THEN
4458 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4459 (l_api_name,
4460 G_PKG_NAME,
4461 'OTHERS',
4462 x_msg_count,
4463 x_msg_data,
4464 '_PUB');
4465 END DELETE_IG_STARTEND;
4466
4467 PROCEDURE DELETE_IG_STARTEND(
4468 p_api_version IN NUMBER,
4469 p_init_msg_list IN VARCHAR2 ,
4470 x_return_status OUT NOCOPY VARCHAR2,
4471 x_msg_count OUT NOCOPY NUMBER,
4472 x_msg_data OUT NOCOPY VARCHAR2,
4473 p_igsv_ext_tbl IN igsv_ext_tbl_type) IS
4474 i NUMBER := 0;
4475 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4476 BEGIN
4477 x_return_status := OKC_API.G_RET_STS_SUCCESS;
4478 IF p_igsv_ext_tbl.COUNT > 0 THEN
4479 i := p_igsv_ext_tbl.FIRST;
4480 LOOP
4481 DELETE_IG_STARTEND(
4482 p_api_version,
4483 p_init_msg_list,
4484 l_return_status,
4485 x_msg_count,
4486 x_msg_data,
4487 p_igsv_ext_tbl(i));
4488 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4489 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4490 x_return_status := l_return_status;
4491 raise G_EXCEPTION_HALT_VALIDATION;
4492 ELSE
4493 x_return_status := l_return_status;
4494 END IF;
4495 END IF;
4496 EXIT WHEN (i = p_igsv_ext_tbl.LAST);
4497 i := p_igsv_ext_tbl.NEXT(i);
4498 END LOOP;
4499 END IF;
4500 EXCEPTION
4501 WHEN G_EXCEPTION_HALT_VALIDATION THEN
4502 NULL;
4503 WHEN OTHERS THEN
4504 OKC_API.set_message(p_app_name => g_app_name,
4505 p_msg_name => g_unexpected_error,
4506 p_token1 => g_sqlcode_token,
4507 p_token1_value => sqlcode,
4508 p_token2 => g_sqlerrm_token,
4509 p_token2_value => sqlerrm);
4510 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4511 END DELETE_IG_STARTEND;
4512
4513 PROCEDURE LOCK_IG_STARTEND(
4514 p_api_version IN NUMBER,
4515 p_init_msg_list IN VARCHAR2 ,
4516 x_return_status OUT NOCOPY VARCHAR2,
4517 x_msg_count OUT NOCOPY NUMBER,
4518 x_msg_data OUT NOCOPY VARCHAR2,
4519 p_igsv_ext_rec IN igsv_ext_rec_type) IS
4520 BEGIN
4521 OKC_TIME_PVT.LOCK_IG_STARTEND(
4522 p_api_version,
4523 p_init_msg_list,
4524 x_return_status,
4525 x_msg_count,
4526 x_msg_data,
4527 p_igsv_ext_rec);
4528 END LOCK_IG_STARTEND;
4529
4530 PROCEDURE LOCK_IG_STARTEND(
4531 p_api_version IN NUMBER,
4532 p_init_msg_list IN VARCHAR2 ,
4533 x_return_status OUT NOCOPY VARCHAR2,
4534 x_msg_count OUT NOCOPY NUMBER,
4535 x_msg_data OUT NOCOPY VARCHAR2,
4536 p_igsv_ext_tbl IN igsv_ext_tbl_type) IS
4537 i NUMBER := 0;
4538 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4539 BEGIN
4540 x_return_status := OKC_API.G_RET_STS_SUCCESS;
4541 IF p_igsv_ext_tbl.COUNT > 0 THEN
4542 i := p_igsv_ext_tbl.FIRST;
4543 LOOP
4544 LOCK_IG_STARTEND(
4545 p_api_version,
4546 p_init_msg_list,
4547 l_return_status,
4548 x_msg_count,
4549 x_msg_data,
4550 p_igsv_ext_tbl(i));
4551 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4552 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4553 x_return_status := l_return_status;
4554 raise G_EXCEPTION_HALT_VALIDATION;
4555 ELSE
4556 x_return_status := l_return_status;
4557 END IF;
4558 END IF;
4559 EXIT WHEN (i = p_igsv_ext_tbl.LAST);
4560 i := p_igsv_ext_tbl.NEXT(i);
4561 END LOOP;
4562 END IF;
4563 EXCEPTION
4564 WHEN G_EXCEPTION_HALT_VALIDATION THEN
4565 NULL;
4566 WHEN OTHERS THEN
4567 OKC_API.set_message(p_app_name => g_app_name,
4568 p_msg_name => g_unexpected_error,
4569 p_token1 => g_sqlcode_token,
4570 p_token1_value => sqlcode,
4571 p_token2 => g_sqlerrm_token,
4572 p_token2_value => sqlerrm);
4573 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4574 END LOCK_IG_STARTEND;
4575
4576 PROCEDURE VALID_IG_STARTEND(
4577 p_api_version IN NUMBER,
4578 p_init_msg_list IN VARCHAR2 ,
4579 x_return_status OUT NOCOPY VARCHAR2,
4580 x_msg_count OUT NOCOPY NUMBER,
4581 x_msg_data OUT NOCOPY VARCHAR2,
4582 p_igsv_ext_rec IN igsv_ext_rec_type) IS
4583 BEGIN
4584 OKC_TIME_PVT.VALID_IG_STARTEND(
4585 p_api_version,
4586 p_init_msg_list,
4587 x_return_status,
4588 x_msg_count,
4589 x_msg_data,
4590 p_igsv_ext_rec);
4591 END VALID_IG_STARTEND;
4592
4593 PROCEDURE VALID_IG_STARTEND(
4594 p_api_version IN NUMBER,
4595 p_init_msg_list IN VARCHAR2 ,
4596 x_return_status OUT NOCOPY VARCHAR2,
4597 x_msg_count OUT NOCOPY NUMBER,
4598 x_msg_data OUT NOCOPY VARCHAR2,
4599 p_igsv_ext_tbl IN igsv_ext_tbl_type) IS
4600 i NUMBER := 0;
4601 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4602 BEGIN
4603 x_return_status := OKC_API.G_RET_STS_SUCCESS;
4604 IF p_igsv_ext_tbl.COUNT > 0 THEN
4605 i := p_igsv_ext_tbl.FIRST;
4606 LOOP
4607 VALID_IG_STARTEND(
4608 p_api_version,
4609 p_init_msg_list,
4610 l_return_status,
4611 x_msg_count,
4612 x_msg_data,
4613 p_igsv_ext_tbl(i));
4614 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4615 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4616 x_return_status := l_return_status;
4617 raise G_EXCEPTION_HALT_VALIDATION;
4618 ELSE
4619 x_return_status := l_return_status;
4620 END IF;
4621 END IF;
4622 EXIT WHEN (i = p_igsv_ext_tbl.LAST);
4623 i := p_igsv_ext_tbl.NEXT(i);
4624 END LOOP;
4625 END IF;
4626 EXCEPTION
4627 WHEN G_EXCEPTION_HALT_VALIDATION THEN
4628 NULL;
4629 WHEN OTHERS THEN
4630 OKC_API.set_message(p_app_name => g_app_name,
4631 p_msg_name => g_unexpected_error,
4632 p_token1 => g_sqlcode_token,
4633 p_token1_value => sqlcode,
4634 p_token2 => g_sqlerrm_token,
4635 p_token2_value => sqlerrm);
4636 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4637 END VALID_IG_STARTEND;
4638
4639 ---The following procedures cater to handling of OKC_TIME_CYCLE
4640 --------------------------------------------------------------------------
4641
4642 FUNCTION migrate_cylv(p_cylv_ext_rec1 IN cylv_ext_rec_type,
4643 p_cylv_ext_rec2 IN cylv_ext_rec_type)
4644 RETURN cylv_ext_rec_type IS
4645 l_cylv_ext_rec cylv_ext_rec_type;
4646 BEGIN
4647 l_cylv_ext_rec.id := p_cylv_ext_rec1.id;
4648 l_cylv_ext_rec.object_version_number := p_cylv_ext_rec1.object_version_number;
4649 l_cylv_ext_rec.created_by := p_cylv_ext_rec1.created_by;
4650 l_cylv_ext_rec.creation_date := p_cylv_ext_rec1.creation_date;
4651 l_cylv_ext_rec.last_updated_by := p_cylv_ext_rec1.last_updated_by;
4652 l_cylv_ext_rec.last_update_date := p_cylv_ext_rec1.last_update_date;
4653 l_cylv_ext_rec.last_update_login := p_cylv_ext_rec1.last_update_login;
4654 l_cylv_ext_rec.tve_id_limited := p_cylv_ext_rec2.tve_id_limited;
4655 l_cylv_ext_rec.limited_start_date := p_cylv_ext_rec2.limited_start_date;
4656 l_cylv_ext_rec.limited_end_date := p_cylv_ext_rec2.limited_end_date;
4657 l_cylv_ext_rec.tze_id := p_cylv_ext_rec2.tze_id;
4658 l_cylv_ext_rec.name := p_cylv_ext_rec2.name;
4659 l_cylv_ext_rec.interval_yn := p_cylv_ext_rec2.interval_yn;
4660 l_cylv_ext_rec.active_yn := p_cylv_ext_rec2.active_yn;
4661 l_cylv_ext_rec.uom_code := p_cylv_ext_rec2.uom_code;
4662 l_cylv_ext_rec.duration := p_cylv_ext_rec2.duration;
4663 l_cylv_ext_rec.spn_id := p_cylv_ext_rec2.spn_id;
4664 l_cylv_ext_rec.sfwt_flag := p_cylv_ext_rec2.sfwt_flag;
4665 l_cylv_ext_rec.short_description := p_cylv_ext_rec2.short_description;
4666 l_cylv_ext_rec.description := p_cylv_ext_rec2.description;
4667 l_cylv_ext_rec.comments := p_cylv_ext_rec2.comments;
4668 l_cylv_ext_rec.attribute_category := p_cylv_ext_rec2.attribute_category;
4669 l_cylv_ext_rec.attribute1 := p_cylv_ext_rec2.attribute1;
4670 l_cylv_ext_rec.attribute2 := p_cylv_ext_rec2.attribute2;
4671 l_cylv_ext_rec.attribute3 := p_cylv_ext_rec2.attribute3;
4672 l_cylv_ext_rec.attribute4 := p_cylv_ext_rec2.attribute4;
4673 l_cylv_ext_rec.attribute5 := p_cylv_ext_rec2.attribute5;
4674 l_cylv_ext_rec.attribute6 := p_cylv_ext_rec2.attribute6;
4675 l_cylv_ext_rec.attribute7 := p_cylv_ext_rec2.attribute7;
4676 l_cylv_ext_rec.attribute8 := p_cylv_ext_rec2.attribute8;
4677 l_cylv_ext_rec.attribute9 := p_cylv_ext_rec2.attribute9;
4678 l_cylv_ext_rec.attribute10 := p_cylv_ext_rec2.attribute10;
4679 l_cylv_ext_rec.attribute11 := p_cylv_ext_rec2.attribute11;
4680 l_cylv_ext_rec.attribute12 := p_cylv_ext_rec2.attribute12;
4681 l_cylv_ext_rec.attribute13 := p_cylv_ext_rec2.attribute13;
4682 l_cylv_ext_rec.attribute14 := p_cylv_ext_rec2.attribute14;
4683 l_cylv_ext_rec.attribute15 := p_cylv_ext_rec2.attribute15;
4684 RETURN (l_cylv_ext_rec);
4685 END migrate_cylv;
4686
4687 FUNCTION migrate_cylv(p_cylv_ext_tbl1 IN cylv_ext_tbl_type,
4688 p_cylv_ext_tbl2 IN cylv_ext_tbl_type)
4689 RETURN cylv_ext_tbl_type IS
4690 l_cylv_ext_tbl cylv_ext_tbl_type;
4691 i NUMBER := 0;
4692 j NUMBER := 0;
4693 BEGIN
4694 -- If the user hook deleted some records or added some new records in the table,
4695 -- discard the change and simply copy the original table.
4696 IF p_cylv_ext_tbl1.COUNT <> p_cylv_ext_tbl2.COUNT THEN
4697 l_cylv_ext_tbl := p_cylv_ext_tbl1;
4698 ELSE
4699 IF (p_cylv_ext_tbl1.COUNT > 0) THEN
4700 i := p_cylv_ext_tbl1.FIRST;
4701 j := p_cylv_ext_tbl2.FIRST;
4702 LOOP
4703 l_cylv_ext_tbl(i) := migrate_cylv(p_cylv_ext_tbl1(i), p_cylv_ext_tbl2(j));
4704 EXIT WHEN (i = p_cylv_ext_tbl1.LAST);
4705 i := p_cylv_ext_tbl1.NEXT(i);
4706 j := p_cylv_ext_tbl2.NEXT(j);
4707 END LOOP;
4708 END IF;
4709 END IF;
4710 RETURN (l_cylv_ext_tbl);
4711 END migrate_cylv;
4712
4713 PROCEDURE CREATE_CYCLE(
4714 p_api_version IN NUMBER,
4715 p_init_msg_list IN VARCHAR2 ,
4716 x_return_status OUT NOCOPY VARCHAR2,
4717 x_msg_count OUT NOCOPY NUMBER,
4718 x_msg_data OUT NOCOPY VARCHAR2,
4719 p_cylv_ext_rec IN cylv_ext_rec_type,
4720 x_cylv_ext_rec OUT NOCOPY cylv_ext_rec_type) IS
4721 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CYCLE';
4722 l_return_status VARCHAR2(1);
4723 l_cylv_ext_rec cylv_ext_rec_type := p_cylv_ext_rec;
4724 BEGIN
4725 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4726 p_init_msg_list,
4727 '_PUB',
4728 x_return_status);
4729 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4730 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4731 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4732 raise OKC_API.G_EXCEPTION_ERROR;
4733 END IF;
4734 -- Call user hook for BEFORE
4735 g_cylv_ext_rec := l_cylv_ext_rec;
4736 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
4737 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4738 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4739 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4740 raise OKC_API.G_EXCEPTION_ERROR;
4741 END IF;
4742 l_cylv_ext_rec := migrate_cylv(l_cylv_ext_rec, g_cylv_ext_rec);
4743 OKC_TIME_PVT.CREATE_CYCLE(
4744 p_api_version,
4745 p_init_msg_list,
4746 x_return_status,
4747 x_msg_count,
4748 x_msg_data,
4749 p_cylv_ext_rec,
4750 x_cylv_ext_rec);
4751 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4752 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4753 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4754 raise OKC_API.G_EXCEPTION_ERROR;
4755 END IF;
4756
4757 -- Call user hook for AFTER
4758 g_cylv_ext_rec := x_cylv_ext_rec;
4759 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
4760 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4761 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4762 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4763 raise OKC_API.G_EXCEPTION_ERROR;
4764 END IF;
4765 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4766 EXCEPTION
4767 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4768 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4769 (l_api_name,
4770 G_PKG_NAME,
4771 'OKC_API.G_RET_STS_ERROR',
4772 x_msg_count,
4773 x_msg_data,
4774 '_PUB');
4775 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4776 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4777 (l_api_name,
4778 G_PKG_NAME,
4779 'OKC_API.G_RET_STS_UNEXP_ERROR',
4780 x_msg_count,
4781 x_msg_data,
4782 '_PUB');
4783 WHEN OTHERS THEN
4784 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4785 (l_api_name,
4786 G_PKG_NAME,
4787 'OTHERS',
4788 x_msg_count,
4789 x_msg_data,
4790 '_PUB');
4791 END CREATE_CYCLE;
4792
4793 PROCEDURE CREATE_CYCLE(
4794 p_api_version IN NUMBER,
4795 p_init_msg_list IN VARCHAR2 ,
4796 x_return_status OUT NOCOPY VARCHAR2,
4797 x_msg_count OUT NOCOPY NUMBER,
4798 x_msg_data OUT NOCOPY VARCHAR2,
4799 p_cylv_ext_tbl IN cylv_ext_tbl_type,
4800 x_cylv_ext_tbl OUT NOCOPY cylv_ext_tbl_type) IS
4801 i NUMBER := 0;
4802 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4803 BEGIN
4804 x_return_status := OKC_API.G_RET_STS_SUCCESS;
4805 IF p_cylv_ext_tbl.COUNT > 0 THEN
4806 i := p_cylv_ext_tbl.FIRST;
4807 LOOP
4808 CREATE_CYCLE(
4809 p_api_version,
4810 p_init_msg_list,
4811 l_return_status,
4812 x_msg_count,
4813 x_msg_data,
4814 p_cylv_ext_tbl(i),
4815 x_cylv_ext_tbl(i));
4816 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4817 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4818 x_return_status := l_return_status;
4819 raise G_EXCEPTION_HALT_VALIDATION;
4820 ELSE
4821 x_return_status := l_return_status;
4822 END IF;
4823 END IF;
4824 EXIT WHEN (i = p_cylv_ext_tbl.LAST);
4825 i := p_cylv_ext_tbl.NEXT(i);
4826 END LOOP;
4827 END IF;
4828 EXCEPTION
4829 WHEN G_EXCEPTION_HALT_VALIDATION THEN
4830 NULL;
4831 WHEN OTHERS THEN
4832 OKC_API.set_message(p_app_name => g_app_name,
4833 p_msg_name => g_unexpected_error,
4834 p_token1 => g_sqlcode_token,
4835 p_token1_value => sqlcode,
4836 p_token2 => g_sqlerrm_token,
4837 p_token2_value => sqlerrm);
4838 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4839 END CREATE_CYCLE;
4840
4841 PROCEDURE UPDATE_CYCLE(
4842 p_api_version IN NUMBER,
4843 p_init_msg_list IN VARCHAR2 ,
4844 x_return_status OUT NOCOPY VARCHAR2,
4845 x_msg_count OUT NOCOPY NUMBER,
4846 x_msg_data OUT NOCOPY VARCHAR2,
4847 p_cylv_ext_rec IN cylv_ext_rec_type,
4848 x_cylv_ext_rec OUT NOCOPY cylv_ext_rec_type) IS
4849 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CYCLE';
4850 l_return_status VARCHAR2(1);
4851 l_cylv_ext_rec cylv_ext_rec_type := p_cylv_ext_rec;
4852 BEGIN
4853 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4854 p_init_msg_list,
4855 '_PUB',
4856 x_return_status);
4857 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4858 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4859 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4860 raise OKC_API.G_EXCEPTION_ERROR;
4861 END IF;
4862 -- Call user hook for BEFORE
4863 g_cylv_ext_rec := l_cylv_ext_rec;
4864 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
4865 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4866 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4867 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4868 raise OKC_API.G_EXCEPTION_ERROR;
4869 END IF;
4870 l_cylv_ext_rec := migrate_cylv(l_cylv_ext_rec, g_cylv_ext_rec);
4871 OKC_TIME_PVT.UPDATE_CYCLE(
4872 p_api_version,
4873 p_init_msg_list,
4874 x_return_status,
4875 x_msg_count,
4876 x_msg_data,
4877 p_cylv_ext_rec,
4878 x_cylv_ext_rec);
4879 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4880 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4881 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4882 raise OKC_API.G_EXCEPTION_ERROR;
4883 END IF;
4884
4885 -- Call user hook for AFTER
4886 g_cylv_ext_rec := x_cylv_ext_rec;
4887 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
4888 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4889 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4890 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4891 raise OKC_API.G_EXCEPTION_ERROR;
4892 END IF;
4893 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4894 EXCEPTION
4895 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4896 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4897 (l_api_name,
4898 G_PKG_NAME,
4899 'OKC_API.G_RET_STS_ERROR',
4900 x_msg_count,
4901 x_msg_data,
4902 '_PUB');
4903 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4904 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4905 (l_api_name,
4906 G_PKG_NAME,
4907 'OKC_API.G_RET_STS_UNEXP_ERROR',
4908 x_msg_count,
4909 x_msg_data,
4910 '_PUB');
4911 WHEN OTHERS THEN
4912 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4913 (l_api_name,
4914 G_PKG_NAME,
4915 'OTHERS',
4916 x_msg_count,
4917 x_msg_data,
4918 '_PUB');
4919 END UPDATE_CYCLE;
4920
4921 PROCEDURE UPDATE_CYCLE(
4922 p_api_version IN NUMBER,
4923 p_init_msg_list IN VARCHAR2 ,
4924 x_return_status OUT NOCOPY VARCHAR2,
4925 x_msg_count OUT NOCOPY NUMBER,
4926 x_msg_data OUT NOCOPY VARCHAR2,
4927 p_cylv_ext_tbl IN cylv_ext_tbl_type,
4928 x_cylv_ext_tbl OUT NOCOPY cylv_ext_tbl_type) IS
4929 i NUMBER := 0;
4930 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4931 BEGIN
4932 x_return_status := OKC_API.G_RET_STS_SUCCESS;
4933 IF p_cylv_ext_tbl.COUNT > 0 THEN
4934 i := p_cylv_ext_tbl.FIRST;
4935 LOOP
4936 UPDATE_CYCLE(
4937 p_api_version,
4938 p_init_msg_list,
4939 l_return_status,
4940 x_msg_count,
4941 x_msg_data,
4942 p_cylv_ext_tbl(i),
4943 x_cylv_ext_tbl(i));
4944 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4945 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4946 x_return_status := l_return_status;
4947 raise G_EXCEPTION_HALT_VALIDATION;
4948 ELSE
4949 x_return_status := l_return_status;
4950 END IF;
4951 END IF;
4952 EXIT WHEN (i = p_cylv_ext_tbl.LAST);
4953 i := p_cylv_ext_tbl.NEXT(i);
4954 END LOOP;
4955 END IF;
4956 EXCEPTION
4957 WHEN G_EXCEPTION_HALT_VALIDATION THEN
4958 NULL;
4959 WHEN OTHERS THEN
4960 OKC_API.set_message(p_app_name => g_app_name,
4961 p_msg_name => g_unexpected_error,
4962 p_token1 => g_sqlcode_token,
4963 p_token1_value => sqlcode,
4964 p_token2 => g_sqlerrm_token,
4965 p_token2_value => sqlerrm);
4966 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4967 END UPDATE_CYCLE;
4968
4969 PROCEDURE DELETE_CYCLE(
4970 p_api_version IN NUMBER,
4971 p_init_msg_list IN VARCHAR2 ,
4972 x_return_status OUT NOCOPY VARCHAR2,
4973 x_msg_count OUT NOCOPY NUMBER,
4974 x_msg_data OUT NOCOPY VARCHAR2,
4975 p_cylv_ext_rec IN cylv_ext_rec_type) IS
4976 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CYCLE';
4977 l_return_status VARCHAR2(1);
4978 l_cylv_ext_rec cylv_ext_rec_type := p_cylv_ext_rec;
4979 BEGIN
4980 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4981 p_init_msg_list,
4982 '_PUB',
4983 x_return_status);
4984 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4985 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4986 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4987 raise OKC_API.G_EXCEPTION_ERROR;
4988 END IF;
4989 -- Call user hook for BEFORE
4990 g_cylv_ext_rec := l_cylv_ext_rec;
4991 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
4992 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4993 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4994 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4995 raise OKC_API.G_EXCEPTION_ERROR;
4996 END IF;
4997 OKC_TIME_PVT.DELETE_CYCLE(
4998 p_api_version,
4999 p_init_msg_list,
5000 x_return_status,
5001 x_msg_count,
5002 x_msg_data,
5003 p_cylv_ext_rec);
5004 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5005 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5006 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5007 raise OKC_API.G_EXCEPTION_ERROR;
5008 END IF;
5009
5010 -- Call user hook for AFTER
5011 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
5012 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5013 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5014 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5015 raise OKC_API.G_EXCEPTION_ERROR;
5016 END IF;
5017 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5018 EXCEPTION
5019 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5020 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5021 (l_api_name,
5022 G_PKG_NAME,
5023 'OKC_API.G_RET_STS_ERROR',
5024 x_msg_count,
5025 x_msg_data,
5026 '_PUB');
5027 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5028 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5029 (l_api_name,
5030 G_PKG_NAME,
5031 'OKC_API.G_RET_STS_UNEXP_ERROR',
5032 x_msg_count,
5033 x_msg_data,
5034 '_PUB');
5035 WHEN OTHERS THEN
5036 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5037 (l_api_name,
5038 G_PKG_NAME,
5039 'OTHERS',
5040 x_msg_count,
5041 x_msg_data,
5042 '_PUB');
5043 END DELETE_CYCLE;
5044
5045 PROCEDURE DELETE_CYCLE(
5046 p_api_version IN NUMBER,
5047 p_init_msg_list IN VARCHAR2 ,
5048 x_return_status OUT NOCOPY VARCHAR2,
5049 x_msg_count OUT NOCOPY NUMBER,
5050 x_msg_data OUT NOCOPY VARCHAR2,
5051 p_cylv_ext_tbl IN cylv_ext_tbl_type) IS
5052 i NUMBER := 0;
5053 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5054 BEGIN
5055 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5056 IF p_cylv_ext_tbl.COUNT > 0 THEN
5057 i := p_cylv_ext_tbl.FIRST;
5058 LOOP
5059 DELETE_CYCLE(
5060 p_api_version,
5061 p_init_msg_list,
5062 l_return_status,
5063 x_msg_count,
5064 x_msg_data,
5065 p_cylv_ext_tbl(i));
5066 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5067 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5068 x_return_status := l_return_status;
5069 raise G_EXCEPTION_HALT_VALIDATION;
5070 ELSE
5071 x_return_status := l_return_status;
5072 END IF;
5073 END IF;
5074 EXIT WHEN (i = p_cylv_ext_tbl.LAST);
5075 i := p_cylv_ext_tbl.NEXT(i);
5076 END LOOP;
5077 END IF;
5078 EXCEPTION
5079 WHEN G_EXCEPTION_HALT_VALIDATION THEN
5080 NULL;
5081 WHEN OTHERS THEN
5082 OKC_API.set_message(p_app_name => g_app_name,
5083 p_msg_name => g_unexpected_error,
5084 p_token1 => g_sqlcode_token,
5085 p_token1_value => sqlcode,
5086 p_token2 => g_sqlerrm_token,
5087 p_token2_value => sqlerrm);
5088 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
5089 END DELETE_CYCLE;
5090
5091 PROCEDURE LOCK_CYCLE(
5092 p_api_version IN NUMBER,
5093 p_init_msg_list IN VARCHAR2 ,
5094 x_return_status OUT NOCOPY VARCHAR2,
5095 x_msg_count OUT NOCOPY NUMBER,
5096 x_msg_data OUT NOCOPY VARCHAR2,
5097 p_cylv_ext_rec IN cylv_ext_rec_type) IS
5098 BEGIN
5099 OKC_TIME_PVT.LOCK_CYCLE(
5100 p_api_version,
5101 p_init_msg_list,
5102 x_return_status,
5103 x_msg_count,
5104 x_msg_data,
5105 p_cylv_ext_rec);
5106 END LOCK_CYCLE;
5107
5108 PROCEDURE LOCK_CYCLE(
5109 p_api_version IN NUMBER,
5110 p_init_msg_list IN VARCHAR2 ,
5111 x_return_status OUT NOCOPY VARCHAR2,
5112 x_msg_count OUT NOCOPY NUMBER,
5113 x_msg_data OUT NOCOPY VARCHAR2,
5114 p_cylv_ext_tbl IN cylv_ext_tbl_type) IS
5115 i NUMBER := 0;
5116 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5117 BEGIN
5118 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5119 IF p_cylv_ext_tbl.COUNT > 0 THEN
5120 i := p_cylv_ext_tbl.FIRST;
5121 LOOP
5122 LOCK_CYCLE(
5123 p_api_version,
5124 p_init_msg_list,
5125 l_return_status,
5126 x_msg_count,
5127 x_msg_data,
5128 p_cylv_ext_tbl(i));
5129 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5130 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5131 x_return_status := l_return_status;
5132 raise G_EXCEPTION_HALT_VALIDATION;
5133 ELSE
5134 x_return_status := l_return_status;
5135 END IF;
5136 END IF;
5137 EXIT WHEN (i = p_cylv_ext_tbl.LAST);
5138 i := p_cylv_ext_tbl.NEXT(i);
5139 END LOOP;
5140 END IF;
5141 EXCEPTION
5142 WHEN G_EXCEPTION_HALT_VALIDATION THEN
5143 NULL;
5144 WHEN OTHERS THEN
5145 OKC_API.set_message(p_app_name => g_app_name,
5146 p_msg_name => g_unexpected_error,
5147 p_token1 => g_sqlcode_token,
5148 p_token1_value => sqlcode,
5149 p_token2 => g_sqlerrm_token,
5150 p_token2_value => sqlerrm);
5151 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
5152 END LOCK_CYCLE;
5153
5154 PROCEDURE VALID_CYCLE(
5155 p_api_version IN NUMBER,
5156 p_init_msg_list IN VARCHAR2 ,
5157 x_return_status OUT NOCOPY VARCHAR2,
5158 x_msg_count OUT NOCOPY NUMBER,
5159 x_msg_data OUT NOCOPY VARCHAR2,
5160 p_cylv_ext_rec IN cylv_ext_rec_type) IS
5161 BEGIN
5162 OKC_TIME_PVT.VALID_CYCLE(
5163 p_api_version,
5164 p_init_msg_list,
5165 x_return_status,
5166 x_msg_count,
5167 x_msg_data,
5168 p_cylv_ext_rec);
5169 END VALID_CYCLE;
5170
5171 PROCEDURE VALID_CYCLE(
5172 p_api_version IN NUMBER,
5173 p_init_msg_list IN VARCHAR2 ,
5174 x_return_status OUT NOCOPY VARCHAR2,
5175 x_msg_count OUT NOCOPY NUMBER,
5176 x_msg_data OUT NOCOPY VARCHAR2,
5177 p_cylv_ext_tbl IN cylv_ext_tbl_type) IS
5178 i NUMBER := 0;
5179 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5180 BEGIN
5181 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5182 IF p_cylv_ext_tbl.COUNT > 0 THEN
5183 i := p_cylv_ext_tbl.FIRST;
5184 LOOP
5185 VALID_CYCLE(
5186 p_api_version,
5187 p_init_msg_list,
5188 l_return_status,
5189 x_msg_count,
5190 x_msg_data,
5191 p_cylv_ext_tbl(i));
5192 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5193 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5194 x_return_status := l_return_status;
5195 raise G_EXCEPTION_HALT_VALIDATION;
5196 ELSE
5197 x_return_status := l_return_status;
5198 END IF;
5199 END IF;
5200 EXIT WHEN (i = p_cylv_ext_tbl.LAST);
5201 i := p_cylv_ext_tbl.NEXT(i);
5202 END LOOP;
5203 END IF;
5204 EXCEPTION
5205 WHEN G_EXCEPTION_HALT_VALIDATION THEN
5206 NULL;
5207 WHEN OTHERS THEN
5208 OKC_API.set_message(p_app_name => g_app_name,
5209 p_msg_name => g_unexpected_error,
5210 p_token1 => g_sqlcode_token,
5211 p_token1_value => sqlcode,
5212 p_token2 => g_sqlerrm_token,
5213 p_token2_value => sqlerrm);
5214 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
5215 END VALID_CYCLE;
5216
5217 --------------------------------------------------------------------------
5218 ---The following procedures cater to handling of OKC_TIME_SPAN
5219 --------------------------------------------------------------------------
5220
5221 FUNCTION migrate_spnv(p_spnv_rec1 IN spnv_rec_type,
5222 p_spnv_rec2 IN spnv_rec_type)
5223 RETURN spnv_rec_type IS
5224 l_spnv_rec spnv_rec_type;
5225 BEGIN
5226 l_spnv_rec.id := p_spnv_rec1.id;
5227 l_spnv_rec.object_version_number := p_spnv_rec1.object_version_number;
5228 l_spnv_rec.created_by := p_spnv_rec1.created_by;
5229 l_spnv_rec.creation_date := p_spnv_rec1.creation_date;
5230 l_spnv_rec.last_updated_by := p_spnv_rec1.last_updated_by;
5231 l_spnv_rec.last_update_date := p_spnv_rec1.last_update_date;
5232 l_spnv_rec.last_update_login := p_spnv_rec1.last_update_login;
5233 l_spnv_rec.tve_id := p_spnv_rec2.tve_id;
5234 l_spnv_rec.spn_id := p_spnv_rec2.spn_id;
5235 l_spnv_rec.uom_code := p_spnv_rec2.uom_code;
5236 l_spnv_rec.name := p_spnv_rec2.name;
5237 l_spnv_rec.duration := p_spnv_rec2.duration;
5238 l_spnv_rec.active_yn := p_spnv_rec2.active_yn;
5239 RETURN (l_spnv_rec);
5240 END migrate_spnv;
5241
5242 FUNCTION migrate_spnv(p_spnv_tbl1 IN spnv_tbl_type,
5243 p_spnv_tbl2 IN spnv_tbl_type)
5244 RETURN spnv_tbl_type IS
5245 l_spnv_tbl spnv_tbl_type;
5246 i NUMBER := 0;
5247 j NUMBER := 0;
5248 BEGIN
5249 -- If the user hook deleted some records or added some new records in the table,
5250 -- discard the change and simply copy the original table.
5251 IF p_spnv_tbl1.COUNT <> p_spnv_tbl2.COUNT THEN
5252 l_spnv_tbl := p_spnv_tbl1;
5253 ELSE
5254 IF (p_spnv_tbl1.COUNT > 0) THEN
5255 i := p_spnv_tbl1.FIRST;
5256 j := p_spnv_tbl2.FIRST;
5257 LOOP
5258 l_spnv_tbl(i) := migrate_spnv(p_spnv_tbl1(i), p_spnv_tbl2(j));
5259 EXIT WHEN (i = p_spnv_tbl1.LAST);
5260 i := p_spnv_tbl1.NEXT(i);
5261 j := p_spnv_tbl2.NEXT(j);
5262 END LOOP;
5263 END IF;
5264 END IF;
5265 RETURN (l_spnv_tbl);
5266 END migrate_spnv;
5267
5268 PROCEDURE CREATE_SPAN(
5269 p_api_version IN NUMBER,
5270 p_init_msg_list IN VARCHAR2 ,
5271 x_return_status OUT NOCOPY VARCHAR2,
5272 x_msg_count OUT NOCOPY NUMBER,
5273 x_msg_data OUT NOCOPY VARCHAR2,
5274 p_spnv_rec IN spnv_rec_type,
5275 x_spnv_rec OUT NOCOPY spnv_rec_type) IS
5276 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_SPAN';
5277 l_return_status VARCHAR2(1);
5278 l_spnv_rec spnv_rec_type := p_spnv_rec;
5279 BEGIN
5280 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5281 p_init_msg_list,
5282 '_PUB',
5283 x_return_status);
5284 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5285 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5286 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5287 raise OKC_API.G_EXCEPTION_ERROR;
5288 END IF;
5289 -- Call user hook for BEFORE
5290 g_spnv_rec := l_spnv_rec;
5291 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
5292 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5293 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5294 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5295 raise OKC_API.G_EXCEPTION_ERROR;
5296 END IF;
5297 l_spnv_rec := migrate_spnv(l_spnv_rec, g_spnv_rec);
5298 OKC_TIME_PVT.CREATE_SPAN(
5299 p_api_version,
5300 p_init_msg_list,
5301 x_return_status,
5302 x_msg_count,
5303 x_msg_data,
5304 p_spnv_rec,
5305 x_spnv_rec);
5306 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5307 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5308 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5309 raise OKC_API.G_EXCEPTION_ERROR;
5310 END IF;
5311
5312 -- Call user hook for AFTER
5313 g_spnv_rec := x_spnv_rec;
5314 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
5315 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5316 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5317 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5318 raise OKC_API.G_EXCEPTION_ERROR;
5319 END IF;
5320 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5321 EXCEPTION
5322 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5323 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5324 (l_api_name,
5325 G_PKG_NAME,
5326 'OKC_API.G_RET_STS_ERROR',
5327 x_msg_count,
5328 x_msg_data,
5329 '_PUB');
5330 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5331 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5332 (l_api_name,
5333 G_PKG_NAME,
5334 'OKC_API.G_RET_STS_UNEXP_ERROR',
5335 x_msg_count,
5336 x_msg_data,
5337 '_PUB');
5338 WHEN OTHERS THEN
5339 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5340 (l_api_name,
5341 G_PKG_NAME,
5342 'OTHERS',
5343 x_msg_count,
5344 x_msg_data,
5345 '_PUB');
5346 END CREATE_SPAN;
5347
5348 PROCEDURE CREATE_SPAN(
5349 p_api_version IN NUMBER,
5350 p_init_msg_list IN VARCHAR2 ,
5351 x_return_status OUT NOCOPY VARCHAR2,
5352 x_msg_count OUT NOCOPY NUMBER,
5353 x_msg_data OUT NOCOPY VARCHAR2,
5354 p_spnv_tbl IN spnv_tbl_type,
5355 x_spnv_tbl OUT NOCOPY spnv_tbl_type) IS
5356 i NUMBER := 0;
5357 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5358 BEGIN
5359 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5360 IF p_spnv_tbl.COUNT > 0 THEN
5361 i := p_spnv_tbl.FIRST;
5362 LOOP
5363 CREATE_SPAN(
5364 p_api_version,
5365 p_init_msg_list,
5366 l_return_status,
5367 x_msg_count,
5368 x_msg_data,
5369 p_spnv_tbl(i),
5370 x_spnv_tbl(i));
5371 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5372 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5373 x_return_status := l_return_status;
5374 raise G_EXCEPTION_HALT_VALIDATION;
5375 ELSE
5376 x_return_status := l_return_status;
5377 END IF;
5378 END IF;
5379 EXIT WHEN (i = p_spnv_tbl.LAST);
5380 i := p_spnv_tbl.NEXT(i);
5381 END LOOP;
5382 END IF;
5383 EXCEPTION
5384 WHEN G_EXCEPTION_HALT_VALIDATION THEN
5385 NULL;
5386 WHEN OTHERS THEN
5387 OKC_API.set_message(p_app_name => g_app_name,
5388 p_msg_name => g_unexpected_error,
5389 p_token1 => g_sqlcode_token,
5390 p_token1_value => sqlcode,
5391 p_token2 => g_sqlerrm_token,
5392 p_token2_value => sqlerrm);
5393 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
5394 END CREATE_SPAN;
5395
5396 PROCEDURE UPDATE_SPAN(
5397 p_api_version IN NUMBER,
5398 p_init_msg_list IN VARCHAR2 ,
5399 x_return_status OUT NOCOPY VARCHAR2,
5400 x_msg_count OUT NOCOPY NUMBER,
5401 x_msg_data OUT NOCOPY VARCHAR2,
5402 p_spnv_rec IN spnv_rec_type,
5403 x_spnv_rec OUT NOCOPY spnv_rec_type) IS
5404 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SPAN';
5405 l_return_status VARCHAR2(1);
5406 l_spnv_rec spnv_rec_type := p_spnv_rec;
5407 BEGIN
5408 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5409 p_init_msg_list,
5410 '_PUB',
5411 x_return_status);
5412 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5413 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5414 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5415 raise OKC_API.G_EXCEPTION_ERROR;
5416 END IF;
5417 -- Call user hook for BEFORE
5418 g_spnv_rec := l_spnv_rec;
5419 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
5420 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5421 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5422 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5423 raise OKC_API.G_EXCEPTION_ERROR;
5424 END IF;
5425 l_spnv_rec := migrate_spnv(l_spnv_rec, g_spnv_rec);
5426 OKC_TIME_PVT.UPDATE_SPAN(
5427 p_api_version,
5428 p_init_msg_list,
5429 x_return_status,
5430 x_msg_count,
5431 x_msg_data,
5432 p_spnv_rec,
5433 x_spnv_rec);
5434 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5435 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5436 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5437 raise OKC_API.G_EXCEPTION_ERROR;
5438 END IF;
5439
5440 -- Call user hook for AFTER
5441 g_spnv_rec := x_spnv_rec;
5442 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
5443 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5444 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5445 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5446 raise OKC_API.G_EXCEPTION_ERROR;
5447 END IF;
5448 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5449 EXCEPTION
5450 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5451 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5452 (l_api_name,
5453 G_PKG_NAME,
5454 'OKC_API.G_RET_STS_ERROR',
5455 x_msg_count,
5456 x_msg_data,
5457 '_PUB');
5458 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5459 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5460 (l_api_name,
5461 G_PKG_NAME,
5462 'OKC_API.G_RET_STS_UNEXP_ERROR',
5463 x_msg_count,
5464 x_msg_data,
5465 '_PUB');
5466 WHEN OTHERS THEN
5467 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5468 (l_api_name,
5469 G_PKG_NAME,
5470 'OTHERS',
5471 x_msg_count,
5472 x_msg_data,
5473 '_PUB');
5474 END UPDATE_SPAN;
5475
5476 PROCEDURE UPDATE_SPAN(
5477 p_api_version IN NUMBER,
5478 p_init_msg_list IN VARCHAR2 ,
5479 x_return_status OUT NOCOPY VARCHAR2,
5480 x_msg_count OUT NOCOPY NUMBER,
5481 x_msg_data OUT NOCOPY VARCHAR2,
5482 p_spnv_tbl IN spnv_tbl_type,
5483 x_spnv_tbl OUT NOCOPY spnv_tbl_type) IS
5484 i NUMBER := 0;
5485 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5486 BEGIN
5487 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5488 IF p_spnv_tbl.COUNT > 0 THEN
5489 i := p_spnv_tbl.FIRST;
5490 LOOP
5491 UPDATE_SPAN(
5492 p_api_version,
5493 p_init_msg_list,
5494 l_return_status,
5495 x_msg_count,
5496 x_msg_data,
5497 p_spnv_tbl(i),
5498 x_spnv_tbl(i));
5499 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5500 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5501 x_return_status := l_return_status;
5502 raise G_EXCEPTION_HALT_VALIDATION;
5503 ELSE
5504 x_return_status := l_return_status;
5505 END IF;
5506 END IF;
5507 EXIT WHEN (i = p_spnv_tbl.LAST);
5508 i := p_spnv_tbl.NEXT(i);
5509 END LOOP;
5510 END IF;
5511 EXCEPTION
5512 WHEN G_EXCEPTION_HALT_VALIDATION THEN
5513 NULL;
5514 WHEN OTHERS THEN
5515 OKC_API.set_message(p_app_name => g_app_name,
5516 p_msg_name => g_unexpected_error,
5517 p_token1 => g_sqlcode_token,
5518 p_token1_value => sqlcode,
5519 p_token2 => g_sqlerrm_token,
5520 p_token2_value => sqlerrm);
5521 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
5522 END UPDATE_SPAN;
5523
5524 PROCEDURE DELETE_SPAN(
5525 p_api_version IN NUMBER,
5526 p_init_msg_list IN VARCHAR2 ,
5527 x_return_status OUT NOCOPY VARCHAR2,
5528 x_msg_count OUT NOCOPY NUMBER,
5529 x_msg_data OUT NOCOPY VARCHAR2,
5530 p_spnv_rec IN spnv_rec_type) IS
5531 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_SPAN';
5532 l_return_status VARCHAR2(1);
5533 l_spnv_rec spnv_rec_type := p_spnv_rec;
5534 BEGIN
5535 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5536 p_init_msg_list,
5537 '_PUB',
5538 x_return_status);
5539 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5540 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5541 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5542 raise OKC_API.G_EXCEPTION_ERROR;
5543 END IF;
5544 -- Call user hook for BEFORE
5545 g_spnv_rec := l_spnv_rec;
5546 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
5547 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5548 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5549 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5550 raise OKC_API.G_EXCEPTION_ERROR;
5551 END IF;
5552 OKC_TIME_PVT.DELETE_SPAN(
5553 p_api_version,
5554 p_init_msg_list,
5555 x_return_status,
5556 x_msg_count,
5557 x_msg_data,
5558 p_spnv_rec);
5559 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5560 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5561 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5562 raise OKC_API.G_EXCEPTION_ERROR;
5563 END IF;
5564
5565 -- Call user hook for AFTER
5566 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
5567 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5568 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5569 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5570 raise OKC_API.G_EXCEPTION_ERROR;
5571 END IF;
5572 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5573 EXCEPTION
5574 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5575 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5576 (l_api_name,
5577 G_PKG_NAME,
5578 'OKC_API.G_RET_STS_ERROR',
5579 x_msg_count,
5580 x_msg_data,
5581 '_PUB');
5582 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5583 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5584 (l_api_name,
5585 G_PKG_NAME,
5586 'OKC_API.G_RET_STS_UNEXP_ERROR',
5587 x_msg_count,
5588 x_msg_data,
5589 '_PUB');
5590 WHEN OTHERS THEN
5591 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5592 (l_api_name,
5593 G_PKG_NAME,
5594 'OTHERS',
5595 x_msg_count,
5596 x_msg_data,
5597 '_PUB');
5598 END DELETE_SPAN;
5599
5600 PROCEDURE DELETE_SPAN(
5601 p_api_version IN NUMBER,
5602 p_init_msg_list IN VARCHAR2 ,
5603 x_return_status OUT NOCOPY VARCHAR2,
5604 x_msg_count OUT NOCOPY NUMBER,
5605 x_msg_data OUT NOCOPY VARCHAR2,
5606 p_spnv_tbl IN spnv_tbl_type) IS
5607 i NUMBER := 0;
5608 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5609 BEGIN
5610 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5611 IF p_spnv_tbl.COUNT > 0 THEN
5612 i := p_spnv_tbl.FIRST;
5613 LOOP
5614 DELETE_SPAN(
5615 p_api_version,
5616 p_init_msg_list,
5617 l_return_status,
5618 x_msg_count,
5619 x_msg_data,
5620 p_spnv_tbl(i));
5621 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5622 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5623 x_return_status := l_return_status;
5624 raise G_EXCEPTION_HALT_VALIDATION;
5625 ELSE
5626 x_return_status := l_return_status;
5627 END IF;
5628 END IF;
5629 EXIT WHEN (i = p_spnv_tbl.LAST);
5630 i := p_spnv_tbl.NEXT(i);
5631 END LOOP;
5632 END IF;
5633 EXCEPTION
5634 WHEN G_EXCEPTION_HALT_VALIDATION THEN
5635 NULL;
5636 WHEN OTHERS THEN
5637 OKC_API.set_message(p_app_name => g_app_name,
5638 p_msg_name => g_unexpected_error,
5639 p_token1 => g_sqlcode_token,
5640 p_token1_value => sqlcode,
5641 p_token2 => g_sqlerrm_token,
5642 p_token2_value => sqlerrm);
5643 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
5644 END DELETE_SPAN;
5645
5646 PROCEDURE LOCK_SPAN(
5647 p_api_version IN NUMBER,
5648 p_init_msg_list IN VARCHAR2 ,
5649 x_return_status OUT NOCOPY VARCHAR2,
5650 x_msg_count OUT NOCOPY NUMBER,
5651 x_msg_data OUT NOCOPY VARCHAR2,
5652 p_spnv_rec IN spnv_rec_type) IS
5653 BEGIN
5654 OKC_TIME_PVT.LOCK_SPAN(
5655 p_api_version,
5656 p_init_msg_list,
5657 x_return_status,
5658 x_msg_count,
5659 x_msg_data,
5660 p_spnv_rec);
5661 END LOCK_SPAN;
5662
5663 PROCEDURE LOCK_SPAN(
5664 p_api_version IN NUMBER,
5665 p_init_msg_list IN VARCHAR2 ,
5666 x_return_status OUT NOCOPY VARCHAR2,
5667 x_msg_count OUT NOCOPY NUMBER,
5668 x_msg_data OUT NOCOPY VARCHAR2,
5669 p_spnv_tbl IN spnv_tbl_type) IS
5670 i NUMBER := 0;
5671 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5672 BEGIN
5673 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5674 IF p_spnv_tbl.COUNT > 0 THEN
5675 i := p_spnv_tbl.FIRST;
5676 LOOP
5677 LOCK_SPAN(
5678 p_api_version,
5679 p_init_msg_list,
5680 l_return_status,
5681 x_msg_count,
5682 x_msg_data,
5683 p_spnv_tbl(i));
5684 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5685 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5686 x_return_status := l_return_status;
5687 raise G_EXCEPTION_HALT_VALIDATION;
5688 ELSE
5689 x_return_status := l_return_status;
5690 END IF;
5691 END IF;
5692 EXIT WHEN (i = p_spnv_tbl.LAST);
5693 i := p_spnv_tbl.NEXT(i);
5694 END LOOP;
5695 END IF;
5696 EXCEPTION
5697 WHEN G_EXCEPTION_HALT_VALIDATION THEN
5698 NULL;
5699 WHEN OTHERS THEN
5700 OKC_API.set_message(p_app_name => g_app_name,
5701 p_msg_name => g_unexpected_error,
5702 p_token1 => g_sqlcode_token,
5703 p_token1_value => sqlcode,
5704 p_token2 => g_sqlerrm_token,
5705 p_token2_value => sqlerrm);
5706 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
5707 END LOCK_SPAN;
5708
5709 PROCEDURE VALID_SPAN(
5710 p_api_version IN NUMBER,
5711 p_init_msg_list IN VARCHAR2 ,
5712 x_return_status OUT NOCOPY VARCHAR2,
5713 x_msg_count OUT NOCOPY NUMBER,
5714 x_msg_data OUT NOCOPY VARCHAR2,
5715 p_spnv_rec IN spnv_rec_type) IS
5716 BEGIN
5717 OKC_TIME_PVT.VALID_SPAN(
5718 p_api_version,
5719 p_init_msg_list,
5720 x_return_status,
5721 x_msg_count,
5722 x_msg_data,
5723 p_spnv_rec);
5724 END VALID_SPAN;
5725
5726 PROCEDURE VALID_SPAN(
5727 p_api_version IN NUMBER,
5728 p_init_msg_list IN VARCHAR2 ,
5729 x_return_status OUT NOCOPY VARCHAR2,
5730 x_msg_count OUT NOCOPY NUMBER,
5731 x_msg_data OUT NOCOPY VARCHAR2,
5732 p_spnv_tbl IN spnv_tbl_type) IS
5733 i NUMBER := 0;
5734 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5735 BEGIN
5736 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5737 IF p_spnv_tbl.COUNT > 0 THEN
5738 i := p_spnv_tbl.FIRST;
5739 LOOP
5740 VALID_SPAN(
5741 p_api_version,
5742 p_init_msg_list,
5743 l_return_status,
5744 x_msg_count,
5745 x_msg_data,
5746 p_spnv_tbl(i));
5747 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5748 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5749 x_return_status := l_return_status;
5750 raise G_EXCEPTION_HALT_VALIDATION;
5751 ELSE
5752 x_return_status := l_return_status;
5753 END IF;
5754 END IF;
5755 EXIT WHEN (i = p_spnv_tbl.LAST);
5756 i := p_spnv_tbl.NEXT(i);
5757 END LOOP;
5758 END IF;
5759 EXCEPTION
5760 WHEN G_EXCEPTION_HALT_VALIDATION THEN
5761 NULL;
5762 WHEN OTHERS THEN
5763 OKC_API.set_message(p_app_name => g_app_name,
5764 p_msg_name => g_unexpected_error,
5765 p_token1 => g_sqlcode_token,
5766 p_token1_value => sqlcode,
5767 p_token2 => g_sqlerrm_token,
5768 p_token2_value => sqlerrm);
5769 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
5770 END VALID_SPAN;
5771 --------------------------------------------------------------------------
5772 ---The following procedures cater to handling of OKC_TIME_TIME_CODE_UNITS
5773 --------------------------------------------------------------------------
5774
5775 FUNCTION migrate_tcuv(p_tcuv_rec1 IN tcuv_rec_type,
5776 p_tcuv_rec2 IN tcuv_rec_type)
5777 RETURN tcuv_rec_type IS
5778 l_tcuv_rec tcuv_rec_type;
5779 BEGIN
5780 l_tcuv_rec.tce_code := p_tcuv_rec2.tce_code;
5781 l_tcuv_rec.uom_code := p_tcuv_rec2.uom_code;
5782 l_tcuv_rec.quantity := p_tcuv_rec2.quantity;
5783 l_tcuv_rec.active_flag := p_tcuv_rec2.active_flag;
5784 l_tcuv_rec.object_version_number := p_tcuv_rec1.object_version_number;
5785 l_tcuv_rec.created_by := p_tcuv_rec1.created_by;
5786 l_tcuv_rec.creation_date := p_tcuv_rec1.creation_date;
5787 l_tcuv_rec.last_updated_by := p_tcuv_rec1.last_updated_by;
5788 l_tcuv_rec.last_update_date := p_tcuv_rec1.last_update_date;
5789 l_tcuv_rec.last_update_login := p_tcuv_rec1.last_update_login;
5790 l_tcuv_rec.sfwt_flag := p_tcuv_rec2.sfwt_flag;
5791 l_tcuv_rec.short_description := p_tcuv_rec2.short_description;
5792 l_tcuv_rec.description := p_tcuv_rec2.description;
5793 l_tcuv_rec.comments := p_tcuv_rec2.comments;
5794 l_tcuv_rec.attribute_category := p_tcuv_rec2.attribute_category;
5795 l_tcuv_rec.attribute1 := p_tcuv_rec2.attribute1;
5796 l_tcuv_rec.attribute2 := p_tcuv_rec2.attribute2;
5797 l_tcuv_rec.attribute3 := p_tcuv_rec2.attribute3;
5798 l_tcuv_rec.attribute4 := p_tcuv_rec2.attribute4;
5799 l_tcuv_rec.attribute5 := p_tcuv_rec2.attribute5;
5800 l_tcuv_rec.attribute6 := p_tcuv_rec2.attribute6;
5801 l_tcuv_rec.attribute7 := p_tcuv_rec2.attribute7;
5802 l_tcuv_rec.attribute8 := p_tcuv_rec2.attribute8;
5803 l_tcuv_rec.attribute9 := p_tcuv_rec2.attribute9;
5804 l_tcuv_rec.attribute10 := p_tcuv_rec2.attribute10;
5805 l_tcuv_rec.attribute11 := p_tcuv_rec2.attribute11;
5806 l_tcuv_rec.attribute12 := p_tcuv_rec2.attribute12;
5807 l_tcuv_rec.attribute13 := p_tcuv_rec2.attribute13;
5808 l_tcuv_rec.attribute14 := p_tcuv_rec2.attribute14;
5809 l_tcuv_rec.attribute15 := p_tcuv_rec2.attribute15;
5810 RETURN (l_tcuv_rec);
5811 END migrate_tcuv;
5812
5813 FUNCTION migrate_tcuv(p_tcuv_tbl1 IN tcuv_tbl_type,
5814 p_tcuv_tbl2 IN tcuv_tbl_type)
5815 RETURN tcuv_tbl_type IS
5816 l_tcuv_tbl tcuv_tbl_type;
5817 i NUMBER := 0;
5818 j NUMBER := 0;
5819 BEGIN
5820 -- If the user hook deleted some records or added some new records in the table,
5821 -- discard the change and simply copy the original table.
5822 IF p_tcuv_tbl1.COUNT <> p_tcuv_tbl2.COUNT THEN
5823 l_tcuv_tbl := p_tcuv_tbl1;
5824 ELSE
5825 IF (p_tcuv_tbl1.COUNT > 0) THEN
5826 i := p_tcuv_tbl1.FIRST;
5827 j := p_tcuv_tbl2.FIRST;
5828 LOOP
5829 l_tcuv_tbl(i) := migrate_tcuv(p_tcuv_tbl1(i), p_tcuv_tbl2(j));
5830 EXIT WHEN (i = p_tcuv_tbl1.LAST);
5831 i := p_tcuv_tbl1.NEXT(i);
5832 j := p_tcuv_tbl2.NEXT(j);
5833 END LOOP;
5834 END IF;
5835 END IF;
5836 RETURN (l_tcuv_tbl);
5837 END migrate_tcuv;
5838
5839 PROCEDURE CREATE_TIME_CODE_UNITS(
5840 p_api_version IN NUMBER,
5841 p_init_msg_list IN VARCHAR2 ,
5842 x_return_status OUT NOCOPY VARCHAR2,
5843 x_msg_count OUT NOCOPY NUMBER,
5844 x_msg_data OUT NOCOPY VARCHAR2,
5845 p_tcuv_rec IN tcuv_rec_type,
5846 x_tcuv_rec OUT NOCOPY tcuv_rec_type) IS
5847 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TIME_CODE_UNITS';
5848 l_return_status VARCHAR2(1);
5849 l_tcuv_rec tcuv_rec_type := p_tcuv_rec;
5850 BEGIN
5851 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5852 p_init_msg_list,
5853 '_PUB',
5854 x_return_status);
5855 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5856 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5857 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5858 raise OKC_API.G_EXCEPTION_ERROR;
5859 END IF;
5860 -- Call user hook for BEFORE
5861 g_tcuv_rec := l_tcuv_rec;
5862 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
5863 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5864 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5865 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5866 raise OKC_API.G_EXCEPTION_ERROR;
5867 END IF;
5868 l_tcuv_rec := migrate_tcuv(l_tcuv_rec, g_tcuv_rec);
5869 OKC_TIME_PVT.CREATE_TIME_CODE_UNITS(
5870 p_api_version,
5871 p_init_msg_list,
5872 x_return_status,
5873 x_msg_count,
5874 x_msg_data,
5875 p_tcuv_rec,
5876 x_tcuv_rec);
5877 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5878 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5879 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5880 raise OKC_API.G_EXCEPTION_ERROR;
5881 END IF;
5882
5883 -- Call user hook for AFTER
5884 g_tcuv_rec := x_tcuv_rec;
5885 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
5886 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5887 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5888 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5889 raise OKC_API.G_EXCEPTION_ERROR;
5890 END IF;
5891 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5892 EXCEPTION
5893 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5894 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5895 (l_api_name,
5896 G_PKG_NAME,
5897 'OKC_API.G_RET_STS_ERROR',
5898 x_msg_count,
5899 x_msg_data,
5900 '_PUB');
5901 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5902 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5903 (l_api_name,
5904 G_PKG_NAME,
5905 'OKC_API.G_RET_STS_UNEXP_ERROR',
5906 x_msg_count,
5907 x_msg_data,
5908 '_PUB');
5909 WHEN OTHERS THEN
5910 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5911 (l_api_name,
5912 G_PKG_NAME,
5913 'OTHERS',
5914 x_msg_count,
5915 x_msg_data,
5916 '_PUB');
5917 END CREATE_TIME_CODE_UNITS;
5918
5919 PROCEDURE CREATE_TIME_CODE_UNITS(
5920 p_api_version IN NUMBER,
5921 p_init_msg_list IN VARCHAR2 ,
5922 x_return_status OUT NOCOPY VARCHAR2,
5923 x_msg_count OUT NOCOPY NUMBER,
5924 x_msg_data OUT NOCOPY VARCHAR2,
5925 p_tcuv_tbl IN tcuv_tbl_type,
5926 x_tcuv_tbl OUT NOCOPY tcuv_tbl_type) IS
5927 i NUMBER := 0;
5928 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5929 BEGIN
5930 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5931 IF p_tcuv_tbl.COUNT > 0 THEN
5932 i := p_tcuv_tbl.FIRST;
5933 LOOP
5934 CREATE_TIME_CODE_UNITS(
5935 p_api_version,
5936 p_init_msg_list,
5937 l_return_status,
5938 x_msg_count,
5939 x_msg_data,
5940 p_tcuv_tbl(i),
5941 x_tcuv_tbl(i));
5942 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5943 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5944 x_return_status := l_return_status;
5945 raise G_EXCEPTION_HALT_VALIDATION;
5946 ELSE
5947 x_return_status := l_return_status;
5948 END IF;
5949 END IF;
5950 EXIT WHEN (i = p_tcuv_tbl.LAST);
5951 i := p_tcuv_tbl.NEXT(i);
5952 END LOOP;
5953 END IF;
5954 EXCEPTION
5955 WHEN G_EXCEPTION_HALT_VALIDATION THEN
5956 NULL;
5957 WHEN OTHERS THEN
5958 OKC_API.set_message(p_app_name => g_app_name,
5959 p_msg_name => g_unexpected_error,
5960 p_token1 => g_sqlcode_token,
5961 p_token1_value => sqlcode,
5962 p_token2 => g_sqlerrm_token,
5963 p_token2_value => sqlerrm);
5964 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
5965 END CREATE_TIME_CODE_UNITS;
5966
5967 PROCEDURE UPDATE_TIME_CODE_UNITS(
5968 p_api_version IN NUMBER,
5969 p_init_msg_list IN VARCHAR2 ,
5970 x_return_status OUT NOCOPY VARCHAR2,
5971 x_msg_count OUT NOCOPY NUMBER,
5972 x_msg_data OUT NOCOPY VARCHAR2,
5973 p_tcuv_rec IN tcuv_rec_type,
5974 x_tcuv_rec OUT NOCOPY tcuv_rec_type) IS
5975 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TIME_CODE_UNITS';
5976 l_return_status VARCHAR2(1);
5977 l_tcuv_rec tcuv_rec_type := p_tcuv_rec;
5978 BEGIN
5979 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5980 p_init_msg_list,
5981 '_PUB',
5982 x_return_status);
5983 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5984 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5985 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5986 raise OKC_API.G_EXCEPTION_ERROR;
5987 END IF;
5988 -- Call user hook for BEFORE
5989 g_tcuv_rec := l_tcuv_rec;
5990 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
5991 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5992 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5993 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5994 raise OKC_API.G_EXCEPTION_ERROR;
5995 END IF;
5996 l_tcuv_rec := migrate_tcuv(l_tcuv_rec, g_tcuv_rec);
5997 OKC_TIME_PVT.UPDATE_TIME_CODE_UNITS(
5998 p_api_version,
5999 p_init_msg_list,
6000 x_return_status,
6001 x_msg_count,
6002 x_msg_data,
6003 p_tcuv_rec,
6004 x_tcuv_rec);
6005 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6006 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6007 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6008 raise OKC_API.G_EXCEPTION_ERROR;
6009 END IF;
6010
6011 -- Call user hook for AFTER
6012 g_tcuv_rec := x_tcuv_rec;
6013 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
6014 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6015 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6016 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6017 raise OKC_API.G_EXCEPTION_ERROR;
6018 END IF;
6019 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6020 EXCEPTION
6021 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6022 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6023 (l_api_name,
6024 G_PKG_NAME,
6025 'OKC_API.G_RET_STS_ERROR',
6026 x_msg_count,
6027 x_msg_data,
6028 '_PUB');
6029 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6030 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6031 (l_api_name,
6032 G_PKG_NAME,
6033 'OKC_API.G_RET_STS_UNEXP_ERROR',
6034 x_msg_count,
6035 x_msg_data,
6036 '_PUB');
6037 WHEN OTHERS THEN
6038 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6039 (l_api_name,
6040 G_PKG_NAME,
6041 'OTHERS',
6042 x_msg_count,
6043 x_msg_data,
6044 '_PUB');
6045 END UPDATE_TIME_CODE_UNITS;
6046
6047 PROCEDURE UPDATE_TIME_CODE_UNITS(
6048 p_api_version IN NUMBER,
6049 p_init_msg_list IN VARCHAR2 ,
6050 x_return_status OUT NOCOPY VARCHAR2,
6051 x_msg_count OUT NOCOPY NUMBER,
6052 x_msg_data OUT NOCOPY VARCHAR2,
6053 p_tcuv_tbl IN tcuv_tbl_type,
6054 x_tcuv_tbl OUT NOCOPY tcuv_tbl_type) IS
6055 i NUMBER := 0;
6056 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6057 BEGIN
6058 x_return_status := OKC_API.G_RET_STS_SUCCESS;
6059 IF p_tcuv_tbl.COUNT > 0 THEN
6060 i := p_tcuv_tbl.FIRST;
6061 LOOP
6062 UPDATE_TIME_CODE_UNITS(
6063 p_api_version,
6064 p_init_msg_list,
6065 l_return_status,
6066 x_msg_count,
6067 x_msg_data,
6068 p_tcuv_tbl(i),
6069 x_tcuv_tbl(i));
6070 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
6071 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6072 x_return_status := l_return_status;
6073 raise G_EXCEPTION_HALT_VALIDATION;
6074 ELSE
6075 x_return_status := l_return_status;
6076 END IF;
6077 END IF;
6078 EXIT WHEN (i = p_tcuv_tbl.LAST);
6079 i := p_tcuv_tbl.NEXT(i);
6080 END LOOP;
6081 END IF;
6082 EXCEPTION
6083 WHEN G_EXCEPTION_HALT_VALIDATION THEN
6084 NULL;
6085 WHEN OTHERS THEN
6086 OKC_API.set_message(p_app_name => g_app_name,
6087 p_msg_name => g_unexpected_error,
6088 p_token1 => g_sqlcode_token,
6089 p_token1_value => sqlcode,
6090 p_token2 => g_sqlerrm_token,
6091 p_token2_value => sqlerrm);
6092 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6093 END UPDATE_TIME_CODE_UNITS;
6094
6095 PROCEDURE DELETE_TIME_CODE_UNITS(
6096 p_api_version IN NUMBER,
6097 p_init_msg_list IN VARCHAR2 ,
6098 x_return_status OUT NOCOPY VARCHAR2,
6099 x_msg_count OUT NOCOPY NUMBER,
6100 x_msg_data OUT NOCOPY VARCHAR2,
6101 p_tcuv_rec IN tcuv_rec_type) IS
6102 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TIME_CODE_UNITS';
6103 l_return_status VARCHAR2(1);
6104 l_tcuv_rec tcuv_rec_type := p_tcuv_rec;
6105 BEGIN
6106 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6107 p_init_msg_list,
6108 '_PUB',
6109 x_return_status);
6110 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6111 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6112 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6113 raise OKC_API.G_EXCEPTION_ERROR;
6114 END IF;
6115 -- Call user hook for BEFORE
6116 g_tcuv_rec := l_tcuv_rec;
6117 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
6118 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6119 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6120 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6121 raise OKC_API.G_EXCEPTION_ERROR;
6122 END IF;
6123 OKC_TIME_PVT.DELETE_TIME_CODE_UNITS(
6124 p_api_version,
6125 p_init_msg_list,
6126 x_return_status,
6127 x_msg_count,
6128 x_msg_data,
6129 p_tcuv_rec);
6130 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6131 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6132 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6133 raise OKC_API.G_EXCEPTION_ERROR;
6134 END IF;
6135
6136 -- Call user hook for AFTER
6137 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
6138 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6139 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6140 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6141 raise OKC_API.G_EXCEPTION_ERROR;
6142 END IF;
6143 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6144 EXCEPTION
6145 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6146 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6147 (l_api_name,
6148 G_PKG_NAME,
6149 'OKC_API.G_RET_STS_ERROR',
6150 x_msg_count,
6151 x_msg_data,
6152 '_PUB');
6153 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6154 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6155 (l_api_name,
6156 G_PKG_NAME,
6157 'OKC_API.G_RET_STS_UNEXP_ERROR',
6158 x_msg_count,
6159 x_msg_data,
6160 '_PUB');
6161 WHEN OTHERS THEN
6162 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6163 (l_api_name,
6164 G_PKG_NAME,
6165 'OTHERS',
6166 x_msg_count,
6167 x_msg_data,
6168 '_PUB');
6169 END DELETE_TIME_CODE_UNITS;
6170
6171 PROCEDURE DELETE_TIME_CODE_UNITS(
6172 p_api_version IN NUMBER,
6173 p_init_msg_list IN VARCHAR2 ,
6174 x_return_status OUT NOCOPY VARCHAR2,
6175 x_msg_count OUT NOCOPY NUMBER,
6176 x_msg_data OUT NOCOPY VARCHAR2,
6177 p_tcuv_tbl IN tcuv_tbl_type) IS
6178 i NUMBER := 0;
6179 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6180 BEGIN
6181 x_return_status := OKC_API.G_RET_STS_SUCCESS;
6182 IF p_tcuv_tbl.COUNT > 0 THEN
6183 i := p_tcuv_tbl.FIRST;
6184 LOOP
6185 DELETE_TIME_CODE_UNITS(
6186 p_api_version,
6187 p_init_msg_list,
6188 l_return_status,
6189 x_msg_count,
6190 x_msg_data,
6191 p_tcuv_tbl(i));
6192 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
6193 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6194 x_return_status := l_return_status;
6195 raise G_EXCEPTION_HALT_VALIDATION;
6196 ELSE
6197 x_return_status := l_return_status;
6198 END IF;
6199 END IF;
6200 EXIT WHEN (i = p_tcuv_tbl.LAST);
6201 i := p_tcuv_tbl.NEXT(i);
6202 END LOOP;
6203 END IF;
6204 EXCEPTION
6205 WHEN G_EXCEPTION_HALT_VALIDATION THEN
6206 NULL;
6207 WHEN OTHERS THEN
6208 OKC_API.set_message(p_app_name => g_app_name,
6209 p_msg_name => g_unexpected_error,
6210 p_token1 => g_sqlcode_token,
6211 p_token1_value => sqlcode,
6212 p_token2 => g_sqlerrm_token,
6213 p_token2_value => sqlerrm);
6214 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6215 END DELETE_TIME_CODE_UNITS;
6216
6217 PROCEDURE LOCK_TIME_CODE_UNITS(
6218 p_api_version IN NUMBER,
6219 p_init_msg_list IN VARCHAR2 ,
6220 x_return_status OUT NOCOPY VARCHAR2,
6221 x_msg_count OUT NOCOPY NUMBER,
6222 x_msg_data OUT NOCOPY VARCHAR2,
6223 p_tcuv_rec IN tcuv_rec_type) IS
6224 BEGIN
6225 OKC_TIME_PVT.LOCK_TIME_CODE_UNITS(
6226 p_api_version,
6227 p_init_msg_list,
6228 x_return_status,
6229 x_msg_count,
6230 x_msg_data,
6231 p_tcuv_rec);
6232 END LOCK_TIME_CODE_UNITS;
6233
6234 PROCEDURE LOCK_TIME_CODE_UNITS(
6235 p_api_version IN NUMBER,
6236 p_init_msg_list IN VARCHAR2 ,
6237 x_return_status OUT NOCOPY VARCHAR2,
6238 x_msg_count OUT NOCOPY NUMBER,
6239 x_msg_data OUT NOCOPY VARCHAR2,
6240 p_tcuv_tbl IN tcuv_tbl_type) IS
6241 i NUMBER := 0;
6242 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6243 BEGIN
6244 x_return_status := OKC_API.G_RET_STS_SUCCESS;
6245 IF p_tcuv_tbl.COUNT > 0 THEN
6246 i := p_tcuv_tbl.FIRST;
6247 LOOP
6248 LOCK_TIME_CODE_UNITS(
6249 p_api_version,
6250 p_init_msg_list,
6251 l_return_status,
6252 x_msg_count,
6253 x_msg_data,
6254 p_tcuv_tbl(i));
6255 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
6256 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6257 x_return_status := l_return_status;
6258 raise G_EXCEPTION_HALT_VALIDATION;
6259 ELSE
6260 x_return_status := l_return_status;
6261 END IF;
6262 END IF;
6263 EXIT WHEN (i = p_tcuv_tbl.LAST);
6264 i := p_tcuv_tbl.NEXT(i);
6265 END LOOP;
6266 END IF;
6267 EXCEPTION
6268 WHEN G_EXCEPTION_HALT_VALIDATION THEN
6269 NULL;
6270 WHEN OTHERS THEN
6271 OKC_API.set_message(p_app_name => g_app_name,
6272 p_msg_name => g_unexpected_error,
6273 p_token1 => g_sqlcode_token,
6274 p_token1_value => sqlcode,
6275 p_token2 => g_sqlerrm_token,
6276 p_token2_value => sqlerrm);
6277 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6278 END LOCK_TIME_CODE_UNITS;
6279
6280 PROCEDURE VALID_TIME_CODE_UNITS(
6281 p_api_version IN NUMBER,
6282 p_init_msg_list IN VARCHAR2 ,
6283 x_return_status OUT NOCOPY VARCHAR2,
6284 x_msg_count OUT NOCOPY NUMBER,
6285 x_msg_data OUT NOCOPY VARCHAR2,
6286 p_tcuv_rec IN tcuv_rec_type) IS
6287 BEGIN
6288 OKC_TIME_PVT.VALID_TIME_CODE_UNITS(
6289 p_api_version,
6290 p_init_msg_list,
6291 x_return_status,
6292 x_msg_count,
6293 x_msg_data,
6294 p_tcuv_rec);
6295 END VALID_TIME_CODE_UNITS;
6296
6297 PROCEDURE VALID_TIME_CODE_UNITS(
6298 p_api_version IN NUMBER,
6299 p_init_msg_list IN VARCHAR2 ,
6300 x_return_status OUT NOCOPY VARCHAR2,
6301 x_msg_count OUT NOCOPY NUMBER,
6302 x_msg_data OUT NOCOPY VARCHAR2,
6303 p_tcuv_tbl IN tcuv_tbl_type) IS
6304 i NUMBER := 0;
6305 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6306 BEGIN
6307 x_return_status := OKC_API.G_RET_STS_SUCCESS;
6308 IF p_tcuv_tbl.COUNT > 0 THEN
6309 i := p_tcuv_tbl.FIRST;
6310 LOOP
6311 VALID_TIME_CODE_UNITS(
6312 p_api_version,
6313 p_init_msg_list,
6314 l_return_status,
6315 x_msg_count,
6316 x_msg_data,
6317 p_tcuv_tbl(i));
6318 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
6319 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6320 x_return_status := l_return_status;
6321 raise G_EXCEPTION_HALT_VALIDATION;
6322 ELSE
6323 x_return_status := l_return_status;
6324 END IF;
6325 END IF;
6326 EXIT WHEN (i = p_tcuv_tbl.LAST);
6327 i := p_tcuv_tbl.NEXT(i);
6328 END LOOP;
6329 END IF;
6330 EXCEPTION
6331 WHEN G_EXCEPTION_HALT_VALIDATION THEN
6332 NULL;
6333 WHEN OTHERS THEN
6334 OKC_API.set_message(p_app_name => g_app_name,
6335 p_msg_name => g_unexpected_error,
6336 p_token1 => g_sqlcode_token,
6337 p_token1_value => sqlcode,
6338 p_token2 => g_sqlerrm_token,
6339 p_token2_value => sqlerrm);
6340 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6341 END VALID_TIME_CODE_UNITS;
6342
6343 --------------------------------------------------------------------------
6344 ---The following procedures cater to handling of OKC_TIME_RESOLVED_TIMEVALUES
6345 --------------------------------------------------------------------------
6346
6347 FUNCTION migrate_rtvv(p_rtvv_rec1 IN rtvv_rec_type,
6348 p_rtvv_rec2 IN rtvv_rec_type)
6349 RETURN rtvv_rec_type IS
6350 l_rtvv_rec rtvv_rec_type;
6351 BEGIN
6352 l_rtvv_rec.coe_id := p_rtvv_rec2.coe_id;
6353 l_rtvv_rec.tve_id := p_rtvv_rec2.tve_id;
6354 l_rtvv_rec.datetime := p_rtvv_rec2.datetime;
6355 l_rtvv_rec.id := p_rtvv_rec1.id;
6356 l_rtvv_rec.object_version_number := p_rtvv_rec1.object_version_number;
6357 l_rtvv_rec.created_by := p_rtvv_rec1.created_by;
6358 l_rtvv_rec.creation_date := p_rtvv_rec1.creation_date;
6359 l_rtvv_rec.last_updated_by := p_rtvv_rec1.last_updated_by;
6360 l_rtvv_rec.last_update_date := p_rtvv_rec1.last_update_date;
6361 l_rtvv_rec.last_update_login := p_rtvv_rec1.last_update_login;
6362 RETURN (l_rtvv_rec);
6363 END migrate_rtvv;
6364
6365 FUNCTION migrate_rtvv(p_rtvv_tbl1 IN rtvv_tbl_type,
6366 p_rtvv_tbl2 IN rtvv_tbl_type)
6367 RETURN rtvv_tbl_type IS
6368 l_rtvv_tbl rtvv_tbl_type;
6369 i NUMBER := 0;
6370 j NUMBER := 0;
6371 BEGIN
6372 -- If the user hook deleted some records or added some new records in the table,
6373 -- discard the change and simply copy the original table.
6374 IF p_rtvv_tbl1.COUNT <> p_rtvv_tbl2.COUNT THEN
6375 l_rtvv_tbl := p_rtvv_tbl1;
6376 ELSE
6377 IF (p_rtvv_tbl1.COUNT > 0) THEN
6378 i := p_rtvv_tbl1.FIRST;
6379 j := p_rtvv_tbl2.FIRST;
6380 LOOP
6381 l_rtvv_tbl(i) := migrate_rtvv(p_rtvv_tbl1(i), p_rtvv_tbl2(j));
6382 EXIT WHEN (i = p_rtvv_tbl1.LAST);
6383 i := p_rtvv_tbl1.NEXT(i);
6384 j := p_rtvv_tbl2.NEXT(j);
6385 END LOOP;
6386 END IF;
6387 END IF;
6388 RETURN (l_rtvv_tbl);
6389 END migrate_rtvv;
6390
6391 PROCEDURE CREATE_RESOLVED_TIMEVALUES(
6392 p_api_version IN NUMBER,
6393 p_init_msg_list IN VARCHAR2 ,
6394 x_return_status OUT NOCOPY VARCHAR2,
6395 x_msg_count OUT NOCOPY NUMBER,
6396 x_msg_data OUT NOCOPY VARCHAR2,
6397 p_rtvv_rec IN rtvv_rec_type,
6398 x_rtvv_rec OUT NOCOPY rtvv_rec_type) IS
6399 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_RESOLVED_TIMEVALUES';
6400 l_return_status VARCHAR2(1);
6401 l_rtvv_rec rtvv_rec_type := p_rtvv_rec;
6402 BEGIN
6403 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6404 p_init_msg_list,
6405 '_PUB',
6406 x_return_status);
6407 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6408 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6409 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6410 raise OKC_API.G_EXCEPTION_ERROR;
6411 END IF;
6412 -- Call user hook for BEFORE
6413 g_rtvv_rec := l_rtvv_rec;
6414 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
6415 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6416 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6417 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6418 raise OKC_API.G_EXCEPTION_ERROR;
6419 END IF;
6420 l_rtvv_rec := migrate_rtvv(l_rtvv_rec, g_rtvv_rec);
6421 OKC_TIME_PVT.CREATE_RESOLVED_TIMEVALUES(
6422 p_api_version,
6423 p_init_msg_list,
6424 x_return_status,
6425 x_msg_count,
6426 x_msg_data,
6427 p_rtvv_rec,
6428 x_rtvv_rec);
6429 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6430 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6431 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6432 raise OKC_API.G_EXCEPTION_ERROR;
6433 END IF;
6434
6435 -- Call user hook for AFTER
6436 g_rtvv_rec := x_rtvv_rec;
6437 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
6438 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6439 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6440 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6441 raise OKC_API.G_EXCEPTION_ERROR;
6442 END IF;
6443 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6444 EXCEPTION
6445 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6446 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6447 (l_api_name,
6448 G_PKG_NAME,
6449 'OKC_API.G_RET_STS_ERROR',
6450 x_msg_count,
6451 x_msg_data,
6452 '_PUB');
6453 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6454 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6455 (l_api_name,
6456 G_PKG_NAME,
6457 'OKC_API.G_RET_STS_UNEXP_ERROR',
6458 x_msg_count,
6459 x_msg_data,
6460 '_PUB');
6461 WHEN OTHERS THEN
6462 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6463 (l_api_name,
6464 G_PKG_NAME,
6465 'OTHERS',
6466 x_msg_count,
6467 x_msg_data,
6468 '_PUB');
6469 END CREATE_RESOLVED_TIMEVALUES;
6470
6471 PROCEDURE CREATE_RESOLVED_TIMEVALUES(
6472 p_api_version IN NUMBER,
6473 p_init_msg_list IN VARCHAR2 ,
6474 x_return_status OUT NOCOPY VARCHAR2,
6475 x_msg_count OUT NOCOPY NUMBER,
6476 x_msg_data OUT NOCOPY VARCHAR2,
6477 p_rtvv_tbl IN rtvv_tbl_type,
6478 x_rtvv_tbl OUT NOCOPY rtvv_tbl_type) IS
6479 i NUMBER := 0;
6480 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6481 BEGIN
6482 x_return_status := OKC_API.G_RET_STS_SUCCESS;
6483 IF p_rtvv_tbl.COUNT > 0 THEN
6484 i := p_rtvv_tbl.FIRST;
6485 LOOP
6486 CREATE_RESOLVED_TIMEVALUES(
6487 p_api_version,
6488 p_init_msg_list,
6489 l_return_status,
6490 x_msg_count,
6491 x_msg_data,
6492 p_rtvv_tbl(i),
6493 x_rtvv_tbl(i));
6494 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
6495 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6496 x_return_status := l_return_status;
6497 raise G_EXCEPTION_HALT_VALIDATION;
6498 ELSE
6499 x_return_status := l_return_status;
6500 END IF;
6501 END IF;
6502 EXIT WHEN (i = p_rtvv_tbl.LAST);
6503 i := p_rtvv_tbl.NEXT(i);
6504 END LOOP;
6505 END IF;
6506 EXCEPTION
6507 WHEN G_EXCEPTION_HALT_VALIDATION THEN
6508 NULL;
6509 WHEN OTHERS THEN
6510 OKC_API.set_message(p_app_name => g_app_name,
6511 p_msg_name => g_unexpected_error,
6512 p_token1 => g_sqlcode_token,
6513 p_token1_value => sqlcode,
6514 p_token2 => g_sqlerrm_token,
6515 p_token2_value => sqlerrm);
6516 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6517 END CREATE_RESOLVED_TIMEVALUES;
6518
6519 PROCEDURE UPDATE_RESOLVED_TIMEVALUES(
6520 p_api_version IN NUMBER,
6521 p_init_msg_list IN VARCHAR2 ,
6522 x_return_status OUT NOCOPY VARCHAR2,
6523 x_msg_count OUT NOCOPY NUMBER,
6524 x_msg_data OUT NOCOPY VARCHAR2,
6525 p_rtvv_rec IN rtvv_rec_type,
6526 x_rtvv_rec OUT NOCOPY rtvv_rec_type) IS
6527 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_RESOLVED_TIMEVALUES';
6528 l_return_status VARCHAR2(1);
6529 l_rtvv_rec rtvv_rec_type := p_rtvv_rec;
6530 BEGIN
6531 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6532 p_init_msg_list,
6533 '_PUB',
6534 x_return_status);
6535 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6536 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6537 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6538 raise OKC_API.G_EXCEPTION_ERROR;
6539 END IF;
6540 -- Call user hook for BEFORE
6541 g_rtvv_rec := l_rtvv_rec;
6542 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
6543 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6544 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6545 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6546 raise OKC_API.G_EXCEPTION_ERROR;
6547 END IF;
6548 l_rtvv_rec := migrate_rtvv(l_rtvv_rec, g_rtvv_rec);
6549 OKC_TIME_PVT.UPDATE_RESOLVED_TIMEVALUES(
6550 p_api_version,
6551 p_init_msg_list,
6552 x_return_status,
6553 x_msg_count,
6554 x_msg_data,
6555 p_rtvv_rec,
6556 x_rtvv_rec);
6557 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6558 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6559 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6560 raise OKC_API.G_EXCEPTION_ERROR;
6561 END IF;
6562
6563 -- Call user hook for AFTER
6564 g_rtvv_rec := x_rtvv_rec;
6565 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
6566 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6567 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6568 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6569 raise OKC_API.G_EXCEPTION_ERROR;
6570 END IF;
6571 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6572 EXCEPTION
6573 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6574 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6575 (l_api_name,
6576 G_PKG_NAME,
6577 'OKC_API.G_RET_STS_ERROR',
6578 x_msg_count,
6579 x_msg_data,
6580 '_PUB');
6581 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6582 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6583 (l_api_name,
6584 G_PKG_NAME,
6585 'OKC_API.G_RET_STS_UNEXP_ERROR',
6586 x_msg_count,
6587 x_msg_data,
6588 '_PUB');
6589 WHEN OTHERS THEN
6590 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6591 (l_api_name,
6592 G_PKG_NAME,
6593 'OTHERS',
6594 x_msg_count,
6595 x_msg_data,
6596 '_PUB');
6597 END UPDATE_RESOLVED_TIMEVALUES;
6598
6599 PROCEDURE UPDATE_RESOLVED_TIMEVALUES(
6600 p_api_version IN NUMBER,
6601 p_init_msg_list IN VARCHAR2 ,
6602 x_return_status OUT NOCOPY VARCHAR2,
6603 x_msg_count OUT NOCOPY NUMBER,
6604 x_msg_data OUT NOCOPY VARCHAR2,
6605 p_rtvv_tbl IN rtvv_tbl_type,
6606 x_rtvv_tbl OUT NOCOPY rtvv_tbl_type) IS
6607 i NUMBER := 0;
6608 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6609 BEGIN
6610 x_return_status := OKC_API.G_RET_STS_SUCCESS;
6611 IF p_rtvv_tbl.COUNT > 0 THEN
6612 i := p_rtvv_tbl.FIRST;
6613 LOOP
6614 UPDATE_RESOLVED_TIMEVALUES(
6615 p_api_version,
6616 p_init_msg_list,
6617 l_return_status,
6618 x_msg_count,
6619 x_msg_data,
6620 p_rtvv_tbl(i),
6621 x_rtvv_tbl(i));
6622 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
6623 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6624 x_return_status := l_return_status;
6625 raise G_EXCEPTION_HALT_VALIDATION;
6626 ELSE
6627 x_return_status := l_return_status;
6628 END IF;
6629 END IF;
6630 EXIT WHEN (i = p_rtvv_tbl.LAST);
6631 i := p_rtvv_tbl.NEXT(i);
6632 END LOOP;
6633 END IF;
6634 EXCEPTION
6635 WHEN G_EXCEPTION_HALT_VALIDATION THEN
6636 NULL;
6637 WHEN OTHERS THEN
6638 OKC_API.set_message(p_app_name => g_app_name,
6639 p_msg_name => g_unexpected_error,
6640 p_token1 => g_sqlcode_token,
6641 p_token1_value => sqlcode,
6642 p_token2 => g_sqlerrm_token,
6643 p_token2_value => sqlerrm);
6644 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6645 END UPDATE_RESOLVED_TIMEVALUES;
6646
6647 PROCEDURE DELETE_RESOLVED_TIMEVALUES(
6648 p_api_version IN NUMBER,
6649 p_init_msg_list IN VARCHAR2 ,
6650 x_return_status OUT NOCOPY VARCHAR2,
6651 x_msg_count OUT NOCOPY NUMBER,
6652 x_msg_data OUT NOCOPY VARCHAR2,
6653 p_rtvv_rec IN rtvv_rec_type) IS
6654 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_RESOLVED_TIMEVALUES';
6655 l_return_status VARCHAR2(1);
6656 l_rtvv_rec rtvv_rec_type := p_rtvv_rec;
6657 BEGIN
6658 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6659 p_init_msg_list,
6660 '_PUB',
6661 x_return_status);
6662 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6663 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6664 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6665 raise OKC_API.G_EXCEPTION_ERROR;
6666 END IF;
6667 -- Call user hook for BEFORE
6668 g_rtvv_rec := l_rtvv_rec;
6669 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
6670 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6671 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6672 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6673 raise OKC_API.G_EXCEPTION_ERROR;
6674 END IF;
6675 OKC_TIME_PVT.DELETE_RESOLVED_TIMEVALUES(
6676 p_api_version,
6677 p_init_msg_list,
6678 x_return_status,
6679 x_msg_count,
6680 x_msg_data,
6681 p_rtvv_rec);
6682 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6683 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6684 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6685 raise OKC_API.G_EXCEPTION_ERROR;
6686 END IF;
6687
6688 -- Call user hook for AFTER
6689 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
6690 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6691 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6692 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6693 raise OKC_API.G_EXCEPTION_ERROR;
6694 END IF;
6695 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6696 EXCEPTION
6697 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6698 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6699 (l_api_name,
6700 G_PKG_NAME,
6701 'OKC_API.G_RET_STS_ERROR',
6702 x_msg_count,
6703 x_msg_data,
6704 '_PUB');
6705 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6706 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6707 (l_api_name,
6708 G_PKG_NAME,
6709 'OKC_API.G_RET_STS_UNEXP_ERROR',
6710 x_msg_count,
6711 x_msg_data,
6712 '_PUB');
6713 WHEN OTHERS THEN
6714 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6715 (l_api_name,
6716 G_PKG_NAME,
6717 'OTHERS',
6718 x_msg_count,
6719 x_msg_data,
6720 '_PUB');
6721 END DELETE_RESOLVED_TIMEVALUES;
6722
6723 PROCEDURE DELETE_RESOLVED_TIMEVALUES(
6724 p_api_version IN NUMBER,
6725 p_init_msg_list IN VARCHAR2 ,
6726 x_return_status OUT NOCOPY VARCHAR2,
6727 x_msg_count OUT NOCOPY NUMBER,
6728 x_msg_data OUT NOCOPY VARCHAR2,
6729 p_rtvv_tbl IN rtvv_tbl_type) IS
6730 i NUMBER := 0;
6731 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6732 BEGIN
6733 x_return_status := OKC_API.G_RET_STS_SUCCESS;
6734 IF p_rtvv_tbl.COUNT > 0 THEN
6735 i := p_rtvv_tbl.FIRST;
6736 LOOP
6737 DELETE_RESOLVED_TIMEVALUES(
6738 p_api_version,
6739 p_init_msg_list,
6740 l_return_status,
6741 x_msg_count,
6742 x_msg_data,
6743 p_rtvv_tbl(i));
6744 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
6745 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6746 x_return_status := l_return_status;
6747 raise G_EXCEPTION_HALT_VALIDATION;
6748 ELSE
6749 x_return_status := l_return_status;
6750 END IF;
6751 END IF;
6752 EXIT WHEN (i = p_rtvv_tbl.LAST);
6753 i := p_rtvv_tbl.NEXT(i);
6754 END LOOP;
6755 END IF;
6756 EXCEPTION
6757 WHEN G_EXCEPTION_HALT_VALIDATION THEN
6758 NULL;
6759 WHEN OTHERS THEN
6760 OKC_API.set_message(p_app_name => g_app_name,
6761 p_msg_name => g_unexpected_error,
6762 p_token1 => g_sqlcode_token,
6763 p_token1_value => sqlcode,
6764 p_token2 => g_sqlerrm_token,
6765 p_token2_value => sqlerrm);
6766 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6767 END DELETE_RESOLVED_TIMEVALUES;
6768
6769 PROCEDURE LOCK_RESOLVED_TIMEVALUES(
6770 p_api_version IN NUMBER,
6771 p_init_msg_list IN VARCHAR2 ,
6772 x_return_status OUT NOCOPY VARCHAR2,
6773 x_msg_count OUT NOCOPY NUMBER,
6774 x_msg_data OUT NOCOPY VARCHAR2,
6775 p_rtvv_rec IN rtvv_rec_type) IS
6776 BEGIN
6777 OKC_TIME_PVT.LOCK_RESOLVED_TIMEVALUES(
6778 p_api_version,
6779 p_init_msg_list,
6780 x_return_status,
6781 x_msg_count,
6782 x_msg_data,
6783 p_rtvv_rec);
6784 END LOCK_RESOLVED_TIMEVALUES;
6785
6786 PROCEDURE LOCK_RESOLVED_TIMEVALUES(
6787 p_api_version IN NUMBER,
6788 p_init_msg_list IN VARCHAR2 ,
6789 x_return_status OUT NOCOPY VARCHAR2,
6790 x_msg_count OUT NOCOPY NUMBER,
6791 x_msg_data OUT NOCOPY VARCHAR2,
6792 p_rtvv_tbl IN rtvv_tbl_type) IS
6793 i NUMBER := 0;
6794 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6795 BEGIN
6796 x_return_status := OKC_API.G_RET_STS_SUCCESS;
6797 IF p_rtvv_tbl.COUNT > 0 THEN
6798 i := p_rtvv_tbl.FIRST;
6799 LOOP
6800 LOCK_RESOLVED_TIMEVALUES(
6801 p_api_version,
6802 p_init_msg_list,
6803 l_return_status,
6804 x_msg_count,
6805 x_msg_data,
6806 p_rtvv_tbl(i));
6807 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
6808 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6809 x_return_status := l_return_status;
6810 raise G_EXCEPTION_HALT_VALIDATION;
6811 ELSE
6812 x_return_status := l_return_status;
6813 END IF;
6814 END IF;
6815 EXIT WHEN (i = p_rtvv_tbl.LAST);
6816 i := p_rtvv_tbl.NEXT(i);
6817 END LOOP;
6818 END IF;
6819 EXCEPTION
6820 WHEN G_EXCEPTION_HALT_VALIDATION THEN
6821 NULL;
6822 WHEN OTHERS THEN
6823 OKC_API.set_message(p_app_name => g_app_name,
6824 p_msg_name => g_unexpected_error,
6825 p_token1 => g_sqlcode_token,
6826 p_token1_value => sqlcode,
6827 p_token2 => g_sqlerrm_token,
6828 p_token2_value => sqlerrm);
6829 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6830 END LOCK_RESOLVED_TIMEVALUES;
6831
6832 PROCEDURE VALID_RESOLVED_TIMEVALUES(
6833 p_api_version IN NUMBER,
6834 p_init_msg_list IN VARCHAR2 ,
6835 x_return_status OUT NOCOPY VARCHAR2,
6836 x_msg_count OUT NOCOPY NUMBER,
6837 x_msg_data OUT NOCOPY VARCHAR2,
6838 p_rtvv_rec IN rtvv_rec_type) IS
6839 BEGIN
6840 OKC_TIME_PVT.VALID_RESOLVED_TIMEVALUES(
6841 p_api_version,
6842 p_init_msg_list,
6843 x_return_status,
6844 x_msg_count,
6845 x_msg_data,
6846 p_rtvv_rec);
6847 END VALID_RESOLVED_TIMEVALUES;
6848
6849 PROCEDURE VALID_RESOLVED_TIMEVALUES(
6850 p_api_version IN NUMBER,
6851 p_init_msg_list IN VARCHAR2 ,
6852 x_return_status OUT NOCOPY VARCHAR2,
6853 x_msg_count OUT NOCOPY NUMBER,
6854 x_msg_data OUT NOCOPY VARCHAR2,
6855 p_rtvv_tbl IN rtvv_tbl_type) IS
6856 i NUMBER := 0;
6857 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6858 BEGIN
6859 x_return_status := OKC_API.G_RET_STS_SUCCESS;
6860 IF p_rtvv_tbl.COUNT > 0 THEN
6861 i := p_rtvv_tbl.FIRST;
6862 LOOP
6863 VALID_RESOLVED_TIMEVALUES(
6864 p_api_version,
6865 p_init_msg_list,
6866 l_return_status,
6867 x_msg_count,
6868 x_msg_data,
6869 p_rtvv_tbl(i));
6870 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
6871 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6872 x_return_status := l_return_status;
6873 raise G_EXCEPTION_HALT_VALIDATION;
6874 ELSE
6875 x_return_status := l_return_status;
6876 END IF;
6877 END IF;
6878 EXIT WHEN (i = p_rtvv_tbl.LAST);
6879 i := p_rtvv_tbl.NEXT(i);
6880 END LOOP;
6881 END IF;
6882 EXCEPTION
6883 WHEN G_EXCEPTION_HALT_VALIDATION THEN
6884 NULL;
6885 WHEN OTHERS THEN
6886 OKC_API.set_message(p_app_name => g_app_name,
6887 p_msg_name => g_unexpected_error,
6888 p_token1 => g_sqlcode_token,
6889 p_token1_value => sqlcode,
6890 p_token2 => g_sqlerrm_token,
6891 p_token2_value => sqlerrm);
6892 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6893 END VALID_RESOLVED_TIMEVALUES;
6894 END OKC_TIME_PUB;