DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKS_ORDER_DETAILS_PUB

Source


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