[Home] [Help]
PACKAGE BODY: APPS.OKL_CONTRACT_TOP_LINE_PUB
Source
1 PACKAGE BODY okl_contract_top_line_pub as
2 /* $Header: OKLPKTLB.pls 115.5 2003/01/07 19:36:54 smereddy noship $ */
3
4 -- Start of comments
5 --
6 -- Procedure Name : create_contract_line
7 -- Description : creates contract line for shadowed contract
8 -- Business Rules :
9 -- Parameters :
10 -- Version : 1.0
11 -- End of comments
12
13 G_API_TYPE CONSTANT VARCHAR2(4) := '_PUB';
14
15 PROCEDURE create_contract_link_serv(
16 p_api_version IN NUMBER,
17 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
18 x_return_status OUT NOCOPY VARCHAR2,
19 x_msg_count OUT NOCOPY NUMBER,
20 x_msg_data OUT NOCOPY VARCHAR2,
21 p_chr_id IN NUMBER,
22 p_contract_number IN VARCHAR2,
23 p_item_name IN VARCHAR2,
24 p_supplier_name IN VARCHAR2,
25 x_cle_id OUT NOCOPY NUMBER
26 ) IS
27
28 l_api_name CONSTANT VARCHAR2(30) := 'create_contract_link_serv';
29 l_api_version CONSTANT NUMBER := 1.0;
30 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
31
32 BEGIN
33 -- call START_ACTIVITY to create savepoint, check compatibility
34 -- and initialize message list
35 l_return_status := OKC_API.START_ACTIVITY(
36 p_api_name => l_api_name,
37 p_pkg_name => g_pkg_name,
38 p_init_msg_list => p_init_msg_list,
39 l_api_version => l_api_version,
40 p_api_version => p_api_version,
41 p_api_type => g_api_type,
42 x_return_status => x_return_status);
43
44 -- check if activity started successfully
45 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
46 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
47 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
48 raise OKC_API.G_EXCEPTION_ERROR;
49 End If;
50
51 okl_contract_top_line_pvt.create_contract_link_serv (
52 p_api_version => p_api_version,
53 p_init_msg_list => p_init_msg_list,
54 x_return_status => x_return_status,
55 x_msg_count => x_msg_count,
56 x_msg_data => x_msg_data,
57 p_chr_id => p_chr_id,
58 p_contract_number => p_contract_number,
59 p_item_name => p_item_name,
60 p_supplier_name => p_supplier_name,
61 x_cle_id => x_cle_id);
62
63 if(x_return_status = FND_API.G_RET_STS_ERROR ) then
64 RAISE OKC_API.G_EXCEPTION_ERROR;
65 elsif (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) then
66 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
67 end if;
68
69 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count,
70 x_msg_data => x_msg_data);
71 EXCEPTION
72 when OKC_API.G_EXCEPTION_ERROR then
73 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
74 p_api_name => l_api_name,
75 p_pkg_name => g_pkg_name,
76 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
77 x_msg_count => x_msg_count,
78 x_msg_data => x_msg_data,
79 p_api_type => g_api_type);
80
81 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
82 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
83 p_api_name => l_api_name,
84 p_pkg_name => g_pkg_name,
85 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
86 x_msg_count => x_msg_count,
87 x_msg_data => x_msg_data,
88 p_api_type => g_api_type);
89
90 when OTHERS then
91 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
92 p_api_name => l_api_name,
93 p_pkg_name => g_pkg_name,
94 p_exc_name => 'OTHERS',
95 x_msg_count => x_msg_count,
96 x_msg_data => x_msg_data,
97 p_api_type => g_api_type);
98 END create_contract_link_serv;
99
100 PROCEDURE update_contract_link_serv(
101 p_api_version IN NUMBER,
102 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
103 x_return_status OUT NOCOPY VARCHAR2,
104 x_msg_count OUT NOCOPY NUMBER,
105 x_msg_data OUT NOCOPY VARCHAR2,
106 p_chr_id IN NUMBER,
107 p_cle_id IN NUMBER,
108 p_contract_number IN VARCHAR2,
109 p_item_name IN VARCHAR2,
110 p_supplier_name IN VARCHAR2,
111 x_cle_id OUT NOCOPY NUMBER
112 ) IS
113
114 l_api_name CONSTANT VARCHAR2(30) := 'update_contract_link_serv';
115 l_api_version CONSTANT NUMBER := 1.0;
116 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
117
118 BEGIN
119 -- call START_ACTIVITY to create savepoint, check compatibility
120 -- and initialize message list
121 l_return_status := OKC_API.START_ACTIVITY(
122 p_api_name => l_api_name,
123 p_pkg_name => g_pkg_name,
124 p_init_msg_list => p_init_msg_list,
125 l_api_version => l_api_version,
126 p_api_version => p_api_version,
127 p_api_type => g_api_type,
128 x_return_status => x_return_status);
129
130 -- check if activity started successfully
131 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
132 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
133 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
134 raise OKC_API.G_EXCEPTION_ERROR;
135 End If;
136
137 okl_contract_top_line_pvt.update_contract_link_serv (
138 p_api_version => p_api_version,
139 p_init_msg_list => p_init_msg_list,
140 x_return_status => x_return_status,
141 x_msg_count => x_msg_count,
142 x_msg_data => x_msg_data,
143 p_chr_id => p_chr_id,
144 p_cle_id => p_cle_id,
145 p_contract_number => p_contract_number,
146 p_item_name => p_item_name,
147 p_supplier_name => p_supplier_name,
148 x_cle_id => x_cle_id);
149
150 if(x_return_status = FND_API.G_RET_STS_ERROR ) then
151 RAISE OKC_API.G_EXCEPTION_ERROR;
152 elsif (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) then
153 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
154 end if;
155
156 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count,
157 x_msg_data => x_msg_data);
158 EXCEPTION
159 when OKC_API.G_EXCEPTION_ERROR then
160 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
161 p_api_name => l_api_name,
162 p_pkg_name => g_pkg_name,
163 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
164 x_msg_count => x_msg_count,
165 x_msg_data => x_msg_data,
166 p_api_type => g_api_type);
167
168 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
169 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
170 p_api_name => l_api_name,
171 p_pkg_name => g_pkg_name,
172 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
173 x_msg_count => x_msg_count,
174 x_msg_data => x_msg_data,
175 p_api_type => g_api_type);
176
177 when OTHERS then
178 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
179 p_api_name => l_api_name,
180 p_pkg_name => g_pkg_name,
181 p_exc_name => 'OTHERS',
182 x_msg_count => x_msg_count,
183 x_msg_data => x_msg_data,
184 p_api_type => g_api_type);
185 END update_contract_link_serv;
186
187 PROCEDURE create_contract_top_line(
188 p_api_version IN NUMBER,
189 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
190 x_return_status OUT NOCOPY VARCHAR2,
191 x_msg_count OUT NOCOPY NUMBER,
192 x_msg_data OUT NOCOPY VARCHAR2,
193 p_clev_rec IN clev_rec_type,
194 p_klev_rec IN klev_rec_type,
195 p_cimv_rec IN cimv_rec_type,
196 p_cplv_rec IN cplv_rec_type,
197 x_clev_rec OUT NOCOPY clev_rec_type,
198 x_klev_rec OUT NOCOPY klev_rec_type,
199 x_cimv_rec OUT NOCOPY cimv_rec_type,
200 x_cplv_rec OUT NOCOPY cplv_rec_type) IS
201
202 l_clev_rec clev_rec_type := p_clev_rec;
203 l_klev_rec klev_rec_type := p_klev_rec;
204 l_cimv_rec cimv_rec_type := p_cimv_rec;
205 l_cplv_rec cplv_rec_type := p_cplv_rec;
206
207 l_api_name CONSTANT VARCHAR2(30) := 'create_contract_top_line';
208 l_api_version CONSTANT NUMBER := 1.0;
209 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
210 BEGIN
211
212 -- call START_ACTIVITY to create savepoint, check compatibility
213 -- and initialize message list
214 l_return_status := OKC_API.START_ACTIVITY(
215 p_api_name => l_api_name,
216 p_pkg_name => g_pkg_name,
217 p_init_msg_list => p_init_msg_list,
218 l_api_version => l_api_version,
219 p_api_version => p_api_version,
220 p_api_type => g_api_type,
221 x_return_status => x_return_status);
222
223 -- check if activity started successfully
224 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
225 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
226 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
227 raise OKC_API.G_EXCEPTION_ERROR;
228 End If;
229
230 OKL_CONTRACT_TOP_LINE_pvt.create_contract_top_line(
231 p_api_version => p_api_version,
232 p_init_msg_list => p_init_msg_list,
233 x_return_status => x_return_status,
234 x_msg_count => x_msg_count,
235 x_msg_data => x_msg_data,
236 p_clev_rec => l_clev_rec,
237 p_klev_rec => l_klev_rec,
238 p_cimv_rec => l_cimv_rec,
239 p_cplv_rec => l_cplv_rec,
240 x_clev_rec => x_clev_rec,
241 x_klev_rec => x_klev_rec,
242 x_cimv_rec => x_cimv_rec,
243 x_cplv_rec => x_cplv_rec
244 );
245
246 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
247 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
248 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
249 raise OKC_API.G_EXCEPTION_ERROR;
250 END IF;
251
252 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count,
253 x_msg_data => x_msg_data);
254 EXCEPTION
255 when OKC_API.G_EXCEPTION_ERROR then
256 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
257 p_api_name => l_api_name,
258 p_pkg_name => g_pkg_name,
259 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
260 x_msg_count => x_msg_count,
261 x_msg_data => x_msg_data,
262 p_api_type => g_api_type);
263
264 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
265 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
266 p_api_name => l_api_name,
267 p_pkg_name => g_pkg_name,
268 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
269 x_msg_count => x_msg_count,
270 x_msg_data => x_msg_data,
271 p_api_type => g_api_type);
272
273 when OTHERS then
274 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
275 p_api_name => l_api_name,
276 p_pkg_name => g_pkg_name,
277 p_exc_name => 'OTHERS',
278 x_msg_count => x_msg_count,
279 x_msg_data => x_msg_data,
280 p_api_type => g_api_type);
281 END create_contract_top_line;
282
283 -- Start of comments
284 --
285 -- Procedure Name : create_contract_top_line
286 -- Description : creates contract line for shadowed contract
287 -- Business Rules :
288 -- Parameters :
289 -- Version : 1.0
290 -- End of comments
291 PROCEDURE create_contract_top_line(
292 p_api_version IN NUMBER,
293 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
294 x_return_status OUT NOCOPY VARCHAR2,
295 x_msg_count OUT NOCOPY NUMBER,
296 x_msg_data OUT NOCOPY VARCHAR2,
297 p_clev_tbl IN clev_tbl_type,
298 p_klev_tbl IN klev_tbl_type,
299 p_cimv_tbl IN cimv_tbl_type,
300 p_cplv_tbl IN cplv_tbl_type,
301 x_clev_tbl OUT NOCOPY clev_tbl_type,
302 x_klev_tbl OUT NOCOPY klev_tbl_type,
303 x_cimv_tbl OUT NOCOPY cimv_tbl_type,
304 x_cplv_tbl OUT NOCOPY cplv_tbl_type) IS
305
306 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_contract_top_line';
307 l_api_version CONSTANT NUMBER := 1.0;
308 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
309 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
310 i NUMBER;
311 l_klev_tbl klev_tbl_type := p_klev_tbl;
312 l_cimv_tbl cimv_tbl_type := p_cimv_tbl;
313 l_cplv_tbl cplv_tbl_type := p_cplv_tbl;
314 BEGIN
315
316 -- call START_ACTIVITY to create savepoint, check compatibility
317 -- and initialize message list
318 l_return_status := OKC_API.START_ACTIVITY(
319 p_api_name => l_api_name,
320 p_pkg_name => g_pkg_name,
321 p_init_msg_list => p_init_msg_list,
322 l_api_version => l_api_version,
323 p_api_version => p_api_version,
324 p_api_type => g_api_type,
325 x_return_status => x_return_status);
326
327 -- check if activity started successfully
328 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
329 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
330 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
331 raise OKC_API.G_EXCEPTION_ERROR;
332 End If;
333
334
335 If (p_clev_tbl.COUNT > 0) Then
336 i := p_clev_tbl.FIRST;
337 LOOP
338 -- call procedure in complex API for a record
339 create_contract_top_line(
340 p_api_version => p_api_version,
341 p_init_msg_list => p_init_msg_list,
342 x_return_status => x_return_status,
343 x_msg_count => x_msg_count,
344 x_msg_data => x_msg_data,
345 p_clev_rec => p_clev_tbl(i),
346 p_klev_rec => l_klev_tbl(i),
347 p_cimv_rec => l_cimv_tbl(i),
348 p_cplv_rec => l_cplv_tbl(i),
349 x_clev_rec => x_clev_tbl(i),
350 x_klev_rec => x_klev_tbl(i),
351 x_cimv_rec => x_cimv_tbl(i),
352 x_cplv_rec => x_cplv_tbl(i));
353
354 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
355 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
356 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
357 raise OKC_API.G_EXCEPTION_ERROR;
358 End If;
359
360 EXIT WHEN (i = p_clev_tbl.LAST);
361 i := p_clev_tbl.NEXT(i);
362 END LOOP;
363
364 End If;
365
366 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
367 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
368 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
369 raise OKC_API.G_EXCEPTION_ERROR;
370 End If;
371
372 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
373 x_msg_data => x_msg_data);
374
375 EXCEPTION
376 when OKC_API.G_EXCEPTION_ERROR then
377 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
378 p_api_name => l_api_name,
379 p_pkg_name => g_pkg_name,
380 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
381 x_msg_count => x_msg_count,
382 x_msg_data => x_msg_data,
383 p_api_type => g_api_type);
384
385 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
386 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
387 p_api_name => l_api_name,
388 p_pkg_name => g_pkg_name,
389 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
390 x_msg_count => x_msg_count,
391 x_msg_data => x_msg_data,
392 p_api_type => g_api_type);
393
394 when OTHERS then
395 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
396 p_api_name => l_api_name,
397 p_pkg_name => g_pkg_name,
398 p_exc_name => 'OTHERS',
399 x_msg_count => x_msg_count,
400 x_msg_data => x_msg_data,
401 p_api_type => g_api_type);
402
403 END create_contract_top_line;
404
405
406 -- Start of comments
407 --
408 -- Procedure Name : update_contract_top_line
409 -- Description : updates contract line for shadowed contract
410 -- Business Rules :
411 -- Parameters :
412 -- Version : 1.0
413 -- End of comments
414 PROCEDURE update_contract_top_line(
415 p_api_version IN NUMBER,
416 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
417 x_return_status OUT NOCOPY VARCHAR2,
418 x_msg_count OUT NOCOPY NUMBER,
419 x_msg_data OUT NOCOPY VARCHAR2,
420 p_clev_rec IN clev_rec_type,
421 p_klev_rec IN klev_rec_type,
422 p_cimv_rec IN cimv_rec_type,
423 p_cplv_rec IN cplv_rec_type,
424 x_clev_rec OUT NOCOPY clev_rec_type,
425 x_klev_rec OUT NOCOPY klev_rec_type,
426 x_cimv_rec OUT NOCOPY cimv_rec_type,
427 x_cplv_rec OUT NOCOPY cplv_rec_type) IS
428
429 l_clev_rec clev_rec_type := p_clev_rec;
430 l_klev_rec klev_rec_type := p_klev_rec;
431 l_cimv_rec cimv_rec_type := p_cimv_rec;
432 l_cplv_rec cplv_rec_type := p_cplv_rec;
433
434 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_contract_top_line';
435 l_api_version CONSTANT NUMBER := 1.0;
436 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
437
438 BEGIN
439
440 -- call START_ACTIVITY to create savepoint, check compatibility
441 -- and initialize message list
442 l_return_status := OKC_API.START_ACTIVITY(
443 p_api_name => l_api_name,
444 p_pkg_name => g_pkg_name,
445 p_init_msg_list => p_init_msg_list,
446 l_api_version => l_api_version,
447 p_api_version => p_api_version,
448 p_api_type => g_api_type,
449 x_return_status => x_return_status);
450
451 -- check if activity started successfully
452 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
453 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
454 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
455 raise OKC_API.G_EXCEPTION_ERROR;
456 End If;
457
458 OKL_CONTRACT_TOP_LINE_pvt.update_contract_top_line(
459 p_api_version => p_api_version,
460 p_init_msg_list => p_init_msg_list,
461 x_return_status => x_return_status,
462 x_msg_count => x_msg_count,
463 x_msg_data => x_msg_data,
464 p_clev_rec => l_clev_rec,
465 p_klev_rec => l_klev_rec,
466 p_cimv_rec => l_cimv_rec,
467 p_cplv_rec => l_cplv_rec,
468 x_clev_rec => x_clev_rec,
469 x_klev_rec => x_klev_rec,
470 x_cimv_rec => x_cimv_rec,
471 x_cplv_rec => x_cplv_rec
472 );
473
474 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
475 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
476 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
477 raise OKC_API.G_EXCEPTION_ERROR;
478 END IF;
479
480 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count,
481 x_msg_data => x_msg_data);
482
483 EXCEPTION
484 when OKC_API.G_EXCEPTION_ERROR then
485 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
486 p_api_name => l_api_name,
487 p_pkg_name => g_pkg_name,
488 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
489 x_msg_count => x_msg_count,
490 x_msg_data => x_msg_data,
491 p_api_type => g_api_type);
492
493 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
494 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
495 p_api_name => l_api_name,
496 p_pkg_name => g_pkg_name,
497 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
498 x_msg_count => x_msg_count,
499 x_msg_data => x_msg_data,
500 p_api_type => g_api_type);
501
502 when OTHERS then
503 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
504 p_api_name => l_api_name,
505 p_pkg_name => g_pkg_name,
506 p_exc_name => 'OTHERS',
507 x_msg_count => x_msg_count,
508 x_msg_data => x_msg_data,
509 p_api_type => g_api_type);
510 END update_contract_top_line;
511
512
513 -- Start of comments
514 --
515 -- Procedure Name : update_contract_top_line
516 -- Description : updates contract line for shadowed contract
517 -- Business Rules :
518 -- Parameters :
519 -- Version : 1.0
520 -- End of comments
521 PROCEDURE update_contract_top_line(
522 p_api_version IN NUMBER,
523 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
524 x_return_status OUT NOCOPY VARCHAR2,
525 x_msg_count OUT NOCOPY NUMBER,
526 x_msg_data OUT NOCOPY VARCHAR2,
527 p_clev_tbl IN clev_tbl_type,
528 p_klev_tbl IN klev_tbl_type,
529 p_cimv_tbl IN cimv_tbl_type,
530 p_cplv_tbl IN cplv_tbl_type,
531 x_clev_tbl OUT NOCOPY clev_tbl_type,
532 x_klev_tbl OUT NOCOPY klev_tbl_type,
533 x_cimv_tbl OUT NOCOPY cimv_tbl_type,
534 x_cplv_tbl OUT NOCOPY cplv_tbl_type) IS
535
536 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_contract_top_line';
537 l_api_version CONSTANT NUMBER := 1.0;
538 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
539 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
540 i NUMBER;
541 l_klev_tbl klev_tbl_type := p_klev_tbl;
542 l_cimv_tbl cimv_tbl_type := p_cimv_tbl;
543 l_cplv_tbl cplv_tbl_type := p_cplv_tbl;
544 BEGIN
545 /*
546 -- call START_ACTIVITY to create savepoint, check compatibility
547 -- and initialize message list
548 l_return_status := OKC_API.START_ACTIVITY(
549 p_api_name => l_api_name,
550 p_pkg_name => g_pkg_name,
551 p_init_msg_list => p_init_msg_list,
552 l_api_version => l_api_version,
553 p_api_version => p_api_version,
554 p_api_type => g_api_type,
555 x_return_status => x_return_status);
556
557 -- check if activity started successfully
558 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
559 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
560 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
561 raise OKC_API.G_EXCEPTION_ERROR;
562 End If;
563 */
564
565 If (p_clev_tbl.COUNT > 0) Then
566 i := p_clev_tbl.FIRST;
567 LOOP
568 -- call procedure in complex API for a record
569 update_contract_top_line(
570 p_api_version => p_api_version,
571 p_init_msg_list => p_init_msg_list,
572 x_return_status => x_return_status,
573 x_msg_count => x_msg_count,
574 x_msg_data => x_msg_data,
575 p_clev_rec => p_clev_tbl(i),
576 p_klev_rec => l_klev_tbl(i),
577 p_cimv_rec => l_cimv_tbl(i),
578 p_cplv_rec => l_cplv_tbl(i),
579 x_clev_rec => x_clev_tbl(i),
580 x_klev_rec => x_klev_tbl(i),
581 x_cimv_rec => x_cimv_tbl(i),
582 x_cplv_rec => x_cplv_tbl(i));
583
584 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
585 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
586 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
587 raise OKC_API.G_EXCEPTION_ERROR;
588 End If;
589
590 EXIT WHEN (i = p_clev_tbl.LAST);
591 i := p_clev_tbl.NEXT(i);
592 END LOOP;
593
594 End If;
595
596 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
597 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
598 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
599 raise OKC_API.G_EXCEPTION_ERROR;
600 End If;
601 /*
602 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
603 x_msg_data => x_msg_data);
604 */
605 EXCEPTION
606 when OKC_API.G_EXCEPTION_ERROR then
607 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
608 p_api_name => l_api_name,
609 p_pkg_name => g_pkg_name,
610 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
611 x_msg_count => x_msg_count,
612 x_msg_data => x_msg_data,
613 p_api_type => g_api_type);
614
615 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
616 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
617 p_api_name => l_api_name,
618 p_pkg_name => g_pkg_name,
619 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
620 x_msg_count => x_msg_count,
621 x_msg_data => x_msg_data,
622 p_api_type => g_api_type);
623
624 when OTHERS then
625 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
626 p_api_name => l_api_name,
627 p_pkg_name => g_pkg_name,
628 p_exc_name => 'OTHERS',
629 x_msg_count => x_msg_count,
630 x_msg_data => x_msg_data,
631 p_api_type => g_api_type);
632
633 END update_contract_top_line;
634
635
636 PROCEDURE delete_contract_line(
637 p_api_version IN NUMBER,
638 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
639 x_return_status OUT NOCOPY VARCHAR2,
640 x_msg_count OUT NOCOPY NUMBER,
641 x_msg_data OUT NOCOPY VARCHAR2,
642 p_chr_id IN number,
643 p_cle_id IN number) IS
644
645 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_contract_line';
646 l_api_version CONSTANT NUMBER := 1.0;
647 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
648
649 BEGIN
650
651 -- call START_ACTIVITY to create savepoint, check compatibility
652 -- and initialize message list
653 l_return_status := OKC_API.START_ACTIVITY(
654 p_api_name => l_api_name,
655 p_pkg_name => g_pkg_name,
656 p_init_msg_list => p_init_msg_list,
657 l_api_version => l_api_version,
658 p_api_version => p_api_version,
659 p_api_type => g_api_type,
660 x_return_status => x_return_status);
661
662 -- check if activity started successfully
663 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
664 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
665 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
666 raise OKC_API.G_EXCEPTION_ERROR;
667 End If;
668
669 OKL_CONTRACT_TOP_LINE_pvt.delete_contract_line(
670 p_api_version => p_api_version,
671 p_init_msg_list => p_init_msg_list,
672 x_return_status => x_return_status,
673 x_msg_count => x_msg_count,
674 x_msg_data => x_msg_data,
675 p_chr_id => p_chr_id,
676 p_cle_id => p_cle_id);
677
678 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
679 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
680 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
681 raise OKC_API.G_EXCEPTION_ERROR;
682 END IF;
683
684 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count,
685 x_msg_data => x_msg_data);
686 EXCEPTION
687 when OKC_API.G_EXCEPTION_ERROR then
688 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
689 p_api_name => l_api_name,
690 p_pkg_name => g_pkg_name,
691 p_exc_name => 'OKC_API.G_RET_STS_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 OKC_API.G_EXCEPTION_UNEXPECTED_ERROR 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 => 'OKC_API.G_RET_STS_UNEXP_ERROR',
701 x_msg_count => x_msg_count,
702 x_msg_data => x_msg_data,
703 p_api_type => g_api_type);
704
705 when OTHERS then
706 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
707 p_api_name => l_api_name,
708 p_pkg_name => g_pkg_name,
709 p_exc_name => 'OTHERS',
710 x_msg_count => x_msg_count,
711 x_msg_data => x_msg_data,
712 p_api_type => g_api_type);
713 END delete_contract_line;
714
715
716 PROCEDURE delete_contract_top_line(
717 p_api_version IN NUMBER,
718 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
719 x_return_status OUT NOCOPY VARCHAR2,
720 x_msg_count OUT NOCOPY NUMBER,
721 x_msg_data OUT NOCOPY VARCHAR2,
722 p_clev_rec IN clev_rec_type,
723 p_klev_rec IN klev_rec_type,
724 p_cimv_rec IN cimv_rec_type,
725 p_cplv_rec IN cplv_rec_type) IS
726
727 l_clev_rec clev_rec_type := p_clev_rec;
728 l_klev_rec klev_rec_type := p_klev_rec;
729 l_cimv_rec cimv_rec_type := p_cimv_rec;
730 l_cplv_rec cplv_rec_type := p_cplv_rec;
731
732 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_contract_top_line';
733 l_api_version CONSTANT NUMBER := 1.0;
734 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
735 BEGIN
736
737 -- call START_ACTIVITY to create savepoint, check compatibility
738 -- and initialize message list
739 l_return_status := OKC_API.START_ACTIVITY(
740 p_api_name => l_api_name,
741 p_pkg_name => g_pkg_name,
742 p_init_msg_list => p_init_msg_list,
743 l_api_version => l_api_version,
744 p_api_version => p_api_version,
745 p_api_type => g_api_type,
746 x_return_status => x_return_status);
747
748 -- check if activity started successfully
749 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
750 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
751 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
752 raise OKC_API.G_EXCEPTION_ERROR;
753 End If;
754
755
756 OKL_CONTRACT_TOP_LINE_pvt.delete_contract_top_line(
757 p_api_version => p_api_version,
758 p_init_msg_list => p_init_msg_list,
759 x_return_status => x_return_status,
760 x_msg_count => x_msg_count,
761 x_msg_data => x_msg_data,
762 p_clev_rec => l_clev_rec,
763 p_klev_rec => l_klev_rec,
764 p_cimv_rec => l_cimv_rec,
765 p_cplv_rec => l_cplv_rec
766 );
767
768 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
769 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
770 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
771 raise OKC_API.G_EXCEPTION_ERROR;
772 END IF;
773
774
775 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count,
776 x_msg_data => x_msg_data);
777 EXCEPTION
778 when OKC_API.G_EXCEPTION_ERROR then
779 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
780 p_api_name => l_api_name,
781 p_pkg_name => g_pkg_name,
782 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
783 x_msg_count => x_msg_count,
784 x_msg_data => x_msg_data,
785 p_api_type => g_api_type);
786
787 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
788 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
789 p_api_name => l_api_name,
790 p_pkg_name => g_pkg_name,
791 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
792 x_msg_count => x_msg_count,
793 x_msg_data => x_msg_data,
794 p_api_type => g_api_type);
795
796 when OTHERS then
797 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
798 p_api_name => l_api_name,
799 p_pkg_name => g_pkg_name,
800 p_exc_name => 'OTHERS',
801 x_msg_count => x_msg_count,
802 x_msg_data => x_msg_data,
803 p_api_type => g_api_type);
804 END delete_contract_top_line;
805
806 -- Start of comments
807 --
808 -- Procedure Name : delete_contract_top_line
809 -- Description : deletes contract line for shadowed contract
810 -- Business Rules : line can be deleted only if there is no sublines attached
811 -- Parameters :
812 -- Version : 1.0
813 -- End of comments
814 PROCEDURE delete_contract_top_line(
815 p_api_version IN NUMBER,
816 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
817 x_return_status OUT NOCOPY VARCHAR2,
818 x_msg_count OUT NOCOPY NUMBER,
819 x_msg_data OUT NOCOPY VARCHAR2,
820 p_clev_tbl IN clev_tbl_type,
821 p_klev_tbl IN klev_tbl_type,
822 p_cimv_tbl IN cimv_tbl_type,
823 p_cplv_tbl IN cplv_tbl_type
824 ) IS
825
826 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_contract_top_line';
827 l_api_version CONSTANT NUMBER := 1.0;
828 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
829 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
830 i NUMBER;
831 l_klev_tbl klev_tbl_type := p_klev_tbl;
832 l_cimv_tbl cimv_tbl_type := p_cimv_tbl;
833 l_cplv_tbl cplv_tbl_type := p_cplv_tbl;
834 BEGIN
835 /*
836 -- call START_ACTIVITY to create savepoint, check compatibility
837 -- and initialize message list
838 l_return_status := OKC_API.START_ACTIVITY(
839 p_api_name => l_api_name,
840 p_pkg_name => g_pkg_name,
841 p_init_msg_list => p_init_msg_list,
842 l_api_version => l_api_version,
843 p_api_version => p_api_version,
844 p_api_type => g_api_type,
845 x_return_status => x_return_status);
846
847 -- check if activity started successfully
848 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
849 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
850 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
851 raise OKC_API.G_EXCEPTION_ERROR;
852 End If;
853 */
854 If (p_clev_tbl.COUNT > 0) Then
855 i := p_clev_tbl.FIRST;
856 LOOP
857 -- call procedure in complex API for a record
858 delete_contract_top_line(
859 p_api_version => p_api_version,
860 p_init_msg_list => p_init_msg_list,
861 x_return_status => x_return_status,
862 x_msg_count => x_msg_count,
863 x_msg_data => x_msg_data,
864 p_clev_rec => p_clev_tbl(i),
865 p_klev_rec => l_klev_tbl(i),
866 p_cimv_rec => l_cimv_tbl(i),
867 p_cplv_rec => l_cplv_tbl(i));
868
869 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
870 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
871 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
872 raise OKC_API.G_EXCEPTION_ERROR;
873 End If;
874
875 EXIT WHEN (i = p_clev_tbl.LAST);
876 i := p_clev_tbl.NEXT(i);
877 END LOOP;
878
879 End If;
880
881 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
882 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
883 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
884 raise OKC_API.G_EXCEPTION_ERROR;
885 End If;
886 /*
887 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
888 x_msg_data => x_msg_data);
889 */
890 EXCEPTION
891 when OKC_API.G_EXCEPTION_ERROR then
892 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
893 p_api_name => l_api_name,
894 p_pkg_name => g_pkg_name,
895 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
896 x_msg_count => x_msg_count,
897 x_msg_data => x_msg_data,
898 p_api_type => g_api_type);
899
900 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
901 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
902 p_api_name => l_api_name,
903 p_pkg_name => g_pkg_name,
904 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
905 x_msg_count => x_msg_count,
906 x_msg_data => x_msg_data,
907 p_api_type => g_api_type);
908
909 when OTHERS then
910 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
911 p_api_name => l_api_name,
912 p_pkg_name => g_pkg_name,
913 p_exc_name => 'OTHERS',
914 x_msg_count => x_msg_count,
915 x_msg_data => x_msg_data,
916 p_api_type => g_api_type);
917
918 END delete_contract_top_line;
919
920 PROCEDURE validate_fee_expense_rule(
921 p_api_version IN NUMBER,
922 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
923 x_return_status OUT NOCOPY VARCHAR2,
924 x_msg_count OUT NOCOPY NUMBER,
925 x_msg_data OUT NOCOPY VARCHAR2,
926 p_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
927 p_line_id IN OKC_K_LINES_V.ID%TYPE,
928 p_no_of_period IN NUMBER,
929 p_frequency IN VARCHAR2,
930 p_amount_per_period IN NUMBER
931 ) IS
932
933 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_FEE_EXPENSE_RULE';
934 l_api_version CONSTANT NUMBER := 1.0;
935 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
936 BEGIN
937
938 -- call START_ACTIVITY to create savepoint, check compatibility
939 -- and initialize message list
940 l_return_status := OKC_API.START_ACTIVITY(
941 p_api_name => l_api_name,
942 p_pkg_name => g_pkg_name,
943 p_init_msg_list => p_init_msg_list,
944 l_api_version => l_api_version,
945 p_api_version => p_api_version,
946 p_api_type => g_api_type,
947 x_return_status => x_return_status);
948
949 -- check if activity started successfully
950 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
951 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
952 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
953 raise OKC_API.G_EXCEPTION_ERROR;
954 End If;
955
956 OKL_CONTRACT_TOP_LINE_pvt.validate_fee_expense_rule(
957 p_api_version => p_api_version,
958 p_init_msg_list => p_init_msg_list,
959 x_return_status => x_return_status,
960 x_msg_count => x_msg_count,
961 x_msg_data => x_msg_data,
962 p_chr_id => p_chr_id,
963 p_line_id => p_line_id,
964 p_no_of_period => p_no_of_period,
965 p_frequency => p_frequency,
966 p_amount_per_period => p_amount_per_period
967 );
968
969 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
970 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
971 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
972 raise OKC_API.G_EXCEPTION_ERROR;
973 End If;
974
975 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count,
976 x_msg_data => x_msg_data);
977 EXCEPTION
978 when OKC_API.G_EXCEPTION_ERROR then
979 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
980 p_api_name => l_api_name,
981 p_pkg_name => g_pkg_name,
982 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
983 x_msg_count => x_msg_count,
984 x_msg_data => x_msg_data,
985 p_api_type => g_api_type);
986
987 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
988 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
989 p_api_name => l_api_name,
990 p_pkg_name => g_pkg_name,
991 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
992 x_msg_count => x_msg_count,
993 x_msg_data => x_msg_data,
994 p_api_type => g_api_type);
995
996 when OTHERS then
997 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
998 p_api_name => l_api_name,
999 p_pkg_name => g_pkg_name,
1000 p_exc_name => 'OTHERS',
1001 x_msg_count => x_msg_count,
1002 x_msg_data => x_msg_data,
1003 p_api_type => g_api_type);
1004
1005 END validate_fee_expense_rule;
1006
1007 PROCEDURE validate_passthru_rule(
1008 p_api_version IN NUMBER,
1009 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1010 x_return_status OUT NOCOPY VARCHAR2,
1011 x_msg_count OUT NOCOPY NUMBER,
1012 x_msg_data OUT NOCOPY VARCHAR2,
1013 p_line_id IN OKC_K_LINES_V.ID%TYPE,
1014 p_vendor_id IN NUMBER,
1015 p_payment_term IN VARCHAR2,
1016 p_payment_term_id IN NUMBER,
1017 p_pay_to_site IN VARCHAR2,
1018 p_pay_to_site_id IN NUMBER,
1019 p_payment_method_code IN VARCHAR2,
1020 x_payment_term_id1 OUT NOCOPY VARCHAR2,
1021 x_pay_site_id1 OUT NOCOPY VARCHAR2,
1022 x_payment_method_id1 OUT NOCOPY VARCHAR2
1023 ) IS
1024
1025 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_passthru_rule';
1026 l_api_version CONSTANT NUMBER := 1.0;
1027 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1028 BEGIN
1029
1030 -- call START_ACTIVITY to create savepoint, check compatibility
1031 -- and initialize message list
1032 l_return_status := OKC_API.START_ACTIVITY(
1033 p_api_name => l_api_name,
1034 p_pkg_name => g_pkg_name,
1035 p_init_msg_list => p_init_msg_list,
1036 l_api_version => l_api_version,
1037 p_api_version => p_api_version,
1038 p_api_type => g_api_type,
1039 x_return_status => x_return_status);
1040
1041 -- check if activity started successfully
1042 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
1043 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1044 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
1045 raise OKC_API.G_EXCEPTION_ERROR;
1046 End If;
1047
1048 OKL_CONTRACT_TOP_LINE_pvt.validate_passthru_rule(
1049 p_api_version => p_api_version,
1050 p_init_msg_list => p_init_msg_list,
1051 x_return_status => x_return_status,
1052 x_msg_count => x_msg_count,
1053 x_msg_data => x_msg_data,
1054 p_line_id => p_line_id,
1055 p_vendor_id => p_vendor_id,
1056 p_payment_term => p_payment_term,
1057 p_payment_term_id => p_payment_term_id,
1058 p_pay_to_site => p_pay_to_site,
1059 p_pay_to_site_id => p_pay_to_site_id,
1060 p_payment_method_code => p_payment_method_code,
1061 x_payment_term_id1 => x_payment_term_id1,
1062 x_pay_site_id1 => x_pay_site_id1,
1063 x_payment_method_id1 => x_payment_method_id1
1064 );
1065
1066 If (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
1067 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1068 Elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
1069 raise OKC_API.G_EXCEPTION_ERROR;
1070 End If;
1071
1072 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count,
1073 x_msg_data => x_msg_data);
1074 EXCEPTION
1075 when OKC_API.G_EXCEPTION_ERROR then
1076 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
1077 p_api_name => l_api_name,
1078 p_pkg_name => g_pkg_name,
1079 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
1080 x_msg_count => x_msg_count,
1081 x_msg_data => x_msg_data,
1082 p_api_type => g_api_type);
1083
1084 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
1085 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
1086 p_api_name => l_api_name,
1087 p_pkg_name => g_pkg_name,
1088 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
1089 x_msg_count => x_msg_count,
1090 x_msg_data => x_msg_data,
1091 p_api_type => g_api_type);
1092
1093 when OTHERS then
1094 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
1095 p_api_name => l_api_name,
1096 p_pkg_name => g_pkg_name,
1097 p_exc_name => 'OTHERS',
1098 x_msg_count => x_msg_count,
1099 x_msg_data => x_msg_data,
1100 p_api_type => g_api_type);
1101
1102 END validate_passthru_rule;
1103 END OKL_CONTRACT_TOP_LINE_PUB;