[Home] [Help]
PACKAGE BODY: APPS.OKL_CONTRACT_LINE_ITEM_PUB
Source
1 package body okl_contract_line_item_pub as
2 /* $Header: OKLPCLIB.pls 115.2 2002/12/20 19:08:55 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_line_item(
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_clev_rec IN clev_rec_type,
22 p_klev_rec IN klev_rec_type,
23 p_cimv_rec IN cimv_rec_type,
24 x_clev_rec OUT NOCOPY clev_rec_type,
25 x_klev_rec OUT NOCOPY klev_rec_type,
26 x_cimv_rec OUT NOCOPY cimv_rec_type) IS
27
28 l_clev_rec clev_rec_type := p_clev_rec;
29 l_klev_rec klev_rec_type := p_klev_rec;
30 l_cimv_rec cimv_rec_type := p_cimv_rec;
31
32 l_api_name CONSTANT VARCHAR2(30) := 'create_contract_line_item';
33 l_api_version CONSTANT NUMBER := 1.0;
34 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
35 BEGIN
36 /*
37 -- call START_ACTIVITY to create savepoint, check compatibility
38 -- and initialize message list
39 x_return_status := OKC_API.START_ACTIVITY(
40 p_api_name => l_api_name,
41 p_pkg_name => g_pkg_name,
42 p_init_msg_list => p_init_msg_list,
43 l_api_version => l_api_version,
44 p_api_version => p_api_version,
45 p_api_type => g_api_type,
46 x_return_status => x_return_status);
47
48 -- check if activity started successfully
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 okl_contract_line_item_pvt.create_contract_line_item(
56 p_api_version => p_api_version,
57 p_init_msg_list => p_init_msg_list,
58 x_return_status => x_return_status,
59 x_msg_count => x_msg_count,
60 x_msg_data => x_msg_data,
61 p_clev_rec => l_clev_rec,
62 p_klev_rec => l_klev_rec,
63 p_cimv_rec => l_cimv_rec,
64 x_clev_rec => x_clev_rec,
65 x_klev_rec => x_klev_rec,
66 x_cimv_rec => x_cimv_rec);
67
68 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
69 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
70 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
71 raise OKC_API.G_EXCEPTION_ERROR;
72 END IF;
73 /*
74 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
75 */
76 EXCEPTION
77 when OKC_API.G_EXCEPTION_ERROR then
78 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
79 p_api_name => l_api_name,
80 p_pkg_name => g_pkg_name,
81 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
82 x_msg_count => x_msg_count,
83 x_msg_data => x_msg_data,
84 p_api_type => g_api_type);
85
86 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
87 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
88 p_api_name => l_api_name,
89 p_pkg_name => g_pkg_name,
90 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
91 x_msg_count => x_msg_count,
92 x_msg_data => x_msg_data,
93 p_api_type => g_api_type);
94
95 when OTHERS then
96 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
97 p_api_name => l_api_name,
98 p_pkg_name => g_pkg_name,
99 p_exc_name => 'OTHERS',
100 x_msg_count => x_msg_count,
101 x_msg_data => x_msg_data,
102 p_api_type => g_api_type);
103 END create_contract_line_item;
104
105
106 PROCEDURE create_contract_line_item(
107 p_api_version IN NUMBER,
108 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
109 x_return_status OUT NOCOPY VARCHAR2,
110 x_msg_count OUT NOCOPY NUMBER,
111 x_msg_data OUT NOCOPY VARCHAR2,
112 p_line_item_tbl IN line_item_tbl_type,
113 x_line_item_tbl OUT NOCOPY line_item_tbl_type
114 ) IS
115
116 l_api_name CONSTANT VARCHAR2(30) := 'create_contract_line_item';
117 l_api_version CONSTANT NUMBER := 1.0;
118 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
119
120 BEGIN
121
122 -- call START_ACTIVITY to create savepoint, check compatibility
123 -- and initialize message list
124 x_return_status := OKC_API.START_ACTIVITY(
125 p_api_name => l_api_name,
126 p_pkg_name => g_pkg_name,
127 p_init_msg_list => p_init_msg_list,
128 l_api_version => l_api_version,
129 p_api_version => p_api_version,
130 p_api_type => g_api_type,
131 x_return_status => x_return_status);
132
133 -- check if activity started successfully
134 If (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
135 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
136 Elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
137 raise OKC_API.G_EXCEPTION_ERROR;
138 End If;
139
140 okl_contract_line_item_pvt.create_contract_line_item(
141 p_api_version => p_api_version,
142 p_init_msg_list => p_init_msg_list,
143 x_return_status => x_return_status,
144 x_msg_count => x_msg_count,
145 x_msg_data => x_msg_data,
146 p_line_item_tbl => p_line_item_tbl,
147 x_line_item_tbl => x_line_item_tbl);
148
149 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
150 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
151 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
152 raise OKC_API.G_EXCEPTION_ERROR;
153 END IF;
154
155 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
156
157 EXCEPTION
158 when OKC_API.G_EXCEPTION_ERROR then
159 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
160 p_api_name => l_api_name,
161 p_pkg_name => g_pkg_name,
162 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
163 x_msg_count => x_msg_count,
164 x_msg_data => x_msg_data,
165 p_api_type => g_api_type);
166
167 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
168 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
169 p_api_name => l_api_name,
170 p_pkg_name => g_pkg_name,
171 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
172 x_msg_count => x_msg_count,
173 x_msg_data => x_msg_data,
174 p_api_type => g_api_type);
175
176 when OTHERS then
177 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
178 p_api_name => l_api_name,
179 p_pkg_name => g_pkg_name,
180 p_exc_name => 'OTHERS',
181 x_msg_count => x_msg_count,
182 x_msg_data => x_msg_data,
183 p_api_type => g_api_type);
184 END create_contract_line_item;
185
186 PROCEDURE update_contract_line_item(
187 p_api_version IN NUMBER,
188 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
189 x_return_status OUT NOCOPY VARCHAR2,
190 x_msg_count OUT NOCOPY NUMBER,
191 x_msg_data OUT NOCOPY VARCHAR2,
192 p_line_item_tbl IN line_item_tbl_type,
193 x_line_item_tbl OUT NOCOPY line_item_tbl_type
194 ) IS
195
196 l_api_name CONSTANT VARCHAR2(30) := 'update_contract_line_item';
197 l_api_version CONSTANT NUMBER := 1.0;
198 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
199
200
201 BEGIN
202
203 -- call START_ACTIVITY to create savepoint, check compatibility
204 -- and initialize message list
205 x_return_status := OKC_API.START_ACTIVITY(
206 p_api_name => l_api_name,
207 p_pkg_name => g_pkg_name,
208 p_init_msg_list => p_init_msg_list,
209 l_api_version => l_api_version,
210 p_api_version => p_api_version,
211 p_api_type => g_api_type,
212 x_return_status => x_return_status);
213
214 -- check if activity started successfully
215 If (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
216 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
217 Elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
218 raise OKC_API.G_EXCEPTION_ERROR;
219 End If;
220
221 okl_contract_line_item_pvt.update_contract_line_item(
222 p_api_version => p_api_version,
223 p_init_msg_list => p_init_msg_list,
224 x_return_status => x_return_status,
225 x_msg_count => x_msg_count,
226 x_msg_data => x_msg_data,
227 p_line_item_tbl => p_line_item_tbl,
228 x_line_item_tbl => x_line_item_tbl);
229
230 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
231 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
232 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
233 raise OKC_API.G_EXCEPTION_ERROR;
234 END IF;
235
236 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
237
238 EXCEPTION
239 when OKC_API.G_EXCEPTION_ERROR then
240 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
241 p_api_name => l_api_name,
242 p_pkg_name => g_pkg_name,
243 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
244 x_msg_count => x_msg_count,
245 x_msg_data => x_msg_data,
246 p_api_type => g_api_type);
247
248 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
249 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
250 p_api_name => l_api_name,
251 p_pkg_name => g_pkg_name,
252 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
253 x_msg_count => x_msg_count,
254 x_msg_data => x_msg_data,
255 p_api_type => g_api_type);
256
257 when OTHERS then
258 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
259 p_api_name => l_api_name,
260 p_pkg_name => g_pkg_name,
261 p_exc_name => 'OTHERS',
262 x_msg_count => x_msg_count,
263 x_msg_data => x_msg_data,
264 p_api_type => g_api_type);
265 END update_contract_line_item;
266
267
268 PROCEDURE delete_contract_line_item(
269 p_api_version IN NUMBER,
270 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
271 x_return_status OUT NOCOPY VARCHAR2,
272 x_msg_count OUT NOCOPY NUMBER,
273 x_msg_data OUT NOCOPY VARCHAR2,
274 p_line_item_tbl IN line_item_tbl_type
275 ) IS
276
277 l_api_name CONSTANT VARCHAR2(30) := 'delete_contract_line_item';
278 l_api_version CONSTANT NUMBER := 1.0;
279 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
280 BEGIN
281
282 -- call START_ACTIVITY to create savepoint, check compatibility
283 -- and initialize message list
284 x_return_status := OKC_API.START_ACTIVITY(
285 p_api_name => l_api_name,
286 p_pkg_name => g_pkg_name,
287 p_init_msg_list => p_init_msg_list,
288 l_api_version => l_api_version,
289 p_api_version => p_api_version,
290 p_api_type => g_api_type,
291 x_return_status => x_return_status);
292
293 -- check if activity started successfully
294 If (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
295 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
296 Elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
297 raise OKC_API.G_EXCEPTION_ERROR;
298 End If;
299
300 --
301 -- call procedure in complex API
302 --
303 okl_contract_line_item_pvt.delete_contract_line_item(
304 p_api_version => p_api_version,
305 p_init_msg_list => p_init_msg_list,
306 x_return_status => x_return_status,
307 x_msg_count => x_msg_count,
308 x_msg_data => x_msg_data,
309 p_line_item_tbl => p_line_item_tbl);
310
311 -- check return status
312 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
313 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
314 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
315 raise OKC_API.G_EXCEPTION_ERROR;
316 End If;
317
318 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
319
320 EXCEPTION
321 when OKC_API.G_EXCEPTION_ERROR then
322 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
323 p_api_name => l_api_name,
324 p_pkg_name => g_pkg_name,
325 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
326 x_msg_count => x_msg_count,
327 x_msg_data => x_msg_data,
328 p_api_type => g_api_type);
329
330 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
331 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
332 p_api_name => l_api_name,
333 p_pkg_name => g_pkg_name,
334 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
335 x_msg_count => x_msg_count,
336 x_msg_data => x_msg_data,
337 p_api_type => g_api_type);
338
339 when OTHERS then
340 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
341 p_api_name => l_api_name,
342 p_pkg_name => g_pkg_name,
343 p_exc_name => 'OTHERS',
344 x_msg_count => x_msg_count,
345 x_msg_data => x_msg_data,
346 p_api_type => g_api_type);
347 END delete_contract_line_item;
348
349
350 -- Start of comments
351 --
352 -- Procedure Name : create_contract_line_item
353 -- Description : creates contract line for shadowed contract
354 -- Business Rules :
355 -- Parameters :
356 -- Version : 1.0
357 -- End of comments
358 PROCEDURE create_contract_line_item(
359 p_api_version IN NUMBER,
360 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
361 x_return_status OUT NOCOPY VARCHAR2,
362 x_msg_count OUT NOCOPY NUMBER,
363 x_msg_data OUT NOCOPY VARCHAR2,
364 p_clev_tbl IN clev_tbl_type,
365 p_klev_tbl IN klev_tbl_type,
366 p_cimv_tbl IN cimv_tbl_type,
367 x_clev_tbl OUT NOCOPY clev_tbl_type,
368 x_klev_tbl OUT NOCOPY klev_tbl_type,
369 x_cimv_tbl OUT NOCOPY cimv_tbl_type) IS
370
371 l_api_name CONSTANT VARCHAR2(30) := 'create_contract_line_item';
372 l_api_version CONSTANT NUMBER := 1.0;
373 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
374 i NUMBER;
375
376 l_klev_tbl klev_tbl_type := p_klev_tbl;
377 l_cimv_tbl cimv_tbl_type := p_cimv_tbl;
378 BEGIN
379 /*
380 -- call START_ACTIVITY to create savepoint, check compatibility
381 -- and initialize message list
382 x_return_status := OKC_API.START_ACTIVITY(
383 p_api_name => l_api_name,
384 p_pkg_name => g_pkg_name,
385 p_init_msg_list => p_init_msg_list,
386 l_api_version => l_api_version,
387 p_api_version => p_api_version,
388 p_api_type => g_api_type,
389 x_return_status => x_return_status);
390
391 -- check if activity started successfully
392 If (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
393 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
394 Elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
395 raise OKC_API.G_EXCEPTION_ERROR;
396 End If;
397
398 */
399 If (p_clev_tbl.COUNT > 0) Then
400 i := p_clev_tbl.FIRST;
401 LOOP
402 -- call procedure in complex API for a record
403 create_contract_line_item(
404 p_api_version => p_api_version,
405 p_init_msg_list => p_init_msg_list,
406 x_return_status => x_return_status,
407 x_msg_count => x_msg_count,
408 x_msg_data => x_msg_data,
409 p_clev_rec => p_clev_tbl(i),
410 p_klev_rec => l_klev_tbl(i),
411 p_cimv_rec => l_cimv_tbl(i),
412 x_clev_rec => x_clev_tbl(i),
413 x_klev_rec => x_klev_tbl(i),
414 x_cimv_rec => x_cimv_tbl(i));
415
416 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
417 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
418 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
419 raise OKC_API.G_EXCEPTION_ERROR;
420 End If;
421
422 EXIT WHEN (i = p_clev_tbl.LAST);
423 i := p_clev_tbl.NEXT(i);
424 END LOOP;
425
426 End If;
427
428 /*
429 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
430 x_msg_data => x_msg_data);
431 */
432 EXCEPTION
433 when OKC_API.G_EXCEPTION_ERROR then
434 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
435 p_api_name => l_api_name,
436 p_pkg_name => g_pkg_name,
437 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
438 x_msg_count => x_msg_count,
439 x_msg_data => x_msg_data,
440 p_api_type => g_api_type);
441
442 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
443 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
444 p_api_name => l_api_name,
445 p_pkg_name => g_pkg_name,
446 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
447 x_msg_count => x_msg_count,
448 x_msg_data => x_msg_data,
449 p_api_type => g_api_type);
450
451 when OTHERS then
452 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
453 p_api_name => l_api_name,
454 p_pkg_name => g_pkg_name,
455 p_exc_name => 'OTHERS',
456 x_msg_count => x_msg_count,
457 x_msg_data => x_msg_data,
458 p_api_type => g_api_type);
459
460 END create_contract_line_item;
461
462
463 -- Start of comments
464 --
465 -- Procedure Name : update_contract_line_item
466 -- Description : updates contract line for shadowed contract
467 -- Business Rules :
468 -- Parameters :
469 -- Version : 1.0
470 -- End of comments
471 PROCEDURE update_contract_line_item(
472 p_api_version IN NUMBER,
473 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
474 x_return_status OUT NOCOPY VARCHAR2,
475 x_msg_count OUT NOCOPY NUMBER,
476 x_msg_data OUT NOCOPY VARCHAR2,
477 p_clev_rec IN clev_rec_type,
478 p_klev_rec IN klev_rec_type,
479 p_cimv_rec IN cimv_rec_type,
480 x_clev_rec OUT NOCOPY clev_rec_type,
481 x_klev_rec OUT NOCOPY klev_rec_type,
482 x_cimv_rec OUT NOCOPY cimv_rec_type) IS
483
484 l_clev_rec clev_rec_type := p_clev_rec;
485 l_klev_rec klev_rec_type := p_klev_rec;
486 l_cimv_rec cimv_rec_type := p_cimv_rec;
487
488 l_api_name CONSTANT VARCHAR2(30) := 'update_contract_line_item';
489 l_api_version CONSTANT NUMBER := 1.0;
490 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
491
492 BEGIN
493 /*
494 -- call START_ACTIVITY to create savepoint, check compatibility
495 -- and initialize message list
496 x_return_status := OKC_API.START_ACTIVITY(
497 p_api_name => l_api_name,
498 p_pkg_name => g_pkg_name,
499 p_init_msg_list => p_init_msg_list,
500 l_api_version => l_api_version,
501 p_api_version => p_api_version,
502 p_api_type => g_api_type,
503 x_return_status => x_return_status);
504
505 -- check if activity started successfully
506 If (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
507 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
508 Elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
509 raise OKC_API.G_EXCEPTION_ERROR;
510 End If;
511 */
512 okl_contract_line_item_pvt.update_contract_line_item(
513 p_api_version => p_api_version,
514 p_init_msg_list => p_init_msg_list,
515 x_return_status => x_return_status,
516 x_msg_count => x_msg_count,
517 x_msg_data => x_msg_data,
518 p_clev_rec => l_clev_rec,
519 p_klev_rec => l_klev_rec,
520 p_cimv_rec => l_cimv_rec,
521 x_clev_rec => x_clev_rec,
522 x_klev_rec => x_klev_rec,
523 x_cimv_rec => x_cimv_rec
524 );
525
526 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
527 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
528 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
529 raise OKC_API.G_EXCEPTION_ERROR;
530 END IF;
531
532 /*
533 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
534 */
535
536 EXCEPTION
537 when OKC_API.G_EXCEPTION_ERROR then
538 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
539 p_api_name => l_api_name,
540 p_pkg_name => g_pkg_name,
541 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
542 x_msg_count => x_msg_count,
543 x_msg_data => x_msg_data,
544 p_api_type => g_api_type);
545
546 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
547 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
548 p_api_name => l_api_name,
549 p_pkg_name => g_pkg_name,
550 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
551 x_msg_count => x_msg_count,
552 x_msg_data => x_msg_data,
553 p_api_type => g_api_type);
554
555 when OTHERS then
556 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
557 p_api_name => l_api_name,
558 p_pkg_name => g_pkg_name,
559 p_exc_name => 'OTHERS',
560 x_msg_count => x_msg_count,
561 x_msg_data => x_msg_data,
562 p_api_type => g_api_type);
563 END update_contract_line_item;
564
565
566 -- Start of comments
567 --
568 -- Procedure Name : update_contract_line_item
569 -- Description : updates contract line for shadowed contract
570 -- Business Rules :
571 -- Parameters :
572 -- Version : 1.0
573 -- End of comments
574 PROCEDURE update_contract_line_item(
575 p_api_version IN NUMBER,
576 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
577 x_return_status OUT NOCOPY VARCHAR2,
578 x_msg_count OUT NOCOPY NUMBER,
579 x_msg_data OUT NOCOPY VARCHAR2,
580 p_clev_tbl IN clev_tbl_type,
581 p_klev_tbl IN klev_tbl_type,
582 p_cimv_tbl IN cimv_tbl_type,
583 x_clev_tbl OUT NOCOPY clev_tbl_type,
584 x_klev_tbl OUT NOCOPY klev_tbl_type,
585 x_cimv_tbl OUT NOCOPY cimv_tbl_type) IS
586
587 l_api_name CONSTANT VARCHAR2(30) := 'update_contract_line_item';
588 l_api_version CONSTANT NUMBER := 1.0;
589 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
590 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
591 i NUMBER;
592 l_klev_tbl klev_tbl_type := p_klev_tbl;
593 l_cimv_tbl cimv_tbl_type := p_cimv_tbl;
594 BEGIN
595 /*
596 -- call START_ACTIVITY to create savepoint, check compatibility
597 -- and initialize message list
598 x_return_status := OKC_API.START_ACTIVITY(
599 p_api_name => l_api_name,
600 p_pkg_name => g_pkg_name,
601 p_init_msg_list => p_init_msg_list,
602 l_api_version => l_api_version,
603 p_api_version => p_api_version,
604 p_api_type => g_api_type,
605 x_return_status => x_return_status);
606
607 -- check if activity started successfully
608 If (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
609 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
610 Elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
611 raise OKC_API.G_EXCEPTION_ERROR;
612 End If;
613
614 */
615 If (p_clev_tbl.COUNT > 0) Then
616 i := p_clev_tbl.FIRST;
617 LOOP
618 -- call procedure in complex API for a record
619 update_contract_line_item(
620 p_api_version => p_api_version,
621 p_init_msg_list => p_init_msg_list,
622 x_return_status => x_return_status,
623 x_msg_count => x_msg_count,
624 x_msg_data => x_msg_data,
625 p_clev_rec => p_clev_tbl(i),
626 p_klev_rec => l_klev_tbl(i),
627 p_cimv_rec => l_cimv_tbl(i),
628 x_clev_rec => x_clev_tbl(i),
629 x_klev_rec => x_klev_tbl(i),
630 x_cimv_rec => x_cimv_tbl(i));
631
632 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
633 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
634 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
635 raise OKC_API.G_EXCEPTION_ERROR;
636 End If;
637
638 EXIT WHEN (i = p_clev_tbl.LAST);
639 i := p_clev_tbl.NEXT(i);
640 END LOOP;
641
642 End If;
643
644 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
645 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
646 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
647 raise OKC_API.G_EXCEPTION_ERROR;
648 End If;
649
650 /*
651 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
652 x_msg_data => x_msg_data);
653 */
654 EXCEPTION
655 when OKC_API.G_EXCEPTION_ERROR then
656 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
657 p_api_name => l_api_name,
658 p_pkg_name => g_pkg_name,
659 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
660 x_msg_count => x_msg_count,
661 x_msg_data => x_msg_data,
662 p_api_type => g_api_type);
663
664 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
665 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
666 p_api_name => l_api_name,
667 p_pkg_name => g_pkg_name,
668 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
669 x_msg_count => x_msg_count,
670 x_msg_data => x_msg_data,
671 p_api_type => g_api_type);
672
673 when OTHERS then
674 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
675 p_api_name => l_api_name,
676 p_pkg_name => g_pkg_name,
677 p_exc_name => 'OTHERS',
678 x_msg_count => x_msg_count,
679 x_msg_data => x_msg_data,
680 p_api_type => g_api_type);
681
682 END update_contract_line_item;
683
684
685 PROCEDURE delete_contract_line_item(
686 p_api_version IN NUMBER,
687 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
688 x_return_status OUT NOCOPY VARCHAR2,
689 x_msg_count OUT NOCOPY NUMBER,
690 x_msg_data OUT NOCOPY VARCHAR2,
691 p_clev_rec IN clev_rec_type,
692 p_klev_rec IN klev_rec_type,
693 p_cimv_rec IN cimv_rec_type) IS
694
695 l_clev_rec clev_rec_type;
696 l_klev_rec klev_rec_type;
697 l_cimv_rec cimv_rec_type;
698
699 l_api_name CONSTANT VARCHAR2(30) := 'delete_contract_line_item';
700 l_api_version CONSTANT NUMBER := 1.0;
701 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
702 BEGIN
703 /*
704 -- call START_ACTIVITY to create savepoint, check compatibility
705 -- and initialize message list
706 x_return_status := OKC_API.START_ACTIVITY(
707 p_api_name => l_api_name,
708 p_pkg_name => g_pkg_name,
709 p_init_msg_list => p_init_msg_list,
710 l_api_version => l_api_version,
711 p_api_version => p_api_version,
712 p_api_type => g_api_type,
713 x_return_status => x_return_status);
714
715 -- check if activity started successfully
716 If (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
717 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
718 Elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
719 raise OKC_API.G_EXCEPTION_ERROR;
720 End If;
721 */
722 okl_contract_line_item_pvt.delete_contract_line_item(
723 p_api_version => p_api_version,
724 p_init_msg_list => p_init_msg_list,
725 x_return_status => x_return_status,
726 x_msg_count => x_msg_count,
727 x_msg_data => x_msg_data,
728 p_clev_rec => l_clev_rec,
729 p_klev_rec => l_klev_rec,
730 p_cimv_rec => l_cimv_rec
731 );
732
733 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
734 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
735 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
736 raise OKC_API.G_EXCEPTION_ERROR;
737 END IF;
738 /*
739 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
740 */
741
742 EXCEPTION
743 when OKC_API.G_EXCEPTION_ERROR then
744 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
745 p_api_name => l_api_name,
746 p_pkg_name => g_pkg_name,
747 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
748 x_msg_count => x_msg_count,
749 x_msg_data => x_msg_data,
750 p_api_type => g_api_type);
751
752 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
753 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
754 p_api_name => l_api_name,
755 p_pkg_name => g_pkg_name,
756 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
757 x_msg_count => x_msg_count,
758 x_msg_data => x_msg_data,
759 p_api_type => g_api_type);
760
761 when OTHERS then
762 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
763 p_api_name => l_api_name,
764 p_pkg_name => g_pkg_name,
765 p_exc_name => 'OTHERS',
766 x_msg_count => x_msg_count,
767 x_msg_data => x_msg_data,
768 p_api_type => g_api_type);
769 END delete_contract_line_item;
770
771 -- Start of comments
772 --
773 -- Procedure Name : delete_contract_line_item
774 -- Description : deletes contract line for shadowed contract
775 -- Business Rules : line can be deleted only if there is no sublines attached
776 -- Parameters :
777 -- Version : 1.0
778 -- End of comments
779 PROCEDURE delete_contract_line_item(
780 p_api_version IN NUMBER,
781 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
782 x_return_status OUT NOCOPY VARCHAR2,
783 x_msg_count OUT NOCOPY NUMBER,
784 x_msg_data OUT NOCOPY VARCHAR2,
785 p_clev_tbl IN clev_tbl_type,
786 p_klev_tbl IN klev_tbl_type,
787 p_cimv_tbl IN cimv_tbl_type) IS
788
789 l_api_name CONSTANT VARCHAR2(30) := 'delete_contract_line_item';
790 l_api_version CONSTANT NUMBER := 1.0;
791 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
792 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
793 i NUMBER;
794 l_klev_tbl klev_tbl_type := p_klev_tbl;
795 l_cimv_tbl cimv_tbl_type := p_cimv_tbl;
796
797 BEGIN
798 /*
799 -- call START_ACTIVITY to create savepoint, check compatibility
800 -- and initialize message list
801 x_return_status := OKC_API.START_ACTIVITY(
802 p_api_name => l_api_name,
803 p_pkg_name => g_pkg_name,
804 p_init_msg_list => p_init_msg_list,
805 l_api_version => l_api_version,
806 p_api_version => p_api_version,
807 p_api_type => g_api_type,
808 x_return_status => x_return_status);
809
810 -- check if activity started successfully
811 If (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
812 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
813 Elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
814 raise OKC_API.G_EXCEPTION_ERROR;
815 End If;
816 */
817
818 If (p_clev_tbl.COUNT > 0) Then
819 i := p_clev_tbl.FIRST;
820 LOOP
821 -- call procedure in complex API for a record
822 delete_contract_line_item(
823 p_api_version => p_api_version,
824 p_init_msg_list => p_init_msg_list,
825 x_return_status => x_return_status,
826 x_msg_count => x_msg_count,
827 x_msg_data => x_msg_data,
828 p_clev_rec => p_clev_tbl(i),
829 p_klev_rec => l_klev_tbl(i),
830 p_cimv_rec => l_cimv_tbl(i));
831
832 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
833 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
834 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
835 raise OKC_API.G_EXCEPTION_ERROR;
836 End If;
837
838 EXIT WHEN (i = p_clev_tbl.LAST);
839 i := p_clev_tbl.NEXT(i);
840 END LOOP;
841
842 End If;
843
844 If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
845 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
846 Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
847 raise OKC_API.G_EXCEPTION_ERROR;
848 End If;
849
850 /*
851 OKC_API.END_ACTIVITY( x_msg_count => x_msg_count,
852 x_msg_data => x_msg_data);
853 */
854 EXCEPTION
855 when OKC_API.G_EXCEPTION_ERROR then
856 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
857 p_api_name => l_api_name,
858 p_pkg_name => g_pkg_name,
859 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
860 x_msg_count => x_msg_count,
861 x_msg_data => x_msg_data,
862 p_api_type => g_api_type);
863
864 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
865 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
866 p_api_name => l_api_name,
867 p_pkg_name => g_pkg_name,
868 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
869 x_msg_count => x_msg_count,
870 x_msg_data => x_msg_data,
871 p_api_type => g_api_type);
872
873 when OTHERS then
874 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
875 p_api_name => l_api_name,
876 p_pkg_name => g_pkg_name,
877 p_exc_name => 'OTHERS',
878 x_msg_count => x_msg_count,
879 x_msg_data => x_msg_data,
880 p_api_type => g_api_type);
881
882 END delete_contract_line_item;
883
884 END OKL_CONTRACT_LINE_ITEM_PUB;