DBA Data[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;