[Home] [Help]
PACKAGE BODY: APPS.OKL_FE_ADJ_MATRIX_PUB
Source
1 PACKAGE BODY okl_fe_adj_matrix_pub AS
2 /* $Header: OKLPPAMB.pls 120.1 2005/12/23 16:18:59 viselvar noship $ */
3
4 --------------------------------------------------------------------------------
5 --PACKAGE CONSTANTS
6 --------------------------------------------------------------------------------
7
8 g_db_error CONSTANT VARCHAR2(12) := 'OKL_DB_ERROR';
9 g_prog_name_token CONSTANT VARCHAR2(9) := 'PROG_NAME';
10 g_no_parent_record CONSTANT VARCHAR2(200) := 'OKC_NO_PARENT_RECORD';
11 g_unexpected_error CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UNEXPECTED_ERROR';
12 g_sqlerrm_token CONSTANT VARCHAR2(200) := 'SQLerrm';
13 g_sqlcode_token CONSTANT VARCHAR2(200) := 'SQLcode';
14 g_exception_halt_validation EXCEPTION;
15 g_invalid_adj_cat_dates EXCEPTION;
16 g_exception_cannot_update EXCEPTION;
17 g_invalid_start_date EXCEPTION;
18
19 -- procedure to give the details of the adjustment matrix given the Adjustment
20 -- matrix id and the version number
21
22 PROCEDURE get_version(p_api_version IN NUMBER
23 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
24 ,x_return_status OUT NOCOPY VARCHAR2
25 ,x_msg_count OUT NOCOPY NUMBER
26 ,x_msg_data OUT NOCOPY VARCHAR2
27 ,p_adj_mat_id IN NUMBER
28 ,p_version_number IN NUMBER
29 ,x_pamv_rec OUT NOCOPY okl_pamv_rec
30 ,x_pal_rec OUT NOCOPY okl_pal_rec
31 ,x_ech_rec OUT NOCOPY okl_ech_rec
32 ,x_ecl_tbl OUT NOCOPY okl_ecl_tbl
33 ,x_ecv_tbl OUT NOCOPY okl_ecv_tbl) AS
34 l_api_version NUMBER := 1.0;
35 l_api_name VARCHAR2(40) := 'get_version';
36 l_return_status VARCHAR2(1) := okl_api.g_ret_sts_success;
37
38 BEGIN
39 l_return_status := okl_api.start_activity(l_api_name
40 ,g_pkg_name
41 ,p_init_msg_list
42 ,l_api_version
43 ,p_api_version
44 ,'_Pub'
45 ,x_return_status);
46
47 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
48 RAISE okl_api.g_exception_unexpected_error;
49 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
50 RAISE okl_api.g_exception_error;
51 END IF;
52 okl_fe_adj_matrix_pvt.get_version(l_api_version
53 ,p_init_msg_list
54 ,l_return_status
55 ,x_msg_count
56 ,x_msg_data
57 ,p_adj_mat_id
58 ,p_version_number
59 ,x_pamv_rec
60 ,x_pal_rec
61 ,x_ech_rec
62 ,x_ecl_tbl
63 ,x_ecv_tbl);
64
65 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
66 RAISE okl_api.g_exception_unexpected_error;
67 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
68 RAISE okl_api.g_exception_error;
69 END IF;
70 --end activity
71
72 okl_api.end_activity(x_msg_count
73 ,x_msg_data);
74 x_return_status := l_return_status;
75 EXCEPTION
76 WHEN okl_api.g_exception_error THEN
77 x_return_status := okl_api.handle_exceptions(l_api_name
78 ,g_pkg_name
79 ,'OKL_API.G_RET_STS_ERROR'
80 ,x_msg_count
81 ,x_msg_data
82 ,'_Pub');
83 WHEN okl_api.g_exception_unexpected_error THEN
84 x_return_status := okl_api.handle_exceptions(l_api_name
85 ,g_pkg_name
86 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
87 ,x_msg_count
88 ,x_msg_data
89 ,'_Pub');
90 WHEN OTHERS THEN
91 x_return_status := okl_api.handle_exceptions(l_api_name
92 ,g_pkg_name
93 ,'OTHERS'
94 ,x_msg_count
95 ,x_msg_data
96 ,'_Pub');
97 END get_version;
98
99 -- procedure to give the details of the latest version of adjustment matrix
100 -- given the adjusment matrix id
101
102 PROCEDURE get_version(p_api_version IN NUMBER
103 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
104 ,x_return_status OUT NOCOPY VARCHAR2
105 ,x_msg_count OUT NOCOPY NUMBER
106 ,x_msg_data OUT NOCOPY VARCHAR2
107 ,p_adj_mat_id IN NUMBER
108 ,x_pamv_rec OUT NOCOPY okl_pamv_rec
109 ,x_pal_rec OUT NOCOPY okl_pal_rec
110 ,x_ech_rec OUT NOCOPY okl_ech_rec
111 ,x_ecl_tbl OUT NOCOPY okl_ecl_tbl
112 ,x_ecv_tbl OUT NOCOPY okl_ecv_tbl) AS
113 l_api_version NUMBER := 1.0;
114 l_api_name VARCHAR2(40) := 'get_version';
115 l_return_status VARCHAR2(1) := okl_api.g_ret_sts_success;
116
117 BEGIN
118 l_return_status := okl_api.start_activity(l_api_name
119 ,g_pkg_name
120 ,p_init_msg_list
121 ,l_api_version
122 ,p_api_version
123 ,'_Pub'
124 ,x_return_status);
125
126 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
127 RAISE okl_api.g_exception_unexpected_error;
128 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
129 RAISE okl_api.g_exception_error;
130 END IF;
131 okl_fe_adj_matrix_pvt.get_version(l_api_version
132 ,p_init_msg_list
133 ,l_return_status
134 ,x_msg_count
135 ,x_msg_data
136 ,p_adj_mat_id
137 ,x_pamv_rec
138 ,x_pal_rec
139 ,x_ech_rec
140 ,x_ecl_tbl
141 ,x_ecv_tbl);
142
143 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
144 RAISE okl_api.g_exception_unexpected_error;
145 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
146 RAISE okl_api.g_exception_error;
147 END IF;
148
149 --end activity
150
151 okl_api.end_activity(x_msg_count
152 ,x_msg_data);
153 x_return_status := l_return_status;
154 EXCEPTION
155 WHEN okl_api.g_exception_error THEN
156 x_return_status := okl_api.handle_exceptions(l_api_name
157 ,g_pkg_name
158 ,'OKL_API.G_RET_STS_ERROR'
159 ,x_msg_count
160 ,x_msg_data
161 ,'_Pub');
162 WHEN okl_api.g_exception_unexpected_error THEN
163 x_return_status := okl_api.handle_exceptions(l_api_name
164 ,g_pkg_name
165 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
166 ,x_msg_count
167 ,x_msg_data
168 ,'_Pub');
169 WHEN OTHERS THEN
170 x_return_status := okl_api.handle_exceptions(l_api_name
171 ,g_pkg_name
172 ,'OTHERS'
173 ,x_msg_count
174 ,x_msg_data
175 ,'_Pub');
176 END get_version;
177
178 -- procedure to create a new version of the Pricing Adjustment Matrix
179
180 PROCEDURE create_version(p_api_version IN NUMBER
181 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
182 ,x_return_status OUT NOCOPY VARCHAR2
183 ,x_msg_count OUT NOCOPY NUMBER
184 ,x_msg_data OUT NOCOPY VARCHAR2
185 ,p_pal_rec IN okl_pal_rec
186 ,x_pal_rec OUT NOCOPY okl_pal_rec) AS
187 l_api_version NUMBER := 1.0;
188 l_api_name VARCHAR2(40) := 'create_version';
189 l_return_status VARCHAR2(1) := okl_api.g_ret_sts_success;
190
191 BEGIN
192 l_return_status := okl_api.start_activity(l_api_name
193 ,g_pkg_name
194 ,p_init_msg_list
195 ,l_api_version
196 ,p_api_version
197 ,'_Pub'
198 ,x_return_status);
199
200 IF (x_return_status = okl_api.g_ret_sts_unexp_error) THEN
201 RAISE okl_api.g_exception_unexpected_error;
202 ELSIF (x_return_status = okl_api.g_ret_sts_error) THEN
203 RAISE okl_api.g_exception_error;
204 END IF;
205 okl_fe_adj_matrix_pvt.create_version(l_api_version
206 ,p_init_msg_list
207 ,l_return_status
208 ,x_msg_count
209 ,x_msg_data
210 ,p_pal_rec
211 ,x_pal_rec);
212
213 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
214 RAISE okl_api.g_exception_unexpected_error;
215 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
216 RAISE okl_api.g_exception_error;
217 END IF;
218
219 --end activity
220
221 okl_api.end_activity(x_msg_count
222 ,x_msg_data);
223 x_return_status := l_return_status;
224 EXCEPTION
225 WHEN okl_api.g_exception_error THEN
226 x_return_status := okl_api.handle_exceptions(l_api_name
227 ,g_pkg_name
228 ,'OKL_API.G_RET_STS_ERROR'
229 ,x_msg_count
230 ,x_msg_data
231 ,'_Pub');
232 WHEN okl_api.g_exception_unexpected_error THEN
233 x_return_status := okl_api.handle_exceptions(l_api_name
234 ,g_pkg_name
235 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
236 ,x_msg_count
237 ,x_msg_data
238 ,'_Pub');
239 WHEN OTHERS THEN
240 x_return_status := okl_api.handle_exceptions(l_api_name
241 ,g_pkg_name
242 ,'OTHERS'
243 ,x_msg_count
244 ,x_msg_data
245 ,'_Pub');
246 END create_version;
247
248 --procedure to create a Pricing Adjusment Matrix with the associated adjustment categories
249
250 PROCEDURE insert_adj_mat(p_api_version IN NUMBER
251 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
252 ,x_return_status OUT NOCOPY VARCHAR2
253 ,x_msg_count OUT NOCOPY NUMBER
254 ,x_msg_data OUT NOCOPY VARCHAR2
255 ,p_pamv_rec IN okl_pamv_rec
256 ,p_pal_rec IN okl_pal_rec
257 ,x_pamv_rec OUT NOCOPY okl_pamv_rec
258 ,x_pal_rec OUT NOCOPY okl_pal_rec) AS
259 l_api_version NUMBER := 1.0;
260 l_api_name VARCHAR2(40) := 'insert_adj_mat';
261 l_return_status VARCHAR2(1) := okl_api.g_ret_sts_success;
262
263 BEGIN
264 l_return_status := okl_api.start_activity(l_api_name
265 ,g_pkg_name
266 ,p_init_msg_list
267 ,l_api_version
268 ,p_api_version
269 ,'_Pub'
270 ,x_return_status);
271
272 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
273 RAISE okl_api.g_exception_unexpected_error;
274 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
275 RAISE okl_api.g_exception_error;
276 END IF;
277 okl_fe_adj_matrix_pvt.insert_adj_mat(l_api_version
278 ,p_init_msg_list
279 ,l_return_status
280 ,x_msg_count
281 ,x_msg_data
282 ,p_pamv_rec
283 ,p_pal_rec
284 ,x_pamv_rec
285 ,x_pal_rec);
286
287 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
288 RAISE okl_api.g_exception_unexpected_error;
289 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
290 RAISE okl_api.g_exception_error;
291 END IF;
292
293 --end activity
294
295 okl_api.end_activity(x_msg_count
296 ,x_msg_data);
297 x_return_status := l_return_status;
298 EXCEPTION
299 WHEN okl_api.g_exception_error THEN
300 x_return_status := okl_api.handle_exceptions(l_api_name
301 ,g_pkg_name
302 ,'OKL_API.G_RET_STS_ERROR'
303 ,x_msg_count
304 ,x_msg_data
305 ,'_Pub');
306 WHEN okl_api.g_exception_unexpected_error THEN
307 x_return_status := okl_api.handle_exceptions(l_api_name
308 ,g_pkg_name
309 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
310 ,x_msg_count
311 ,x_msg_data
312 ,'_Pub');
313 WHEN OTHERS THEN
314 x_return_status := okl_api.handle_exceptions(l_api_name
315 ,g_pkg_name
316 ,'OTHERS'
317 ,x_msg_count
318 ,x_msg_data
319 ,'_Pub');
320 END insert_adj_mat;
321
322 -- procedure to update a particular version of the Pricing Adjustment matrix
323
324 PROCEDURE update_adj_mat(p_api_version IN NUMBER
325 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
326 ,x_return_status OUT NOCOPY VARCHAR2
327 ,x_msg_count OUT NOCOPY NUMBER
328 ,x_msg_data OUT NOCOPY VARCHAR2
329 ,p_pal_rec IN okl_pal_rec
330 ,x_pal_rec OUT NOCOPY okl_pal_rec) AS
331 l_api_version NUMBER := 1.0;
332 l_api_name VARCHAR2(40) := 'update_adj_factor';
333 l_return_status VARCHAR2(1) := okl_api.g_ret_sts_success;
334
335 BEGIN
336 l_return_status := okl_api.start_activity(l_api_name
337 ,g_pkg_name
338 ,p_init_msg_list
339 ,l_api_version
340 ,p_api_version
341 ,'_Pub'
342 ,x_return_status);
343
344 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
345 RAISE okl_api.g_exception_unexpected_error;
346 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
347 RAISE okl_api.g_exception_error;
348 END IF;
349 okl_fe_adj_matrix_pvt.update_adj_mat(l_api_version
350 ,p_init_msg_list
351 ,l_return_status
352 ,x_msg_count
353 ,x_msg_data
354 ,p_pal_rec
355 ,x_pal_rec);
356
357 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
358 RAISE okl_api.g_exception_unexpected_error;
359 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
360 RAISE okl_api.g_exception_error;
361 END IF;
362
363 --end activity
364
365 okl_api.end_activity(x_msg_count
366 ,x_msg_data);
367 x_return_status := l_return_status;
368 EXCEPTION
369 WHEN okl_api.g_exception_error THEN
370 x_return_status := okl_api.handle_exceptions(l_api_name
371 ,g_pkg_name
372 ,'OKL_API.G_RET_STS_ERROR'
373 ,x_msg_count
374 ,x_msg_data
375 ,'_Pub');
376 WHEN okl_api.g_exception_unexpected_error THEN
377 x_return_status := okl_api.handle_exceptions(l_api_name
378 ,g_pkg_name
379 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
380 ,x_msg_count
381 ,x_msg_data
382 ,'_Pub');
383 WHEN OTHERS THEN
384 x_return_status := okl_api.handle_exceptions(l_api_name
385 ,g_pkg_name
386 ,'OTHERS'
387 ,x_msg_count
388 ,x_msg_data
389 ,'_Pub');
390 END update_adj_mat;
391
392 -- procedure to raise the workflow which submits the record and changes the status.
393
394 PROCEDURE submit_adj_mat(p_api_version IN NUMBER
395 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
396 ,x_return_status OUT NOCOPY VARCHAR2
397 ,x_msg_count OUT NOCOPY NUMBER
398 ,x_msg_data OUT NOCOPY VARCHAR2
399 ,p_version_id IN NUMBER) AS
400 l_api_version NUMBER := 1.0;
401 l_api_name VARCHAR2(40) := 'submit_adj_factor';
402 l_return_status VARCHAR2(1) := okl_api.g_ret_sts_success;
403
404 BEGIN
405 l_return_status := okl_api.start_activity(l_api_name
406 ,g_pkg_name
407 ,p_init_msg_list
408 ,l_api_version
409 ,p_api_version
410 ,'_Pub'
411 ,x_return_status);
412
413 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
414 RAISE okl_api.g_exception_unexpected_error;
415 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
416 RAISE okl_api.g_exception_error;
417 END IF;
418 okl_fe_adj_matrix_pvt.submit_adj_mat(l_api_version
419 ,p_init_msg_list
420 ,l_return_status
421 ,x_msg_count
422 ,x_msg_data
423 ,p_version_id);
424
425 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
426 RAISE okl_api.g_exception_unexpected_error;
427 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
428 RAISE okl_api.g_exception_error;
429 END IF;
430
431 --end activity
432
433 okl_api.end_activity(x_msg_count
434 ,x_msg_data);
435 x_return_status := l_return_status;
436 EXCEPTION
437 WHEN okl_api.g_exception_error THEN
438 x_return_status := okl_api.handle_exceptions(l_api_name
439 ,g_pkg_name
440 ,'OKL_API.G_RET_STS_ERROR'
441 ,x_msg_count
442 ,x_msg_data
443 ,'_Pub');
444 WHEN okl_api.g_exception_unexpected_error THEN
445 x_return_status := okl_api.handle_exceptions(l_api_name
446 ,g_pkg_name
447 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
448 ,x_msg_count
449 ,x_msg_data
450 ,'_Pub');
451 WHEN OTHERS THEN
452 x_return_status := okl_api.handle_exceptions(l_api_name
453 ,g_pkg_name
454 ,'OTHERS'
455 ,x_msg_count
456 ,x_msg_data
457 ,'_Pub');
458 END submit_adj_mat;
459
460 -- procedure to validate the pricing adjustment matrix
461
462 PROCEDURE validate_adj_mat(p_api_version IN NUMBER
463 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
464 ,x_return_status OUT NOCOPY VARCHAR2
465 ,x_msg_count OUT NOCOPY NUMBER
466 ,x_msg_data OUT NOCOPY VARCHAR2
467 ,p_pal_rec IN okl_pal_rec
468 ,p_ech_rec IN okl_ech_rec
469 ,p_ecl_tbl IN okl_ecl_tbl
470 ,p_ecv_tbl IN okl_ecv_tbl) AS
471 l_api_version NUMBER := 1.0;
472 l_api_name VARCHAR2(40) := 'validate_adj_factor';
473 l_return_status VARCHAR2(1) := okl_api.g_ret_sts_success;
474
475 BEGIN
476 l_return_status := okl_api.start_activity(l_api_name
477 ,g_pkg_name
478 ,p_init_msg_list
479 ,l_api_version
480 ,p_api_version
481 ,'_Pub'
482 ,x_return_status);
483
484 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
485 RAISE okl_api.g_exception_unexpected_error;
486 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
487 RAISE okl_api.g_exception_error;
488 END IF;
489 okl_fe_adj_matrix_pvt.validate_adj_mat(p_api_version
490 ,p_init_msg_list
491 ,l_return_status
492 ,x_msg_count
493 ,x_msg_data
494 ,p_pal_rec
495 ,p_ech_rec
496 ,p_ecl_tbl
497 ,p_ecv_tbl);
498
499 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
500 RAISE okl_api.g_exception_unexpected_error;
501 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
502 RAISE okl_api.g_exception_error;
503 END IF;
504
505 --end activity
506
507 okl_api.end_activity(x_msg_count
508 ,x_msg_data);
509 x_return_status := l_return_status;
510 EXCEPTION
511 WHEN okl_api.g_exception_error THEN
512 x_return_status := okl_api.handle_exceptions(l_api_name
513 ,g_pkg_name
514 ,'OKL_API.G_RET_STS_ERROR'
515 ,x_msg_count
516 ,x_msg_data
517 ,'_Pub');
518 WHEN okl_api.g_exception_unexpected_error THEN
519 x_return_status := okl_api.handle_exceptions(l_api_name
520 ,g_pkg_name
521 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
522 ,x_msg_count
523 ,x_msg_data
524 ,'_Pub');
525 WHEN OTHERS THEN
526 x_return_status := okl_api.handle_exceptions(l_api_name
527 ,g_pkg_name
528 ,'OTHERS'
529 ,x_msg_count
530 ,x_msg_data
531 ,'_Pub');
532 END validate_adj_mat;
533
534 -- procedure to handle when the process is going through the process of approval
535
536 PROCEDURE handle_approval(p_api_version IN NUMBER
537 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
538 ,x_return_status OUT NOCOPY VARCHAR2
539 ,x_msg_count OUT NOCOPY NUMBER
540 ,x_msg_data OUT NOCOPY VARCHAR2
541 ,p_version_id IN NUMBER) AS
542 l_api_version NUMBER := 1.0;
543 l_api_name VARCHAR2(40) := 'handle_approval';
544 l_return_status VARCHAR2(1) := okl_api.g_ret_sts_success;
545
546 BEGIN
547 l_return_status := okl_api.start_activity(l_api_name
548 ,g_pkg_name
549 ,p_init_msg_list
550 ,l_api_version
551 ,p_api_version
552 ,'_Pub'
553 ,x_return_status);
554
555 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
556 RAISE okl_api.g_exception_unexpected_error;
557 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
558 RAISE okl_api.g_exception_error;
559 END IF;
560 okl_fe_adj_matrix_pvt.handle_approval(p_api_version
561 ,p_init_msg_list
562 ,l_return_status
563 ,x_msg_count
564 ,x_msg_data
565 ,p_version_id);
566
567 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
568 RAISE okl_api.g_exception_unexpected_error;
569 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
570 RAISE okl_api.g_exception_error;
571 END IF;
572
573
574 --end activity
575
576 okl_api.end_activity(x_msg_count
577 ,x_msg_data);
578 x_return_status := l_return_status;
579 EXCEPTION
580 WHEN okl_api.g_exception_error THEN
581 x_return_status := okl_api.handle_exceptions(l_api_name
582 ,g_pkg_name
583 ,'OKL_API.G_RET_STS_ERROR'
584 ,x_msg_count
585 ,x_msg_data
586 ,'_Pub');
587 WHEN okl_api.g_exception_unexpected_error THEN
588 x_return_status := okl_api.handle_exceptions(l_api_name
589 ,g_pkg_name
590 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
591 ,x_msg_count
592 ,x_msg_data
593 ,'_Pub');
594 WHEN OTHERS THEN
595 x_return_status := okl_api.handle_exceptions(l_api_name
596 ,g_pkg_name
597 ,'OTHERS'
598 ,x_msg_count
599 ,x_msg_data
600 ,'_Pub');
601 END handle_approval;
602
603 PROCEDURE invalid_objects(p_api_version IN NUMBER
604 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
605 ,x_return_status OUT NOCOPY VARCHAR2
606 ,x_msg_count OUT NOCOPY NUMBER
607 ,x_msg_data OUT NOCOPY VARCHAR2
608 ,p_version_id IN NUMBER
609 ,x_obj_tbl OUT NOCOPY invalid_object_tbl) AS
610 l_api_version NUMBER := 1.0;
611 l_api_name VARCHAR2(40) := 'invalid_objects';
612 l_return_status VARCHAR2(1) := okl_api.g_ret_sts_success;
613
614 BEGIN
615 l_return_status := okl_api.start_activity(l_api_name
616 ,g_pkg_name
617 ,p_init_msg_list
618 ,l_api_version
619 ,p_api_version
620 ,'_Pub'
621 ,x_return_status);
622
623 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
624 RAISE okl_api.g_exception_unexpected_error;
625 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
626 RAISE okl_api.g_exception_error;
627 END IF;
628 okl_fe_adj_matrix_pvt.invalid_objects(l_api_version
629 ,p_init_msg_list
630 ,l_return_status
631 ,x_msg_count
632 ,x_msg_data
633 ,p_version_id
634 ,x_obj_tbl);
635
636 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
637 RAISE okl_api.g_exception_unexpected_error;
638 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
639 RAISE okl_api.g_exception_error;
640 END IF;
641
642 --end activity
643
644 okl_api.end_activity(x_msg_count
645 ,x_msg_data);
646 x_return_status := l_return_status;
647 EXCEPTION
648 WHEN okl_api.g_exception_error THEN
649 x_return_status := okl_api.handle_exceptions(l_api_name
650 ,g_pkg_name
651 ,'OKL_API.G_RET_STS_ERROR'
652 ,x_msg_count
653 ,x_msg_data
654 ,'_Pub');
655 WHEN okl_api.g_exception_unexpected_error THEN
656 x_return_status := okl_api.handle_exceptions(l_api_name
657 ,g_pkg_name
658 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
659 ,x_msg_count
660 ,x_msg_data
661 ,'_Pub');
662 WHEN OTHERS THEN
663 x_return_status := okl_api.handle_exceptions(l_api_name
664 ,g_pkg_name
665 ,'OTHERS'
666 ,x_msg_count
667 ,x_msg_data
668 ,'_Pub');
669 END invalid_objects;
670
671 -- to calculate the start date of the new version
672
673 PROCEDURE calc_start_date(p_api_version IN NUMBER
674 ,p_init_msg_list IN VARCHAR2 DEFAULT okl_api.g_false
675 ,x_return_status OUT NOCOPY VARCHAR2
676 ,x_msg_count OUT NOCOPY NUMBER
677 ,x_msg_data OUT NOCOPY VARCHAR2
678 ,p_pal_rec IN okl_pal_rec
679 ,x_cal_eff_from OUT NOCOPY DATE) AS
680 l_api_version NUMBER := 1.0;
681 l_api_name VARCHAR2(40) := 'calc_start_date';
682 l_return_status VARCHAR2(1) := okl_api.g_ret_sts_success;
683 l_pal_rec okl_pal_rec := p_pal_rec;
684
685 BEGIN
686 l_return_status := okl_api.start_activity(l_api_name
687 ,g_pkg_name
688 ,p_init_msg_list
689 ,l_api_version
690 ,p_api_version
691 ,'_Pub'
692 ,x_return_status);
693
694 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
695 RAISE okl_api.g_exception_unexpected_error;
696 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
697 RAISE okl_api.g_exception_error;
698 END IF;
699 okl_fe_adj_matrix_pvt.calc_start_date(l_api_version
700 ,p_init_msg_list
701 ,l_return_status
702 ,x_msg_count
703 ,x_msg_data
704 ,l_pal_rec
705 ,x_cal_eff_from);
706
707 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
708 RAISE okl_api.g_exception_unexpected_error;
709 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
710 RAISE okl_api.g_exception_error;
711 END IF;
712
713 --end activity
714
715 okl_api.end_activity(x_msg_count
716 ,x_msg_data);
717 x_return_status := l_return_status;
718 EXCEPTION
719 WHEN okl_api.g_exception_error THEN
720 x_return_status := okl_api.handle_exceptions(l_api_name
721 ,g_pkg_name
722 ,'OKL_API.G_RET_STS_ERROR'
723 ,x_msg_count
724 ,x_msg_data
725 ,'_Pub');
726 WHEN okl_api.g_exception_unexpected_error THEN
727 x_return_status := okl_api.handle_exceptions(l_api_name
728 ,g_pkg_name
729 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
730 ,x_msg_count
731 ,x_msg_data
732 ,'_Pub');
733 WHEN OTHERS THEN
734 x_return_status := okl_api.handle_exceptions(l_api_name
735 ,g_pkg_name
736 ,'OTHERS'
737 ,x_msg_count
738 ,x_msg_data
739 ,'_Pub');
740 END calc_start_date;
741
742 END okl_fe_adj_matrix_pub;