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