DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_K_PRINT_FORMS_PUB

Source


1 PACKAGE BODY OKE_K_PRINT_FORMS_PUB AS
2 /* $Header: OKEPKPFB.pls 120.1 2005/05/27 15:58:11 appldev  $ */
3     g_api_type		CONSTANT VARCHAR2(4) := '_PUB';
4     g_module          CONSTANT VARCHAR2(250) := 'oke.plsql.oke_k_print_forms_pub.';
5 
6 
7   PROCEDURE create_print_form(
8     p_api_version       IN NUMBER,
9     p_init_msg_list     IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
10     x_return_status     OUT NOCOPY VARCHAR2,
11     x_msg_count         OUT NOCOPY NUMBER,
12     x_msg_data          OUT NOCOPY VARCHAR2,
13     p_form_rec		IN  oke_form_pvt.form_rec_type,
14     x_form_rec		OUT NOCOPY  oke_form_pvt.form_rec_type) IS
15 
16 
17     l_form_rec		oke_form_pvt.form_rec_type;
18 
19     l_api_name		CONSTANT VARCHAR2(30) := 'CREATE_PRINT_FORM';
20     l_api_version	CONSTANT NUMBER	  := 1.0;
21     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
22     l_line_number       VARCHAR2(120);
23 
24   BEGIN
25     -- call START_ACTIVITY to create savepoint, check compatibility
26     -- and initialize message list
27     l_return_status := OKE_API.START_ACTIVITY(
28 			p_api_name      => l_api_name,
29 			p_pkg_name      => g_pkg_name,
30 			p_init_msg_list => p_init_msg_list,
31 			l_api_version   => l_api_version,
32 			p_api_version   => p_api_version,
33 			p_api_type      => g_api_type,
34 			x_return_status => x_return_status);
35 
36     -- check if activity started successfully
37     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
38        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
39     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
40        raise OKE_API.G_EXCEPTION_ERROR;
41     End If;
42 
43     l_form_rec := p_form_rec;
44 
45 --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'start call forms pvt');
46 
47     -- call procedure in complex API
48 
49 	OKE_FORM_PVT.Insert_Row(
50 	    p_api_version	=> p_api_version,
51 	    p_init_msg_list	=> p_init_msg_list,
52             x_return_status 	=> x_return_status,
53             x_msg_count     	=> x_msg_count,
54             x_msg_data      	=> x_msg_data,
55             p_form_rec		=> l_form_rec,
56             x_form_rec		=> x_form_rec);
57 
58 
59     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
60 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
61     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
62 	  raise OKE_API.G_EXCEPTION_ERROR;
63     End If;
64 
65 --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'oke call passed');
66 
67     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
68 				x_msg_data	=> x_msg_data);
69   EXCEPTION
70     when OKE_API.G_EXCEPTION_ERROR then
71       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
72 			p_api_name  => l_api_name,
73 			p_pkg_name  => g_pkg_name,
74 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
75 			x_msg_count => x_msg_count,
76 			x_msg_data  => x_msg_data,
77 			p_api_type  => g_api_type);
78 
79     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
80       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
81 			p_api_name  => l_api_name,
82 			p_pkg_name  => g_pkg_name,
83 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
84 			x_msg_count => x_msg_count,
85 			x_msg_data  => x_msg_data,
86 			p_api_type  => g_api_type);
87 
88     when OTHERS then
89       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
90 			p_api_name  => l_api_name,
91 			p_pkg_name  => g_pkg_name,
92 			p_exc_name  => 'OTHERS',
93 			x_msg_count => x_msg_count,
94 			x_msg_data  => x_msg_data,
95 			p_api_type  => g_api_type);
96 
97   END create_print_form;
98 
99 
100 
101   PROCEDURE create_print_form(
102     p_api_version       IN NUMBER,
103     p_init_msg_list     IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
104     x_return_status     OUT NOCOPY VARCHAR2,
105     x_msg_count         OUT NOCOPY NUMBER,
106     x_msg_data          OUT NOCOPY VARCHAR2,
107     p_form_tbl		IN  oke_form_pvt.form_tbl_type,
108     x_form_tbl		OUT NOCOPY  oke_form_pvt.form_tbl_type) IS
109 
110     l_api_name		CONSTANT VARCHAR2(30) := 'CREATE_PRINT_FORM';
111     l_api_version	CONSTANT NUMBER	  := 1.0;
112     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
113     l_overall_status VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
114     i			NUMBER;
115     l_form_tbl           oke_form_pvt.form_tbl_type;
116   BEGIN
117     -- call START_ACTIVITY to create savepoint, check compatibility
118     -- and initialize message list
119     l_return_status := OKE_API.START_ACTIVITY(
120 			p_api_name      => l_api_name,
121 			p_pkg_name      => g_pkg_name,
122 			p_init_msg_list => p_init_msg_list,
123 			l_api_version   => l_api_version,
124 			p_api_version   => p_api_version,
125 			p_api_type      => g_api_type,
126 			x_return_status => x_return_status);
127 
128     -- check if activity started successfully
129     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
130        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
131     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
132        raise OKE_API.G_EXCEPTION_ERROR;
133     End If;
134 
135     OKE_FORM_PVT.Insert_Row(
136       p_api_version	=> p_api_version,
137       p_init_msg_list	=> p_init_msg_list,
138       x_return_status 	=> x_return_status,
139       x_msg_count     	=> x_msg_count,
140       x_msg_data      	=> x_msg_data,
141       p_form_tbl		=> p_form_tbl,
142       x_form_tbl		=> x_form_tbl);
143 
144 
145     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
146 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
147     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
148 	  raise OKE_API.G_EXCEPTION_ERROR;
149     End If;
150 
151     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
152 				x_msg_data	=> x_msg_data);
153   EXCEPTION
154     when OKE_API.G_EXCEPTION_ERROR then
155       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
156 			p_api_name  => l_api_name,
157 			p_pkg_name  => g_pkg_name,
158 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
159 			x_msg_count => x_msg_count,
160 			x_msg_data  => x_msg_data,
161 			p_api_type  => g_api_type);
162 
163     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
164       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
165 			p_api_name  => l_api_name,
166 			p_pkg_name  => g_pkg_name,
167 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
168 			x_msg_count => x_msg_count,
169 			x_msg_data  => x_msg_data,
170 			p_api_type  => g_api_type);
171 
172     when OTHERS then
173       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
174 			p_api_name  => l_api_name,
175 			p_pkg_name  => g_pkg_name,
176 			p_exc_name  => 'OTHERS',
177 			x_msg_count => x_msg_count,
178 			x_msg_data  => x_msg_data,
179 			p_api_type  => g_api_type);
180 
181   END create_print_form;
182 
183   PROCEDURE update_print_form(
184     p_api_version       IN NUMBER,
185     p_init_msg_list     IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
186     x_return_status     OUT NOCOPY VARCHAR2,
187     x_msg_count         OUT NOCOPY NUMBER,
188     x_msg_data          OUT NOCOPY VARCHAR2,
189     p_form_rec		IN oke_form_pvt.form_rec_type,
190     x_form_rec		OUT NOCOPY oke_form_pvt.form_rec_type) IS
191 
192     l_api_name		CONSTANT VARCHAR2(30) := 'UPDATE_PRINT_FORM';
193     l_api_version	CONSTANT NUMBER	  := 1.0;
194     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
195   BEGIN
196     -- call START_ACTIVITY to create savepoint, check compatibility
197     -- and initialize message list
198 
199 --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'PUB.START TO CALL PUB LINE REC UPDATE');
200     l_return_status := OKE_API.START_ACTIVITY(
201 			p_api_name      => l_api_name,
202 			p_pkg_name      => g_pkg_name,
203 			p_init_msg_list => p_init_msg_list,
204 			l_api_version   => l_api_version,
205 			p_api_version   => p_api_version,
206 			p_api_type      => g_api_type,
207 			x_return_status => x_return_status);
208 
209     -- check if activity started successfully
210     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
211        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
212     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
213        raise OKE_API.G_EXCEPTION_ERROR;
214     End If;
215 
216     -- call complex api
217     --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'PUB.going to call pvt_update_row');
218     OKE_FORM_PVT.Update_Row(
219       p_api_version		=> p_api_version,
220       p_init_msg_list		=> p_init_msg_list,
221       x_return_status 		=> x_return_status,
222       x_msg_count     		=> x_msg_count,
223       x_msg_data      		=> x_msg_data,
224       p_form_rec			=> p_form_rec,
225       x_form_rec			=> x_form_rec);
226 
227 
228     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
229 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
230     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
231 	  raise OKE_API.G_EXCEPTION_ERROR;
232     End If;
233 
234     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
235 				x_msg_data	=> x_msg_data);
236     --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'PUB.ended');
237   EXCEPTION
238     when OKE_API.G_EXCEPTION_ERROR then
239       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
240 			p_api_name  => l_api_name,
241 			p_pkg_name  => g_pkg_name,
242 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
243 			x_msg_count => x_msg_count,
244 			x_msg_data  => x_msg_data,
245 			p_api_type  => g_api_type);
246 
247     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
248       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
249 			p_api_name  => l_api_name,
250 			p_pkg_name  => g_pkg_name,
251 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
252 			x_msg_count => x_msg_count,
253 			x_msg_data  => x_msg_data,
254 			p_api_type  => g_api_type);
255 
256     when OTHERS then
257       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
258 			p_api_name  => l_api_name,
259 			p_pkg_name  => g_pkg_name,
260 			p_exc_name  => 'OTHERS',
261 			x_msg_count => x_msg_count,
262 			x_msg_data  => x_msg_data,
263 			p_api_type  => g_api_type);
264 
265   END update_print_form;
266 
267 
268  PROCEDURE update_print_form(
269     p_api_version                  IN NUMBER,
270     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_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_form_tbl			   IN  oke_form_pvt.form_tbl_type,
275     x_form_tbl			   OUT NOCOPY  oke_form_pvt.form_tbl_type) IS
276 
277     l_api_name		CONSTANT VARCHAR2(30) := 'UPDATE_PRINT_FORM';
278     l_api_version	CONSTANT NUMBER	  := 1.0;
279     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
280     l_overall_status VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
281     i			NUMBER;
282   BEGIN
283     -- call START_ACTIVITY to create savepoint, check compatibility
284     -- and initialize message list
285 
286     --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'PUB.start call pub update table');
287 
288     l_return_status := OKE_API.START_ACTIVITY(
289 			p_api_name      => l_api_name,
290 			p_pkg_name      => g_pkg_name,
291 			p_init_msg_list => p_init_msg_list,
292 			l_api_version   => l_api_version,
293 			p_api_version   => p_api_version,
294 			p_api_type      => g_api_type,
295 			x_return_status => x_return_status);
296 
297     -- check if activity started successfully
298     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
299        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
300     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
301        raise OKE_API.G_EXCEPTION_ERROR;
302 
303     End If;
304 
305     --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'PUB.going to call PVT.update_row table version');
306 
307     OKE_FORM_PVT.Update_Row(
308 	 p_api_version			=> p_api_version,
309 	 p_init_msg_list		=> p_init_msg_list,
310       x_return_status 		=> x_return_status,
311       x_msg_count     		=> x_msg_count,
312       x_msg_data      		=> x_msg_data,
313       p_form_tbl			=> p_form_tbl,
314       x_form_tbl			=> x_form_tbl);
315 
316 
317 
318     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
319 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
320     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
321 	  raise OKE_API.G_EXCEPTION_ERROR;
322     End If;
323 
324     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
325 				x_msg_data	=> x_msg_data);
326   --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'PUB.ended');
327   EXCEPTION
328     when OKE_API.G_EXCEPTION_ERROR then
329       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
330 			p_api_name  => l_api_name,
331 			p_pkg_name  => g_pkg_name,
332 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
333 			x_msg_count => x_msg_count,
334 			x_msg_data  => x_msg_data,
335 			p_api_type  => g_api_type);
336 
337     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
338       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
339 			p_api_name  => l_api_name,
340 			p_pkg_name  => g_pkg_name,
341 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
342 			x_msg_count => x_msg_count,
343 			x_msg_data  => x_msg_data,
344 			p_api_type  => g_api_type);
345 
346     when OTHERS then
347       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
348 			p_api_name  => l_api_name,
349 			p_pkg_name  => g_pkg_name,
350 			p_exc_name  => 'OTHERS',
351 			x_msg_count => x_msg_count,
352 			x_msg_data  => x_msg_data,
353 			p_api_type  => g_api_type);
354 
355   END update_print_form;
356 
357 
358 
359   PROCEDURE validate_print_form(
360     p_api_version                  IN NUMBER,
361     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
362     x_return_status                OUT NOCOPY VARCHAR2,
363     x_msg_count                    OUT NOCOPY NUMBER,
364     x_msg_data                     OUT NOCOPY VARCHAR2,
365     p_form_rec			   IN oke_form_pvt.form_rec_type) IS
366 
367     l_form_rec		oke_form_pvt.form_rec_type;
368     l_api_name		CONSTANT VARCHAR2(30) := 'VALIDATE_PRINT_FORM';
369     l_api_version	CONSTANT NUMBER	  := 1.0;
370     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
371 
372   BEGIN
373     -- call START_ACTIVITY to create savepoint, check compatibility
374     -- and initialize message list
375     l_return_status := OKE_API.START_ACTIVITY(
376 			p_api_name      => l_api_name,
377 			p_pkg_name      => g_pkg_name,
378 			p_init_msg_list => p_init_msg_list,
379 			l_api_version   => l_api_version,
380 			p_api_version   => p_api_version,
381 			p_api_type      => g_api_type,
382 			x_return_status => x_return_status);
383 
384     -- check if activity started successfully
385     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
386        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
387     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
388        raise OKE_API.G_EXCEPTION_ERROR;
389     End If;
390 
391     -- call BEFORE user hook
392     l_form_rec := p_form_rec;
393 
394     -- call complex API
395 
396     OKE_FORM_PVT.Validate_Row(
397 	p_api_version		=> p_api_version,
398 	p_init_msg_list	=> p_init_msg_list,
399      	x_return_status 	=> x_return_status,
400       	x_msg_count     	=> x_msg_count,
401       	x_msg_data      	=> x_msg_data,
402       	p_form_rec		=> p_form_rec);
403 
404 
405     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
406 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
407     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
408 	  raise OKE_API.G_EXCEPTION_ERROR;
409     End If;
410 
411     -- end activity
412     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
413 				x_msg_data	=> x_msg_data);
414   EXCEPTION
415     when OKE_API.G_EXCEPTION_ERROR then
416       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
417 			p_api_name  => l_api_name,
418 			p_pkg_name  => g_pkg_name,
419 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
420 			x_msg_count => x_msg_count,
421 			x_msg_data  => x_msg_data,
422 			p_api_type  => g_api_type);
423 
424     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
425       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
426 			p_api_name  => l_api_name,
427 			p_pkg_name  => g_pkg_name,
428 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
429 			x_msg_count => x_msg_count,
430 			x_msg_data  => x_msg_data,
431 			p_api_type  => g_api_type);
432 
433     when OTHERS then
434       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
435 			p_api_name  => l_api_name,
436 			p_pkg_name  => g_pkg_name,
437 			p_exc_name  => 'OTHERS',
438 			x_msg_count => x_msg_count,
439 			x_msg_data  => x_msg_data,
440 			p_api_type  => g_api_type);
441 
442   END validate_print_form;
443 
444   PROCEDURE validate_print_form(
445     p_api_version                  IN NUMBER,
446     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
447     x_return_status                OUT NOCOPY VARCHAR2,
448     x_msg_count                    OUT NOCOPY NUMBER,
449     x_msg_data                     OUT NOCOPY VARCHAR2,
450     p_form_tbl			   IN oke_form_pvt.form_tbl_type) IS
451 
452     l_api_name		CONSTANT VARCHAR2(30) := 'VALIDATE_PRINT_FORM';
453 
454     l_api_version	CONSTANT NUMBER	  := 1.0;
455     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
456     l_overall_status VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
457     i			NUMBER;
458     l_form_tbl       oke_form_pvt.form_tbl_type := p_form_tbl;
459   BEGIN
460     -- call START_ACTIVITY to create savepoint, check compatibility
461     -- and initialize message list
462     l_return_status := OKE_API.START_ACTIVITY(
463 			p_api_name      => l_api_name,
464 			p_pkg_name      => g_pkg_name,
465 			p_init_msg_list => p_init_msg_list,
466 			l_api_version   => l_api_version,
467 			p_api_version   => p_api_version,
468 			p_api_type      => g_api_type,
469 			x_return_status => x_return_status);
470 
471     -- check if activity started successfully
472     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
473        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
474     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
475        raise OKE_API.G_EXCEPTION_ERROR;
476     End If;
477 
478 
479     OKE_FORM_PVT.Validate_Row(
480 	 p_api_version		=> p_api_version,
481 	 p_init_msg_list	=> p_init_msg_list,
482       x_return_status 	=> x_return_status,
483       x_msg_count     	=> x_msg_count,
484       x_msg_data      	=> x_msg_data,
485       p_form_tbl		=> p_form_tbl);
486 
487 
488     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
489 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
490     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
491 	  raise OKE_API.G_EXCEPTION_ERROR;
492     End If;
493 
494     -- end activity
495     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
496 				x_msg_data	=> x_msg_data);
497   EXCEPTION
498     when OKE_API.G_EXCEPTION_ERROR then
499       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
500 			p_api_name  => l_api_name,
501 			p_pkg_name  => g_pkg_name,
502 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
503 			x_msg_count => x_msg_count,
504 			x_msg_data  => x_msg_data,
505 			p_api_type  => g_api_type);
506 
507     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
508       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
509 			p_api_name  => l_api_name,
510 			p_pkg_name  => g_pkg_name,
511 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
512 			x_msg_count => x_msg_count,
513 			x_msg_data  => x_msg_data,
514 			p_api_type  => g_api_type);
515 
516     when OTHERS then
517       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
518 			p_api_name  => l_api_name,
519 			p_pkg_name  => g_pkg_name,
520 			p_exc_name  => 'OTHERS',
521 			x_msg_count => x_msg_count,
522 			x_msg_data  => x_msg_data,
523 			p_api_type  => g_api_type);
524 
525   END validate_print_form;
526 
527 
528 
529 
530   PROCEDURE delete_print_form(
531 
532     p_api_version                  IN NUMBER,
533     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
534     x_return_status                OUT NOCOPY VARCHAR2,
535     x_msg_count                    OUT NOCOPY NUMBER,
536     x_msg_data                     OUT NOCOPY VARCHAR2,
537     p_form_rec			   IN oke_form_pvt.form_rec_type) IS
538 
539     l_form_rec		oke_form_pvt.form_rec_type;
540     l_api_name		CONSTANT VARCHAR2(30) := 'DELETE_PRINT_FORM';
541     l_api_version	CONSTANT NUMBER	  := 1.0;
542     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
543   BEGIN
544     -- call START_ACTIVITY to create savepoint, check compatibility
545     -- and initialize message list
546     l_return_status := OKE_API.START_ACTIVITY(
547 			p_api_name      => l_api_name,
548 			p_pkg_name      => g_pkg_name,
549 			p_init_msg_list => p_init_msg_list,
550 			l_api_version   => l_api_version,
551 			p_api_version   => p_api_version,
552 			p_api_type      => g_api_type,
553 			x_return_status => x_return_status);
554 
555     -- check if activity started successfully
556     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
557        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
558     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
559        raise OKE_API.G_EXCEPTION_ERROR;
560     End If;
561 
562     l_form_rec := p_form_rec;
563 
564     -- call complex api
565 
566     	OKE_FORM_PVT.delete_row(
567 	 	p_api_version		=> p_api_version,
568 	 	p_init_msg_list	=> p_init_msg_list,
569       		x_return_status 	=> x_return_status,
570       		x_msg_count     	=> x_msg_count,
571       		x_msg_data      	=> x_msg_data,
572       		p_form_rec		=> p_form_rec);
573 
574 
575     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
576 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
577     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
578 	  raise OKE_API.G_EXCEPTION_ERROR;
579     End If;
580 
581 
582     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
583 				x_msg_data	=> x_msg_data);
584   EXCEPTION
585     when OKE_API.G_EXCEPTION_ERROR then
586       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
587 			p_api_name  => l_api_name,
588 			p_pkg_name  => g_pkg_name,
589 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
590 			x_msg_count => x_msg_count,
591 			x_msg_data  => x_msg_data,
592 			p_api_type  => g_api_type);
593 
594     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
595       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
596 			p_api_name  => l_api_name,
597 			p_pkg_name  => g_pkg_name,
598 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
599 			x_msg_count => x_msg_count,
600 			x_msg_data  => x_msg_data,
601 			p_api_type  => g_api_type);
602 
603     when OTHERS then
604       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
605 			p_api_name  => l_api_name,
606 			p_pkg_name  => g_pkg_name,
607 			p_exc_name  => 'OTHERS',
608 			x_msg_count => x_msg_count,
609 			x_msg_data  => x_msg_data,
610 			p_api_type  => g_api_type);
611 
612   END delete_print_form;
613 
614 
615   PROCEDURE delete_print_form(
616     p_api_version                  IN NUMBER,
617     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
618     x_return_status                OUT NOCOPY VARCHAR2,
619     x_msg_count                    OUT NOCOPY NUMBER,
620     x_msg_data                     OUT NOCOPY VARCHAR2,
621     p_form_tbl			   IN  oke_form_pvt.form_tbl_type) IS
622 
623     l_api_name		CONSTANT VARCHAR2(30) := 'DELETE_PRINT_FORM';
624     l_api_version	CONSTANT NUMBER	  := 1.0;
625     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
626     l_overall_status VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
627     i			NUMBER;
628   BEGIN
629     -- call START_ACTIVITY to create savepoint, check compatibility
630     -- and initialize message list
631     l_return_status := OKE_API.START_ACTIVITY(
632 			p_api_name      => l_api_name,
633 			p_pkg_name      => g_pkg_name,
634 			p_init_msg_list => p_init_msg_list,
635 			l_api_version   => l_api_version,
636 			p_api_version   => p_api_version,
637 			p_api_type      => g_api_type,
638 			x_return_status => x_return_status);
639 
640     -- check if activity started successfully
641     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
642        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
643     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
644        raise OKE_API.G_EXCEPTION_ERROR;
645     End If;
646 
647 
648     OKE_FORM_PVT.Delete_Row(
649       p_api_version	=> p_api_version,
650       p_init_msg_list	=> p_init_msg_list,
651       x_return_status 	=> x_return_status,
652       x_msg_count     	=> x_msg_count,
653       x_msg_data      	=> x_msg_data,
654       p_form_tbl		=> p_form_tbl);
655 
656 
657 
658     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
659 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
660     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
661 	  raise OKE_API.G_EXCEPTION_ERROR;
662     End If;
663 
664     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
665 				x_msg_data	=> x_msg_data);
666   EXCEPTION
667     when OKE_API.G_EXCEPTION_ERROR then
668       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
669 			p_api_name  => l_api_name,
670 			p_pkg_name  => g_pkg_name,
671 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
672 			x_msg_count => x_msg_count,
673 			x_msg_data  => x_msg_data,
674 			p_api_type  => g_api_type);
675 
676     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
677       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
678 			p_api_name  => l_api_name,
679 			p_pkg_name  => g_pkg_name,
680 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
681 			x_msg_count => x_msg_count,
682 			x_msg_data  => x_msg_data,
683 			p_api_type  => g_api_type);
684 
685     when OTHERS then
686       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
687 			p_api_name  => l_api_name,
688 			p_pkg_name  => g_pkg_name,
689 			p_exc_name  => 'OTHERS',
690 			x_msg_count => x_msg_count,
691 			x_msg_data  => x_msg_data,
692 			p_api_type  => g_api_type);
693 
694   END delete_print_form;
695 
696 
697 
698   PROCEDURE delete_print_form(
699     p_api_version                  IN NUMBER,
700     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
701     x_return_status                OUT NOCOPY VARCHAR2,
702     x_msg_count                    OUT NOCOPY NUMBER,
703     x_msg_data                     OUT NOCOPY VARCHAR2,
704     p_chr_id		IN NUMBER,
705     p_cle_id		IN NUMBER,
706     p_pfm_cd		IN OKE_K_PRINT_FORMS.PRINT_FORM_CODE%TYPE ) IS
707 
708     l_form_rec		oke_form_pvt.form_rec_type;
709     l_api_name		CONSTANT VARCHAR2(30) := 'DELETE_PRINT_FORM';
710     l_api_version	CONSTANT NUMBER	  := 1.0;
711     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
712     l_check_num1	NUMBER;
713     l_check_num2	NUMBER;
714 
715   BEGIN
716     -- call START_ACTIVITY to create savepoint, check compatibility
717     -- and initialize message list
718     l_return_status := OKE_API.START_ACTIVITY(
719 			p_api_name      => l_api_name,
720 			p_pkg_name      => g_pkg_name,
721 			p_init_msg_list => p_init_msg_list,
722 			l_api_version   => l_api_version,
723 			p_api_version   => p_api_version,
724 			p_api_type      => g_api_type,
725 			x_return_status => x_return_status);
726 
727     -- check if activity started successfully
728     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
729        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
730     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
731        raise OKE_API.G_EXCEPTION_ERROR;
732     End If;
733 
734 	If (p_cle_id IS NOT NULL) Then
735 		OKE_FORM_PVT.delete_row(
736 	 	p_api_version		=> p_api_version,
737 	 	p_init_msg_list		=> p_init_msg_list,
738       		x_return_status 	=> x_return_status,
739       		x_msg_count     	=> x_msg_count,
740       		x_msg_data      	=> x_msg_data,
741       		p_cle_id		=> p_cle_id,
742 		p_pfm_cd		=> p_pfm_cd);
743 
744 
745 	Else
746 		OKE_FORM_PVT.delete_row(
747 	 	p_api_version		=> p_api_version,
748 	 	p_init_msg_list		=> p_init_msg_list,
749       		x_return_status 	=> x_return_status,
750       		x_msg_count     	=> x_msg_count,
751       		x_msg_data      	=> x_msg_data,
752       		p_chr_id		=> p_chr_id,
753 		p_pfm_cd		=> p_pfm_cd);
754 
755 	End If;
756 
757 
758 
759     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
760 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
761     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
762 	  raise OKE_API.G_EXCEPTION_ERROR;
763     End If;
764 
765     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
766 				x_msg_data	=> x_msg_data);
767   EXCEPTION
768     when OKE_API.G_EXCEPTION_ERROR then
769       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
770 			p_api_name  => l_api_name,
771 			p_pkg_name  => g_pkg_name,
772 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
773 			x_msg_count => x_msg_count,
774 			x_msg_data  => x_msg_data,
775 			p_api_type  => g_api_type);
776 
777     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
778       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
779 			p_api_name  => l_api_name,
780 			p_pkg_name  => g_pkg_name,
781 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
782 			x_msg_count => x_msg_count,
783 			x_msg_data  => x_msg_data,
784 			p_api_type  => g_api_type);
785 
786     when OTHERS then
787       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
788 			p_api_name  => l_api_name,
789 			p_pkg_name  => g_pkg_name,
790 			p_exc_name  => 'OTHERS',
791 			x_msg_count => x_msg_count,
792 			x_msg_data  => x_msg_data,
793 			p_api_type  => g_api_type);
794 
795   END delete_print_form;
796 
797 
798 
799    PROCEDURE copy_print_form(
800     p_api_version                  IN NUMBER,
801     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
802     x_return_status                OUT NOCOPY VARCHAR2,
803     x_msg_count                    OUT NOCOPY NUMBER,
804     x_msg_data                     OUT NOCOPY VARCHAR2,
805     p_from_level		IN VARCHAR2,
806     p_to_level			IN VARCHAR2,
807     p_from_chr_id		IN NUMBER,
808     p_to_chr_id			IN NUMBER,
809     p_from_cle_id		IN NUMBER,
810     p_to_cle_id			IN NUMBER
811 ) IS
812 
813     l_form_tbl		oke_form_pvt.form_tbl_type;
814     l_form_rec		oke_form_pvt.form_rec_type;
815     l_api_name		CONSTANT VARCHAR2(30) := 'COPY_PRINT_FORM';
816     l_api_version	CONSTANT NUMBER	  := 1.0;
817     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
818     l_rec_num		NUMBER:=0;
819 
820     x_form_tbl		oke_form_pvt.form_tbl_type;
821 
822     CURSOR form_cle_csr (p_id  IN NUMBER) IS
823     SELECT
824 		b.K_HEADER_ID			,
825 		b.K_LINE_ID			,
826 		b.PRINT_FORM_CODE		,
827 		b.CREATION_DATE			,
828 		b.CREATED_BY			,
829 		b.LAST_UPDATE_DATE		,
830 		b.LAST_UPDATED_BY		,
831 		b.LAST_UPDATE_LOGIN		,
832 		b.REQUIRED_FLAG			,
833 		b.CUSTOMER_FURNISHED_FLAG	,
834 		b.COMPLETED_FLAG		,
835 		b.ATTRIBUTE_CATEGORY		,
836 		b.ATTRIBUTE1			,
837 		b.ATTRIBUTE2			,
838 		b.ATTRIBUTE3			,
839 		b.ATTRIBUTE4			,
840 		b.ATTRIBUTE5			,
841 		b.ATTRIBUTE6			,
842 		b.ATTRIBUTE7			,
843 		b.ATTRIBUTE8			,
844 		b.ATTRIBUTE9			,
845 		b.ATTRIBUTE10			,
846 		b.ATTRIBUTE11			,
847 		b.ATTRIBUTE12			,
848 		b.ATTRIBUTE13			,
849 		b.ATTRIBUTE14			,
850 		b.ATTRIBUTE15
851     FROM OKE_K_PRINT_FORMS b
852     WHERE b.K_LINE_ID = p_id;
853 
854     CURSOR form_chr_csr (p_id IN NUMBER) IS
855     SELECT
856 		b.K_HEADER_ID			,
857 		b.K_LINE_ID			,
858 		b.PRINT_FORM_CODE		,
859 		b.CREATION_DATE			,
860 		b.CREATED_BY			,
861 		b.LAST_UPDATE_DATE		,
862 		b.LAST_UPDATED_BY		,
863 		b.LAST_UPDATE_LOGIN		,
864 		b.REQUIRED_FLAG			,
865 		b.CUSTOMER_FURNISHED_FLAG	,
866 		b.COMPLETED_FLAG		,
867 		b.ATTRIBUTE_CATEGORY		,
868 		b.ATTRIBUTE1			,
869 		b.ATTRIBUTE2			,
870 		b.ATTRIBUTE3			,
871 		b.ATTRIBUTE4			,
872 		b.ATTRIBUTE5			,
873 		b.ATTRIBUTE6			,
874 		b.ATTRIBUTE7			,
875 		b.ATTRIBUTE8			,
876 		b.ATTRIBUTE9			,
877 		b.ATTRIBUTE10			,
878 		b.ATTRIBUTE11			,
879 		b.ATTRIBUTE12			,
880 		b.ATTRIBUTE13			,
881 		b.ATTRIBUTE14			,
882 		b.ATTRIBUTE15
883     FROM OKE_K_PRINT_FORMS b
884     WHERE (b.K_HEADER_ID = p_id) AND (b.K_LINE_ID IS NULL);
885 
886 
887   BEGIN
888 
889 --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'print forms start call copy forms pub');
890 
891     -- call START_ACTIVITY to create savepoint, check compatibility
892     -- and initialize message list
893     l_return_status := OKE_API.START_ACTIVITY(
894 			p_api_name      => l_api_name,
895 			p_pkg_name      => g_pkg_name,
896 			p_init_msg_list => p_init_msg_list,
897 			l_api_version   => l_api_version,
898 			p_api_version   => p_api_version,
899 			p_api_type      => g_api_type,
900 			x_return_status => x_return_status);
901 
902     -- check if activity started successfully
903     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
904        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
905     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
906        raise OKE_API.G_EXCEPTION_ERROR;
907     End If;
908 
909 --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'Print FORMS check conditions');
910 
911     IF( p_from_level='H' ) THEN
912 
913 	--FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'Print Form copy for chr');
914 
915 	OPEN form_chr_csr (p_from_chr_id);
916 	LOOP
917 	FETCH form_chr_csr INTO
918 		l_form_rec.K_HEADER_ID			,
919 		l_form_rec.K_LINE_ID			,
920 		l_form_rec.PRINT_FORM_CODE		,
921 		l_form_rec.CREATION_DATE		,
922 		l_form_rec.CREATED_BY			,
923 		l_form_rec.LAST_UPDATE_DATE		,
924 		l_form_rec.LAST_UPDATED_BY		,
925 		l_form_rec.LAST_UPDATE_LOGIN		,
926 		l_form_rec.REQUIRED_FLAG		,
927 		l_form_rec.CUSTOMER_FURNISHED_FLAG	,
928 		l_form_rec.COMPLETED_FLAG		,
929 		l_form_rec.ATTRIBUTE_CATEGORY		,
930 		l_form_rec.ATTRIBUTE1			,
931 		l_form_rec.ATTRIBUTE2			,
932 		l_form_rec.ATTRIBUTE3			,
933 		l_form_rec.ATTRIBUTE4			,
934 		l_form_rec.ATTRIBUTE5			,
935 		l_form_rec.ATTRIBUTE6			,
936 		l_form_rec.ATTRIBUTE7			,
937 		l_form_rec.ATTRIBUTE8			,
938 		l_form_rec.ATTRIBUTE9			,
939 		l_form_rec.ATTRIBUTE10			,
940 		l_form_rec.ATTRIBUTE11			,
941 		l_form_rec.ATTRIBUTE12			,
942 		l_form_rec.ATTRIBUTE13			,
943 		l_form_rec.ATTRIBUTE14			,
944 		l_form_rec.ATTRIBUTE15			;
945 	EXIT WHEN form_chr_csr%NOTFOUND;
946 
947 	l_rec_num := l_rec_num+1;
948 
949 	IF(p_to_chr_id IS NULL)AND(p_to_cle_id IS NULL) THEN
950 		raise OKE_API.G_EXCEPTION_ERROR;
951 	END IF;
952 
953 	IF(p_to_chr_id IS NULL) THEN
954 		l_form_rec.K_HEADER_ID := l_form_rec.K_HEADER_ID ;
955 		l_form_rec.K_LINE_ID := p_to_cle_id;
956 	ELSE
957 		IF(p_to_cle_id IS NULL) THEN
958 			l_form_rec.K_HEADER_ID := p_to_chr_id;
959 			l_form_rec.K_LINE_ID := NULL;
960 		ELSE
961 			l_form_rec.K_HEADER_ID := p_to_chr_id;
962 			l_form_rec.K_LINE_ID := p_to_cle_id;
963 		END IF;
964 	END IF;
965 
966 	l_form_tbl(l_rec_num) := l_form_rec;
967 
968 
969 	END LOOP;
970 	CLOSE form_chr_csr;
971 
972 	--FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'print FORMS inserting std form');
973     	OKE_FORM_PVT.Insert_Row(
974       		p_api_version	=> p_api_version,
975       		p_init_msg_list	=> p_init_msg_list,
976       		x_return_status 	=> x_return_status,
977       		x_msg_count     	=> x_msg_count,
978       		x_msg_data      	=> x_msg_data,
979       		p_form_tbl		=> l_form_tbl,
980       		x_form_tbl		=> x_form_tbl);
981 
982     	If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
983 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
984     	Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
985 	  raise OKE_API.G_EXCEPTION_ERROR;
986     	End If;
987 
988 
989     ELSIF( p_from_level='L' ) THEN
990 
991 --FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'print form copy for cle');
992 
993 	OPEN form_cle_csr (p_from_cle_id);
994 	LOOP
995 	FETCH form_cle_csr INTO
996 		l_form_rec.K_HEADER_ID			,
997 		l_form_rec.K_LINE_ID			,
998 		l_form_rec.PRINT_FORM_CODE		,
999 		l_form_rec.CREATION_DATE		,
1000 		l_form_rec.CREATED_BY			,
1001 		l_form_rec.LAST_UPDATE_DATE		,
1002 		l_form_rec.LAST_UPDATED_BY		,
1003 		l_form_rec.LAST_UPDATE_LOGIN		,
1004 		l_form_rec.REQUIRED_FLAG		,
1005 		l_form_rec.CUSTOMER_FURNISHED_FLAG	,
1006 		l_form_rec.COMPLETED_FLAG		,
1007 		l_form_rec.ATTRIBUTE_CATEGORY		,
1008 		l_form_rec.ATTRIBUTE1			,
1009 		l_form_rec.ATTRIBUTE2			,
1010 		l_form_rec.ATTRIBUTE3			,
1011 		l_form_rec.ATTRIBUTE4			,
1012 		l_form_rec.ATTRIBUTE5			,
1013 		l_form_rec.ATTRIBUTE6			,
1014 		l_form_rec.ATTRIBUTE7			,
1015 		l_form_rec.ATTRIBUTE8			,
1016 		l_form_rec.ATTRIBUTE9			,
1017 		l_form_rec.ATTRIBUTE10			,
1018 		l_form_rec.ATTRIBUTE11			,
1019 		l_form_rec.ATTRIBUTE12			,
1020 		l_form_rec.ATTRIBUTE13			,
1021 		l_form_rec.ATTRIBUTE14			,
1022 		l_form_rec.ATTRIBUTE15			;
1023 	EXIT WHEN form_cle_csr%NOTFOUND;
1024 
1025 	l_rec_num := l_rec_num+1;
1026 
1027 	IF(p_to_chr_id IS NULL)AND(p_to_cle_id IS NULL) THEN
1028 		raise OKE_API.G_EXCEPTION_ERROR;
1029 	END IF;
1030 
1031 	IF(p_to_chr_id IS NULL) THEN
1032 		l_form_rec.K_HEADER_ID := l_form_rec.K_HEADER_ID ;
1033 		l_form_rec.K_LINE_ID := p_to_cle_id;
1034 	ELSE
1035 		IF(p_to_cle_id IS NULL) THEN
1036 			l_form_rec.K_HEADER_ID := p_to_chr_id;
1037 			l_form_rec.K_LINE_ID := NULL;
1038 		ELSE
1039 			l_form_rec.K_HEADER_ID := p_to_chr_id;
1040 			l_form_rec.K_LINE_ID := p_to_cle_id;
1041 		END IF;
1042 	END IF;
1043 
1044 	l_form_tbl(l_rec_num) := l_form_rec;
1045 
1046 
1047 	END LOOP;
1048 	CLOSE form_cle_csr;
1049 
1050 	--FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'print form inserting std form');
1051     	OKE_FORM_PVT.Insert_Row(
1052       		p_api_version	=> p_api_version,
1053       		p_init_msg_list	=> p_init_msg_list,
1054       		x_return_status 	=> x_return_status,
1055       		x_msg_count     	=> x_msg_count,
1056       		x_msg_data      	=> x_msg_data,
1057       		p_form_tbl		=> l_form_tbl,
1058       		x_form_tbl		=> x_form_tbl);
1059 
1060     	If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
1061 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1062     	Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
1063 	  raise OKE_API.G_EXCEPTION_ERROR;
1064     	End If;
1065 
1066   ELSE
1067 	--FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'conditions not met');
1068 	raise OKE_API.G_EXCEPTION_ERROR;
1069   END IF;
1070 
1071     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
1072 				x_msg_data	=> x_msg_data);
1073   EXCEPTION
1074     when OKE_API.G_EXCEPTION_ERROR then
1075       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
1076 			p_api_name  => l_api_name,
1077 			p_pkg_name  => g_pkg_name,
1078 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
1079 			x_msg_count => x_msg_count,
1080 			x_msg_data  => x_msg_data,
1081 			p_api_type  => g_api_type);
1082 
1083     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
1084       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
1085 			p_api_name  => l_api_name,
1086 			p_pkg_name  => g_pkg_name,
1087 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
1088 			x_msg_count => x_msg_count,
1089 			x_msg_data  => x_msg_data,
1090 			p_api_type  => g_api_type);
1091 
1092     when OTHERS then
1093       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
1094 			p_api_name  => l_api_name,
1095 			p_pkg_name  => g_pkg_name,
1096 			p_exc_name  => 'OTHERS',
1097 			x_msg_count => x_msg_count,
1098 			x_msg_data  => x_msg_data,
1099 			p_api_type  => g_api_type);
1100 
1101   END copy_print_form;
1102 
1103 
1104   PROCEDURE lock_print_form(
1105     p_api_version       IN NUMBER,
1106     p_init_msg_list     IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
1107     x_return_status     OUT NOCOPY VARCHAR2,
1108     x_msg_count         OUT NOCOPY NUMBER,
1109     x_msg_data          OUT NOCOPY VARCHAR2,
1110     p_form_rec           IN OKE_FORM_PVT.form_rec_type) IS
1111 
1112 
1113     l_api_name		CONSTANT VARCHAR2(30) := 'LOCK_PRINT_FORM';
1114     l_api_version	CONSTANT NUMBER	  := 1.0;
1115     l_return_status	VARCHAR2(1)	  := OKE_API.G_RET_STS_SUCCESS;
1116 
1117   BEGIN
1118     l_return_status := OKE_API.START_ACTIVITY(
1119 			p_api_name      => l_api_name,
1120 			p_pkg_name      => g_pkg_name,
1121 			p_init_msg_list => p_init_msg_list,
1122 			l_api_version   => l_api_version,
1123 			p_api_version   => p_api_version,
1124 			p_api_type      => g_api_type,
1125 			x_return_status => x_return_status);
1126 
1127     -- check if activity started successfully
1128     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
1129        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1130     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
1131        raise OKE_API.G_EXCEPTION_ERROR;
1132     End If;
1133 
1134     OKE_FORM_PVT.Lock_Row(
1135 	 p_api_version		=> p_api_version,
1136 	 p_init_msg_list	=> p_init_msg_list,
1137       x_return_status 	=> x_return_status,
1138       x_msg_count     	=> x_msg_count,
1139       x_msg_data      	=> x_msg_data,
1140       p_form_rec		=> p_form_rec);
1141 
1142     -- check return status
1143     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
1144 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1145     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
1146 	  raise OKE_API.G_EXCEPTION_ERROR;
1147     End If;
1148 
1149     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
1150 				x_msg_data	=> x_msg_data);
1151   EXCEPTION
1152     when OKE_API.G_EXCEPTION_ERROR then
1153       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
1154 			p_api_name  => l_api_name,
1155 			p_pkg_name  => g_pkg_name,
1156 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
1157 			x_msg_count => x_msg_count,
1158 			x_msg_data  => x_msg_data,
1159 			p_api_type  => g_api_type);
1160 
1161     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
1162       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
1163 			p_api_name  => l_api_name,
1164 			p_pkg_name  => g_pkg_name,
1165 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
1166 			x_msg_count => x_msg_count,
1167 			x_msg_data  => x_msg_data,
1168 			p_api_type  => g_api_type);
1169 
1170     when OTHERS then
1171       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
1172 			p_api_name  => l_api_name,
1173 			p_pkg_name  => g_pkg_name,
1174 			p_exc_name  => 'OTHERS',
1175 			x_msg_count => x_msg_count,
1176 			x_msg_data  => x_msg_data,
1177 			p_api_type  => g_api_type);
1178 
1179   END lock_print_form;
1180 
1181   PROCEDURE lock_print_form(
1182     p_api_version                  IN NUMBER,
1183     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
1184     x_return_status                OUT NOCOPY VARCHAR2,
1185     x_msg_count                    OUT NOCOPY NUMBER,
1186     x_msg_data                     OUT NOCOPY VARCHAR2,
1187     p_form_tbl                     IN oke_form_pvt.form_tbl_type) IS
1188 
1189     l_api_name		CONSTANT VARCHAR2(30) := 'LOCK_PRINT_FORM';
1190     l_api_version	CONSTANT NUMBER	  := 1.0;
1191     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
1192     l_overall_status VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
1193     i			NUMBER;
1194   BEGIN
1195     -- call START_ACTIVITY to create savepoint, check compatibility
1196     -- and initialize message list
1197     l_return_status := OKE_API.START_ACTIVITY(
1198 			p_api_name      => l_api_name,
1199 			p_pkg_name      => g_pkg_name,
1200 			p_init_msg_list => p_init_msg_list,
1201 			l_api_version   => l_api_version,
1202 			p_api_version   => p_api_version,
1203 			p_api_type      => g_api_type,
1204 			x_return_status => x_return_status);
1205 
1206     -- check if activity started successfully
1207     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
1208        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1209     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
1210        raise OKE_API.G_EXCEPTION_ERROR;
1211     End If;
1212 
1213     If (p_form_tbl.COUNT > 0) Then
1214 	   i := p_form_tbl.FIRST;
1215 	   LOOP
1216 		-- call procedure in complex API
1217 		OKE_FORM_PVT.lock_row(
1218 			p_api_version		=> p_api_version,
1219 			p_init_msg_list	=> p_init_msg_list,
1220 			x_return_status 	=> x_return_status,
1221 			x_msg_count     	=> x_msg_count,
1222 			x_msg_data      	=> x_msg_data,
1223 			p_form_rec		=> p_form_tbl(i));
1224 
1225 		-- store the highest degree of error
1226 		If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
1227 		   If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
1228 			 l_overall_status := x_return_status;
1229 		   End If;
1230 		End If;
1231         EXIT WHEN (i = p_form_tbl.LAST);
1232 		i := p_form_tbl.NEXT(i);
1233 	   END LOOP;
1234 	   -- return overall status
1235 	   x_return_status := l_overall_status;
1236     End If;
1237 
1238     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
1239 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
1240     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
1241 	  raise OKE_API.G_EXCEPTION_ERROR;
1242     End If;
1243 
1244     -- end activity
1245     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
1246 				x_msg_data	=> x_msg_data);
1247   EXCEPTION
1248     when OKE_API.G_EXCEPTION_ERROR then
1249       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
1250 			p_api_name  => l_api_name,
1251 			p_pkg_name  => g_pkg_name,
1252 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
1253 			x_msg_count => x_msg_count,
1254 			x_msg_data  => x_msg_data,
1255 			p_api_type  => g_api_type);
1256 
1257     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
1258       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
1259 			p_api_name  => l_api_name,
1260 			p_pkg_name  => g_pkg_name,
1261 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
1262 			x_msg_count => x_msg_count,
1263 			x_msg_data  => x_msg_data,
1264 			p_api_type  => g_api_type);
1265 
1266     when OTHERS then
1267       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
1268 			p_api_name  => l_api_name,
1269 			p_pkg_name  => g_pkg_name,
1270 			p_exc_name  => 'OTHERS',
1271 			x_msg_count => x_msg_count,
1272 			x_msg_data  => x_msg_data,
1273 			p_api_type  => g_api_type);
1274 
1275   END lock_print_form;
1276 
1277 END OKE_K_PRINT_FORMS_PUB;
1278