[Home] [Help]
PACKAGE BODY: APPS.OKC_K_HISTORY_PUB
Source
1 PACKAGE BODY OKC_K_HISTORY_PUB AS
2 /* $Header: OKCPHSTB.pls 120.0 2005/05/25 19:38:39 appldev noship $ */
3 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
4
5 g_api_type CONSTANT VARCHAR2(4) := '_PUB';
6
7 PROCEDURE create_k_history(
8 p_api_version IN NUMBER,
9 p_init_msg_list IN VARCHAR2 ,
10 x_return_status OUT NOCOPY VARCHAR2,
11 x_msg_count OUT NOCOPY NUMBER,
12 x_msg_data OUT NOCOPY VARCHAR2,
13 p_hstv_rec IN hstv_rec_type,
14 x_hstv_rec OUT NOCOPY hstv_rec_type) IS
15
16 l_hstv_rec hstv_rec_type;
17 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_K_HISTORY';
18 l_api_version CONSTANT NUMBER := 1.0;
19 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
20 BEGIN
21 -- call START_ACTIVITY to create savepoint, check compatibility
22 -- and initialize message list
23 l_return_status := OKC_API.START_ACTIVITY(
24 p_api_name => l_api_name,
25 p_pkg_name => g_pkg_name,
26 p_init_msg_list => p_init_msg_list,
27 l_api_version => l_api_version,
28 p_api_version => p_api_version,
29 p_api_type => g_api_type,
30 x_return_status => x_return_status);
31
32 -- check if activity started successfully
33 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
34 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
35 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
36 raise OKC_API.G_EXCEPTION_ERROR;
37 End If;
38
39 -- call BEFORE user hook
40 l_hstv_rec := p_hstv_rec;
41 g_hstv_rec := l_hstv_rec;
42
43 OKC_UTIL.call_user_hook(x_return_status => x_return_status,
44 p_package_name => g_pkg_name,
45 p_procedure_name => l_api_name,
46 p_before_after => 'B');
47
48 -- check return status of user hook call
49 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
50 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
51 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
52 raise OKC_API.G_EXCEPTION_ERROR;
53 End If;
54
55 -- get values back from user hook call
56 l_hstv_rec := g_hstv_rec;
57 l_hstv_rec.id := p_hstv_rec.id;
58 l_hstv_rec.object_version_number := p_hstv_rec.object_version_number;
59
60 -- call procedure in complex API
61 OKC_K_HISTORY_PVT.create_k_history(
62 p_api_version => p_api_version,
63 p_init_msg_list => p_init_msg_list,
64 x_return_status => x_return_status,
65 x_msg_count => x_msg_count,
66 x_msg_data => x_msg_data,
67 p_hstv_rec => l_hstv_rec,
68 x_hstv_rec => x_hstv_rec);
69
70 -- check return status
71 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
72 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
73 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
74 raise OKC_API.G_EXCEPTION_ERROR;
75 End If;
76
77 -- call AFTER user hook
78 g_hstv_rec := x_hstv_rec;
79
80 OKC_UTIL.call_user_hook(x_return_status => x_return_status,
81 p_package_name => g_pkg_name,
82 p_procedure_name => l_api_name,
83 p_before_after => 'A');
84
85 -- check return status of the user hook call
86 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
87 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
88 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
89 raise OKC_API.G_EXCEPTION_ERROR;
90 End If;
91
92 -- end activity
96 when OKC_API.G_EXCEPTION_ERROR then
93 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
94 x_msg_data => x_msg_data);
95 EXCEPTION
97 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
98 p_api_name => l_api_name,
99 p_pkg_name => g_pkg_name,
100 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
101 x_msg_count => x_msg_count,
102 x_msg_data => x_msg_data,
103 p_api_type => g_api_type);
104
105 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
106 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
107 p_api_name => l_api_name,
108 p_pkg_name => g_pkg_name,
109 p_exc_name =>
110 'OKC_API.G_RET_STS_UNEXP_ERROR',
111 x_msg_count => x_msg_count,
112 x_msg_data => x_msg_data,
113 p_api_type => g_api_type);
114
115 when OTHERS then
116 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
117 p_api_name => l_api_name,
118 p_pkg_name => g_pkg_name,
119 p_exc_name => 'OTHERS',
120 x_msg_count => x_msg_count,
121 x_msg_data => x_msg_data,
122 p_api_type => g_api_type);
123
124 END create_k_history;
125
126 PROCEDURE create_k_history(
127 p_api_version IN NUMBER,
128 p_init_msg_list IN VARCHAR2 ,
129 x_return_status OUT NOCOPY VARCHAR2,
130 x_msg_count OUT NOCOPY NUMBER,
131 x_msg_data OUT NOCOPY VARCHAR2,
132 p_hstv_tbl IN hstv_tbl_type,
133 x_hstv_tbl OUT NOCOPY hstv_tbl_type) IS
134
135 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_K_HISTORY';
136 l_api_version CONSTANT NUMBER := 1.0;
137 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
138 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
139 i NUMBER;
140 BEGIN
141 -- call START_ACTIVITY to create savepoint, check compatibility
142 -- and initialize message list
143 l_return_status := OKC_API.START_ACTIVITY(
144 p_api_name => l_api_name,
145 p_pkg_name => g_pkg_name,
146 p_init_msg_list => p_init_msg_list,
147 l_api_version => l_api_version,
148 p_api_version => p_api_version,
149 p_api_type => g_api_type,
150 x_return_status => x_return_status);
151
152 -- check if activity started successfully
153 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
154 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
155 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
156 raise OKC_API.G_EXCEPTION_ERROR;
157 End If;
158
159 If (p_hstv_tbl.COUNT > 0) Then
160 i := p_hstv_tbl.FIRST;
161 LOOP
162 -- call procedure in public API for a record
163 OKC_K_HISTORY_PVT.create_k_history(
164 p_api_version => p_api_version,
165 p_init_msg_list => p_init_msg_list,
166 x_return_status => x_return_status,
167 x_msg_count => x_msg_count,
168 x_msg_data => x_msg_data,
169 p_hstv_rec => p_hstv_tbl(i),
170 x_hstv_rec => x_hstv_tbl(i));
171
172 -- store the highest degree of error
173 If x_return_status <> OKC_API.G_RET_STS_SUCCESS Then
174 If l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR Then
175 l_overall_status := x_return_status;
176 End If;
177 End If;
178 EXIT WHEN (i = p_hstv_tbl.LAST);
179 i := p_hstv_tbl.NEXT(i);
180 END LOOP;
181 -- return overall status
182 x_return_status := l_overall_status;
183 End If;
184
185 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
186 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
187 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
188 raise OKC_API.G_EXCEPTION_ERROR;
189 End If;
190
191 -- end activity
192 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
193 x_msg_data => x_msg_data);
194 EXCEPTION
195 when OKC_API.G_EXCEPTION_ERROR then
196 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
197 p_api_name => l_api_name,
198 p_pkg_name => g_pkg_name,
199 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
200 x_msg_count => x_msg_count,
201 x_msg_data => x_msg_data,
205 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
202 p_api_type => g_api_type);
203
204 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
206 p_api_name => l_api_name,
207 p_pkg_name => g_pkg_name,
208 p_exc_name =>
209 'OKC_API.G_RET_STS_UNEXP_ERROR',
210 x_msg_count => x_msg_count,
211 x_msg_data => x_msg_data,
212 p_api_type => g_api_type);
213
214 when OTHERS then
215 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
216 p_api_name => l_api_name,
217 p_pkg_name => g_pkg_name,
218 p_exc_name => 'OTHERS',
219 x_msg_count => x_msg_count,
220 x_msg_data => x_msg_data,
221 p_api_type => g_api_type);
222
223 END create_k_history;
224
225
226 PROCEDURE delete_k_history(
227 p_api_version IN NUMBER,
228 p_init_msg_list IN VARCHAR2 ,
229 x_return_status OUT NOCOPY VARCHAR2,
230 x_msg_count OUT NOCOPY NUMBER,
231 x_msg_data OUT NOCOPY VARCHAR2,
232 p_hstv_rec IN hstv_rec_type) IS
233
234 l_hstv_rec hstv_rec_type;
235 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_K_HISTORY';
236 l_api_version CONSTANT NUMBER := 1.0;
237 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
238 BEGIN
239 -- call START_ACTIVITY to create savepoint, check compatibility
240 -- and initialize message list
241 l_return_status := OKC_API.START_ACTIVITY(
242 p_api_name => l_api_name,
243 p_pkg_name => g_pkg_name,
244 p_init_msg_list => p_init_msg_list,
245 l_api_version => l_api_version,
246 p_api_version => p_api_version,
247 p_api_type => g_api_type,
248 x_return_status => x_return_status);
249
250 -- check if activity started successfully
251 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
252 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
253 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
254 raise OKC_API.G_EXCEPTION_ERROR;
255 End If;
256
257 -- call BEFORE user hook
258 l_hstv_rec := p_hstv_rec;
259 g_hstv_rec := l_hstv_rec;
260
261 OKC_UTIL.call_user_hook(x_return_status => x_return_status,
262 p_package_name => g_pkg_name,
263 p_procedure_name => l_api_name,
264 p_before_after => 'B');
265
266 -- check return status of user hook call
267 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
268 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
269 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
270 raise OKC_API.G_EXCEPTION_ERROR;
271 End If;
272
273 -- get values back from user hook call
274 l_hstv_rec := g_hstv_rec;
275 l_hstv_rec.id := p_hstv_rec.id;
276 l_hstv_rec.object_version_number := p_hstv_rec.object_version_number;
277
278 -- call procedure in complex API
279 OKC_K_HISTORY_PVT.delete_k_history(
280 p_api_version => p_api_version,
281 p_init_msg_list => p_init_msg_list,
282 x_return_status => x_return_status,
283 x_msg_count => x_msg_count,
284 x_msg_data => x_msg_data,
285 p_hstv_rec => l_hstv_rec);
286
287 -- check return status
288 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
289 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
290 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
291 raise OKC_API.G_EXCEPTION_ERROR;
292 End If;
293
294 OKC_UTIL.call_user_hook(x_return_status => x_return_status,
295 p_package_name => g_pkg_name,
296 p_procedure_name => l_api_name,
297 p_before_after => 'A');
298
299 -- check return status of the user hook call
300 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
301 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
302 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
303 raise OKC_API.G_EXCEPTION_ERROR;
304 End If;
305
306 -- end activity
307 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
308 x_msg_data => x_msg_data);
309 EXCEPTION
310 when OKC_API.G_EXCEPTION_ERROR then
311 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
312 p_api_name => l_api_name,
313 p_pkg_name => g_pkg_name,
314 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
315 x_msg_count => x_msg_count,
316 x_msg_data => x_msg_data,
317 p_api_type => g_api_type);
318
322 p_pkg_name => g_pkg_name,
319 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
320 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
321 p_api_name => l_api_name,
323 p_exc_name =>
324 'OKC_API.G_RET_STS_UNEXP_ERROR',
325 x_msg_count => x_msg_count,
326 x_msg_data => x_msg_data,
327 p_api_type => g_api_type);
328
329 when OTHERS then
330 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
331 p_api_name => l_api_name,
332 p_pkg_name => g_pkg_name,
333 p_exc_name => 'OTHERS',
334 x_msg_count => x_msg_count,
335 x_msg_data => x_msg_data,
336 p_api_type => g_api_type);
337
338 END delete_k_history;
339
340 PROCEDURE delete_k_history(
341 p_api_version IN NUMBER,
342 p_init_msg_list IN VARCHAR2 ,
343 x_return_status OUT NOCOPY VARCHAR2,
344 x_msg_count OUT NOCOPY NUMBER,
345 x_msg_data OUT NOCOPY VARCHAR2,
346 p_hstv_tbl IN hstv_tbl_type) IS
347
348 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_K_HISTORY';
349 l_api_version CONSTANT NUMBER := 1.0;
350 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
351 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
352 i NUMBER;
353 BEGIN
354 -- call START_ACTIVITY to create savepoint, check compatibility
355 -- and initialize message list
356 l_return_status := OKC_API.START_ACTIVITY(
357 p_api_name => l_api_name,
358 p_pkg_name => g_pkg_name,
359 p_init_msg_list => p_init_msg_list,
360 l_api_version => l_api_version,
361 p_api_version => p_api_version,
362 p_api_type => g_api_type,
363 x_return_status => x_return_status);
364
365 -- check if activity started successfully
366 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
367 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
368 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
369 raise OKC_API.G_EXCEPTION_ERROR;
370 End If;
371
372 If (p_hstv_tbl.COUNT > 0) Then
373 i := p_hstv_tbl.FIRST;
374 LOOP
375 -- call procedure in complex API
376 OKC_K_HISTORY_PVT.delete_k_history(
377 p_api_version => p_api_version,
378 p_init_msg_list => p_init_msg_list,
379 x_return_status => x_return_status,
380 x_msg_count => x_msg_count,
381 x_msg_data => x_msg_data,
382 p_hstv_rec => p_hstv_tbl(i));
383
384 -- store the highest degree of error
385 If x_return_status <> OKC_API.G_RET_STS_SUCCESS Then
386 If l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR Then
387 l_overall_status := x_return_status;
388 End If;
389 End If;
390 EXIT WHEN (i = p_hstv_tbl.LAST);
391 i := p_hstv_tbl.NEXT(i);
392 END LOOP;
393 -- return overall status
394 x_return_status := l_overall_status;
395 End If;
396
397 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
398 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
399 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
400 raise OKC_API.G_EXCEPTION_ERROR;
401 End If;
402
403 -- end activity
404 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
405 x_msg_data => x_msg_data);
406 EXCEPTION
407 when OKC_API.G_EXCEPTION_ERROR then
408 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
409 p_api_name => l_api_name,
410 p_pkg_name => g_pkg_name,
411 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
412 x_msg_count => x_msg_count,
413 x_msg_data => x_msg_data,
414 p_api_type => g_api_type);
415
416 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
417 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
418 p_api_name => l_api_name,
419 p_pkg_name => g_pkg_name,
420 p_exc_name =>
421 'OKC_API.G_RET_STS_UNEXP_ERROR',
422 x_msg_count => x_msg_count,
423 x_msg_data => x_msg_data,
424 p_api_type => g_api_type);
425
426 when OTHERS then
427 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
428 p_api_name => l_api_name,
429 p_pkg_name => g_pkg_name,
433 p_api_type => g_api_type);
430 p_exc_name => 'OTHERS',
431 x_msg_count => x_msg_count,
432 x_msg_data => x_msg_data,
434
435 END delete_k_history;
436
437 PROCEDURE delete_all_rows(
438 p_api_version IN NUMBER,
439 p_init_msg_list IN VARCHAR2 ,
440 x_return_status OUT NOCOPY VARCHAR2,
441 x_msg_count OUT NOCOPY NUMBER,
442 x_msg_data OUT NOCOPY VARCHAR2,
443 p_chr_id IN NUMBER) IS
444
445 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_ALL_ROWS';
446 l_api_version CONSTANT NUMBER := 1.0;
447 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
448 BEGIN
449 -- call procedure in complex API
450 OKC_K_HISTORY_PVT.delete_all_rows(
451 p_api_version => p_api_version,
452 p_init_msg_list => p_init_msg_list,
453 x_return_status => x_return_status,
454 x_msg_count => x_msg_count,
455 x_msg_data => x_msg_data,
456 p_chr_id => p_chr_id);
457
458 -- check return status
459 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
460 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
461 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
462 raise OKC_API.G_EXCEPTION_ERROR;
463 End If;
464
465 EXCEPTION
466 when OKC_API.G_EXCEPTION_ERROR then
467 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
468 p_api_name => l_api_name,
469 p_pkg_name => g_pkg_name,
470 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
471 x_msg_count => x_msg_count,
472 x_msg_data => x_msg_data,
473 p_api_type => g_api_type);
474
475 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
476 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
477 p_api_name => l_api_name,
478 p_pkg_name => g_pkg_name,
479 p_exc_name =>
480 'OKC_API.G_RET_STS_UNEXP_ERROR',
481 x_msg_count => x_msg_count,
482 x_msg_data => x_msg_data,
483 p_api_type => g_api_type);
484
485 when OTHERS then
486 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
487 p_api_name => l_api_name,
488 p_pkg_name => g_pkg_name,
489 p_exc_name => 'OTHERS',
490 x_msg_count => x_msg_count,
491 x_msg_data => x_msg_data,
492 p_api_type => g_api_type);
493
494 END delete_all_rows;
495
496 PROCEDURE validate_k_history(
497 p_api_version IN NUMBER,
498 p_init_msg_list IN VARCHAR2 ,
499 x_return_status OUT NOCOPY VARCHAR2,
500 x_msg_count OUT NOCOPY NUMBER,
501 x_msg_data OUT NOCOPY VARCHAR2,
502 p_hstv_rec IN hstv_rec_type) IS
503
504 l_hstv_rec hstv_rec_type;
505 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_K_HISTORY';
506 l_api_version CONSTANT NUMBER := 1.0;
507 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
508 BEGIN
509 -- call START_ACTIVITY to create savepoint, check compatibility
510 -- and initialize message list
511 l_return_status := OKC_API.START_ACTIVITY(
512 p_api_name => l_api_name,
513 p_pkg_name => g_pkg_name,
514 p_init_msg_list => p_init_msg_list,
515 l_api_version => l_api_version,
516 p_api_version => p_api_version,
517 p_api_type => g_api_type,
518 x_return_status => x_return_status);
519
520 -- check if activity started successfully
521 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
522 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
523 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
524 raise OKC_API.G_EXCEPTION_ERROR;
525 End If;
526
527 -- call BEFORE user hook
528 l_hstv_rec := p_hstv_rec;
529 g_hstv_rec := l_hstv_rec;
530
531 OKC_UTIL.call_user_hook(x_return_status => x_return_status,
532 p_package_name => g_pkg_name,
533 p_procedure_name => l_api_name,
534 p_before_after => 'B');
535
536 -- check return status of user hook call
537 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
538 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
539 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
540 raise OKC_API.G_EXCEPTION_ERROR;
541 End If;
542
543 -- get values back from user hook call
544 l_hstv_rec := g_hstv_rec;
545 l_hstv_rec.id := p_hstv_rec.id;
549 OKC_K_HISTORY_PVT.validate_k_history(
546 l_hstv_rec.object_version_number := p_hstv_rec.object_version_number;
547
548 -- call procedure in complex API
550 p_api_version => p_api_version,
551 p_init_msg_list => p_init_msg_list,
552 x_return_status => x_return_status,
553 x_msg_count => x_msg_count,
554 x_msg_data => x_msg_data,
555 p_hstv_rec => l_hstv_rec);
556
557 -- check return status
558 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
559 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
560 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
561 raise OKC_API.G_EXCEPTION_ERROR;
562 End If;
563
564 OKC_UTIL.call_user_hook(x_return_status => x_return_status,
565 p_package_name => g_pkg_name,
566 p_procedure_name => l_api_name,
567 p_before_after => 'A');
568
569 -- check return status of the user hook call
570 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
571 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
572 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
573 raise OKC_API.G_EXCEPTION_ERROR;
574 End If;
575
576 -- end activity
577 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
578 x_msg_data => x_msg_data);
579 EXCEPTION
580 when OKC_API.G_EXCEPTION_ERROR then
581 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
582 p_api_name => l_api_name,
583 p_pkg_name => g_pkg_name,
584 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
585 x_msg_count => x_msg_count,
586 x_msg_data => x_msg_data,
587 p_api_type => g_api_type);
588
589 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
590 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
591 p_api_name => l_api_name,
592 p_pkg_name => g_pkg_name,
593 p_exc_name =>
594 'OKC_API.G_RET_STS_UNEXP_ERROR',
595 x_msg_count => x_msg_count,
596 x_msg_data => x_msg_data,
597 p_api_type => g_api_type);
598
599 when OTHERS then
600 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
601 p_api_name => l_api_name,
602 p_pkg_name => g_pkg_name,
603 p_exc_name => 'OTHERS',
604 x_msg_count => x_msg_count,
605 x_msg_data => x_msg_data,
606 p_api_type => g_api_type);
607
608 END validate_k_history;
609
610 PROCEDURE validate_k_history(
611 p_api_version IN NUMBER,
612 p_init_msg_list IN VARCHAR2 ,
613 x_return_status OUT NOCOPY VARCHAR2,
614 x_msg_count OUT NOCOPY NUMBER,
615 x_msg_data OUT NOCOPY VARCHAR2,
616 p_hstv_tbl IN hstv_tbl_type) IS
617
618 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_K_HISTORY';
619 l_api_version CONSTANT NUMBER := 1.0;
620 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
621 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
622 i NUMBER;
623 BEGIN
624 -- call START_ACTIVITY to create savepoint, check compatibility
625 -- and initialize message list
626 l_return_status := OKC_API.START_ACTIVITY(
627 p_api_name => l_api_name,
628 p_pkg_name => g_pkg_name,
629 p_init_msg_list => p_init_msg_list,
630 l_api_version => l_api_version,
631 p_api_version => p_api_version,
632 p_api_type => g_api_type,
633 x_return_status => x_return_status);
634
635 -- check if activity started successfully
636 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
637 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
638 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
639 raise OKC_API.G_EXCEPTION_ERROR;
640 End If;
641
642 If (p_hstv_tbl.COUNT > 0) Then
643 i := p_hstv_tbl.FIRST;
644 LOOP
645 -- call procedure in complex API
646 OKC_K_HISTORY_PVT.validate_k_history(
647 p_api_version => p_api_version,
648 p_init_msg_list => p_init_msg_list,
649 x_return_status => x_return_status,
650 x_msg_count => x_msg_count,
651 x_msg_data => x_msg_data,
652 p_hstv_rec => p_hstv_tbl(i));
653
654 -- store the highest degree of error
655 If x_return_status <> OKC_API.G_RET_STS_SUCCESS Then
656 If l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR Then
657 l_overall_status := x_return_status;
658 End If;
659 End If;
660 EXIT WHEN (i = p_hstv_tbl.LAST);
661 i := p_hstv_tbl.NEXT(i);
662 END LOOP;
663 -- return overall status
664 x_return_status := l_overall_status;
665 End If;
666
667 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
668 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
669 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
670 raise OKC_API.G_EXCEPTION_ERROR;
671 End If;
672
673 -- end activity
674 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
675 x_msg_data => x_msg_data);
676 EXCEPTION
677 when OKC_API.G_EXCEPTION_ERROR then
678 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
679 p_api_name => l_api_name,
680 p_pkg_name => g_pkg_name,
681 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
682 x_msg_count => x_msg_count,
683 x_msg_data => x_msg_data,
684 p_api_type => g_api_type);
685
686 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
687 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
688 p_api_name => l_api_name,
689 p_pkg_name => g_pkg_name,
690 p_exc_name =>
691 'OKC_API.G_RET_STS_UNEXP_ERROR',
692 x_msg_count => x_msg_count,
693 x_msg_data => x_msg_data,
694 p_api_type => g_api_type);
695
696 when OTHERS then
697 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
698 p_api_name => l_api_name,
699 p_pkg_name => g_pkg_name,
700 p_exc_name => 'OTHERS',
701 x_msg_count => x_msg_count,
702 x_msg_data => x_msg_data,
703 p_api_type => g_api_type);
704
705 END validate_k_history;
706
707 PROCEDURE add_language IS
708 l_api_name CONSTANT VARCHAR2(30) := 'ADD_LANGUAGE';
709 l_api_version CONSTANT NUMBER := 1.0;
710 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
711 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
712 BEGIN
713
714 -- call procedure in complex API
715 OKC_K_HISTORY_PVT.add_language;
716
717 END add_language;
718
719 END OKC_K_HISTORY_PUB;