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