DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_SUBSIDY_PUB

Source


1 PACKAGE BODY OKL_SUBSIDY_PUB  AS
2 /* $Header: OKLPSUBB.pls 115.0 2003/09/19 22:43:47 avsingh noship $ */
3 
4 
5 PROCEDURE create_subsidy(
6     p_api_version                  IN  NUMBER,
7     p_init_msg_list                IN  VARCHAR2,
8     x_return_status                OUT NOCOPY VARCHAR2,
9     x_msg_count                    OUT NOCOPY NUMBER,
10     x_msg_data                     OUT NOCOPY VARCHAR2,
11     p_subv_rec                     IN  subv_rec_type,
12     x_subv_rec                     OUT NOCOPY subv_rec_type) IS
13 
14     l_api_name		    CONSTANT VARCHAR2(30) := 'CREATE_SUBSIDY';
15     l_api_version		CONSTANT NUMBER	      := 1.0;
16     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
17 
18     l_subv_rec          subv_rec_type;
19 Begin
20     -- call START_ACTIVITY to create savepoint, check compatibility
21     -- and initialize message list
22 
23     l_return_status := OKL_API.START_ACTIVITY(
24 			p_api_name      => l_api_name,
25 			p_pkg_name      => g_pkg_name,
26 			p_init_msg_list => p_init_msg_list,
27 			l_api_version   => l_api_version,
28 			p_api_version   => p_api_version,
29 			p_api_type      => g_api_type,
30 			x_return_status => x_return_status);
31 
32     -- check if activity started successfully
33     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
34        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
35     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
36        raise OKL_API.G_EXCEPTION_ERROR;
37     End If;
38 
39     l_subv_rec := p_subv_rec;
40 
41     okl_subsidy_pvt.create_subsidy(
42 	 p_api_version	    => p_api_version,
43 	 p_init_msg_list	=> p_init_msg_list,
44 	 x_return_status 	=> x_return_status,
45 	 x_msg_count     	=> x_msg_count,
46 	 x_msg_data      	=> x_msg_data,
47 	 p_subv_rec		    => l_subv_rec,
48 	 x_subv_rec		    => x_subv_rec);
49 
50     -- check return status
51     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
52 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
53     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
54 	  raise OKL_API.G_EXCEPTION_ERROR;
55     End If;
56 
57     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
58 				 x_msg_data		=> x_msg_data);
59   EXCEPTION
60     when OKL_API.G_EXCEPTION_ERROR then
61       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
62 			p_api_name  => l_api_name,
63 			p_pkg_name  => g_pkg_name,
64 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
65 			x_msg_count => x_msg_count,
66 			x_msg_data  => x_msg_data,
67 			p_api_type  => g_api_type);
68 
69     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
70       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
71 			p_api_name  => l_api_name,
72 			p_pkg_name  => g_pkg_name,
73 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
74 			x_msg_count => x_msg_count,
75 			x_msg_data  => x_msg_data,
76 			p_api_type  => g_api_type);
77 
78     when OTHERS then
79       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
80 			p_api_name  => l_api_name,
81 			p_pkg_name  => g_pkg_name,
82 			p_exc_name  => 'OTHERS',
83 			x_msg_count => x_msg_count,
84 			x_msg_data  => x_msg_data,
85 			p_api_type  => g_api_type);
86 END create_subsidy;
87 
88 
89 
90 PROCEDURE create_subsidy(
91     p_api_version                  IN  NUMBER,
92     p_init_msg_list                IN  VARCHAR2,
93     x_return_status                OUT NOCOPY VARCHAR2,
94     x_msg_count                    OUT NOCOPY NUMBER,
95     x_msg_data                     OUT NOCOPY VARCHAR2,
96     p_subv_tbl                     IN  subv_tbl_type,
97     x_subv_tbl                     OUT NOCOPY subv_tbl_type) IS
98 
99     l_api_name		    CONSTANT VARCHAR2(30) := 'CREATE_SUBSIDY';
100     l_api_version		CONSTANT NUMBER	      := 1.0;
101     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
102 
103     l_subv_tbl          subv_tbl_type;
104 Begin
105     -- call START_ACTIVITY to create savepoint, check compatibility
106     -- and initialize message list
107 
108     l_return_status := OKL_API.START_ACTIVITY(
109 			p_api_name      => l_api_name,
110 			p_pkg_name      => g_pkg_name,
111 			p_init_msg_list => p_init_msg_list,
112 			l_api_version   => l_api_version,
113 			p_api_version   => p_api_version,
114 			p_api_type      => g_api_type,
115 			x_return_status => x_return_status);
116 
117     -- check if activity started successfully
118     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
119        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
120     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
121        raise OKL_API.G_EXCEPTION_ERROR;
122     End If;
123 
124     l_subv_tbl := p_subv_tbl;
125 
126     okl_subsidy_pvt.create_subsidy(
127 	 p_api_version	    => p_api_version,
128 	 p_init_msg_list	=> p_init_msg_list,
129 	 x_return_status 	=> x_return_status,
130 	 x_msg_count     	=> x_msg_count,
131 	 x_msg_data      	=> x_msg_data,
132 	 p_subv_tbl		    => l_subv_tbl,
133 	 x_subv_tbl		    => x_subv_tbl);
134 
135     -- check return status
136     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
137 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
138     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
139 	  raise OKL_API.G_EXCEPTION_ERROR;
140     End If;
141 
142     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
143 				 x_msg_data		=> x_msg_data);
144   EXCEPTION
145     when OKL_API.G_EXCEPTION_ERROR then
146       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
147 			p_api_name  => l_api_name,
148 			p_pkg_name  => g_pkg_name,
149 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
150 			x_msg_count => x_msg_count,
151 			x_msg_data  => x_msg_data,
152 			p_api_type  => g_api_type);
153 
154     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
155       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
156 			p_api_name  => l_api_name,
157 			p_pkg_name  => g_pkg_name,
158 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_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 OTHERS then
164       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
165 			p_api_name  => l_api_name,
166 			p_pkg_name  => g_pkg_name,
167 			p_exc_name  => 'OTHERS',
168 			x_msg_count => x_msg_count,
169 			x_msg_data  => x_msg_data,
170 			p_api_type  => g_api_type);
171 END create_subsidy;
172 
173 
174 PROCEDURE update_subsidy(
175     p_api_version                  IN  NUMBER,
176     p_init_msg_list                IN  VARCHAR2,
177     x_return_status                OUT NOCOPY VARCHAR2,
178     x_msg_count                    OUT NOCOPY NUMBER,
179     x_msg_data                     OUT NOCOPY VARCHAR2,
180     p_subv_rec                     IN  subv_rec_type,
181     x_subv_rec                     OUT NOCOPY subv_rec_type) IS
182 
183     l_api_name		    CONSTANT VARCHAR2(30) := 'UPDATE_SUBSIDY';
184     l_api_version		CONSTANT NUMBER	      := 1.0;
185     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
186 
187     l_subv_rec          subv_rec_type;
188 Begin
189     -- call START_ACTIVITY to create savepoint, check compatibility
190     -- and initialize message list
191 
192     l_return_status := OKL_API.START_ACTIVITY(
193 			p_api_name      => l_api_name,
194 			p_pkg_name      => g_pkg_name,
195 			p_init_msg_list => p_init_msg_list,
196 			l_api_version   => l_api_version,
197 			p_api_version   => p_api_version,
198 			p_api_type      => g_api_type,
199 			x_return_status => x_return_status);
200 
201     -- check if activity started successfully
202     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
203        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
204     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
205        raise OKL_API.G_EXCEPTION_ERROR;
206     End If;
207 
208     l_subv_rec := p_subv_rec;
209 
210     okl_subsidy_pvt.update_subsidy(
211 	 p_api_version	    => p_api_version,
212 	 p_init_msg_list	=> p_init_msg_list,
213 	 x_return_status 	=> x_return_status,
214 	 x_msg_count     	=> x_msg_count,
215 	 x_msg_data      	=> x_msg_data,
216 	 p_subv_rec		    => l_subv_rec,
217 	 x_subv_rec		    => x_subv_rec);
218 
219     -- check return status
220     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
221 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
222     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
223 	  raise OKL_API.G_EXCEPTION_ERROR;
224     End If;
225 
226     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
227 				 x_msg_data		=> x_msg_data);
228   EXCEPTION
229     when OKL_API.G_EXCEPTION_ERROR then
230       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
231 			p_api_name  => l_api_name,
232 			p_pkg_name  => g_pkg_name,
233 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
234 			x_msg_count => x_msg_count,
235 			x_msg_data  => x_msg_data,
236 			p_api_type  => g_api_type);
237 
238     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
239       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
240 			p_api_name  => l_api_name,
241 			p_pkg_name  => g_pkg_name,
242 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_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 OTHERS then
248       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
249 			p_api_name  => l_api_name,
250 			p_pkg_name  => g_pkg_name,
251 			p_exc_name  => 'OTHERS',
252 			x_msg_count => x_msg_count,
253 			x_msg_data  => x_msg_data,
254 			p_api_type  => g_api_type);
255 END update_subsidy;
256 
257 PROCEDURE update_subsidy(
258     p_api_version                  IN  NUMBER,
259     p_init_msg_list                IN  VARCHAR2,
260     x_return_status                OUT NOCOPY VARCHAR2,
261     x_msg_count                    OUT NOCOPY NUMBER,
262     x_msg_data                     OUT NOCOPY VARCHAR2,
263     p_subv_tbl                     IN  subv_tbl_type,
264     x_subv_tbl                     OUT NOCOPY subv_tbl_type) IS
265 
266     l_api_name		    CONSTANT VARCHAR2(30) := 'UPDATE_SUBSIDY';
267     l_api_version		CONSTANT NUMBER	      := 1.0;
268     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
269 
270     l_subv_tbl          subv_tbl_type;
271 Begin
272     -- call START_ACTIVITY to create savepoint, check compatibility
273     -- and initialize message list
274 
275     l_return_status := OKL_API.START_ACTIVITY(
276 			p_api_name      => l_api_name,
277 			p_pkg_name      => g_pkg_name,
278 			p_init_msg_list => p_init_msg_list,
279 			l_api_version   => l_api_version,
280 			p_api_version   => p_api_version,
281 			p_api_type      => g_api_type,
282 			x_return_status => x_return_status);
283 
284     -- check if activity started successfully
285     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
286        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
287     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
288        raise OKL_API.G_EXCEPTION_ERROR;
289     End If;
290 
291     l_subv_tbl := p_subv_tbl;
292 
293     okl_subsidy_pvt.update_subsidy(
294 	 p_api_version	    => p_api_version,
295 	 p_init_msg_list	=> p_init_msg_list,
296 	 x_return_status 	=> x_return_status,
297 	 x_msg_count     	=> x_msg_count,
298 	 x_msg_data      	=> x_msg_data,
299 	 p_subv_tbl		    => l_subv_tbl,
300 	 x_subv_tbl		    => x_subv_tbl);
301 
302     -- check return status
303     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
304 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
305     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
306 	  raise OKL_API.G_EXCEPTION_ERROR;
307     End If;
308 
309     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
310 				 x_msg_data		=> x_msg_data);
311   EXCEPTION
312     when OKL_API.G_EXCEPTION_ERROR then
313       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
314 			p_api_name  => l_api_name,
315 			p_pkg_name  => g_pkg_name,
316 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
317 			x_msg_count => x_msg_count,
318 			x_msg_data  => x_msg_data,
319 			p_api_type  => g_api_type);
320 
321     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
322       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
323 			p_api_name  => l_api_name,
324 			p_pkg_name  => g_pkg_name,
325 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
326 			x_msg_count => x_msg_count,
327 			x_msg_data  => x_msg_data,
328 			p_api_type  => g_api_type);
329 
330     when OTHERS then
331       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
332 			p_api_name  => l_api_name,
333 			p_pkg_name  => g_pkg_name,
334 			p_exc_name  => 'OTHERS',
335 			x_msg_count => x_msg_count,
336 			x_msg_data  => x_msg_data,
337 			p_api_type  => g_api_type);
338 END update_subsidy;
339 
340 
341 PROCEDURE delete_subsidy(
342     p_api_version                  IN  NUMBER,
343     p_init_msg_list                IN  VARCHAR2,
344     x_return_status                OUT NOCOPY VARCHAR2,
345     x_msg_count                    OUT NOCOPY NUMBER,
346     x_msg_data                     OUT NOCOPY VARCHAR2,
347     p_subv_rec                     IN  subv_rec_type) IS
348 
349     l_api_name		    CONSTANT VARCHAR2(30) := 'DELETE_SUBSIDY';
350     l_api_version		CONSTANT NUMBER	      := 1.0;
351     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
352 
353     l_subv_rec          subv_rec_type;
354 Begin
355     -- call START_ACTIVITY to create savepoint, check compatibility
356     -- and initialize message list
357 
358     l_return_status := OKL_API.START_ACTIVITY(
359 			p_api_name      => l_api_name,
360 			p_pkg_name      => g_pkg_name,
361 			p_init_msg_list => p_init_msg_list,
362 			l_api_version   => l_api_version,
363 			p_api_version   => p_api_version,
364 			p_api_type      => g_api_type,
365 			x_return_status => x_return_status);
366 
367     -- check if activity started successfully
368     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
369        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
370     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
371        raise OKL_API.G_EXCEPTION_ERROR;
372     End If;
373 
374     l_subv_rec := p_subv_rec;
375 
376     okl_subsidy_pvt.delete_subsidy(
377 	 p_api_version	    => p_api_version,
378 	 p_init_msg_list	=> p_init_msg_list,
379 	 x_return_status 	=> x_return_status,
380 	 x_msg_count     	=> x_msg_count,
381 	 x_msg_data      	=> x_msg_data,
382 	 p_subv_rec		    => l_subv_rec);
383 
384     -- check return status
385     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
386 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
387     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
388 	  raise OKL_API.G_EXCEPTION_ERROR;
389     End If;
390 
391     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
392 				 x_msg_data		=> x_msg_data);
393   EXCEPTION
394     when OKL_API.G_EXCEPTION_ERROR then
395       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
396 			p_api_name  => l_api_name,
397 			p_pkg_name  => g_pkg_name,
398 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
399 			x_msg_count => x_msg_count,
400 			x_msg_data  => x_msg_data,
401 			p_api_type  => g_api_type);
402 
403     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
404       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
405 			p_api_name  => l_api_name,
406 			p_pkg_name  => g_pkg_name,
407 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
408 			x_msg_count => x_msg_count,
409 			x_msg_data  => x_msg_data,
410 			p_api_type  => g_api_type);
411 
412     when OTHERS then
413       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
414 			p_api_name  => l_api_name,
415 			p_pkg_name  => g_pkg_name,
416 			p_exc_name  => 'OTHERS',
417 			x_msg_count => x_msg_count,
418 			x_msg_data  => x_msg_data,
419 			p_api_type  => g_api_type);
420 END delete_subsidy;
421 
422 
423 PROCEDURE delete_subsidy(
424     p_api_version                  IN  NUMBER,
425     p_init_msg_list                IN  VARCHAR2,
426     x_return_status                OUT NOCOPY VARCHAR2,
427     x_msg_count                    OUT NOCOPY NUMBER,
428     x_msg_data                     OUT NOCOPY VARCHAR2,
429     p_subv_tbl                     IN  subv_tbl_type) Is
430 
431     l_api_name		    CONSTANT VARCHAR2(30) := 'DELETE_SUBSIDY';
432     l_api_version		CONSTANT NUMBER	      := 1.0;
433     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
434 
435     l_subv_tbl          subv_tbl_type;
436 Begin
437     -- call START_ACTIVITY to create savepoint, check compatibility
438     -- and initialize message list
439 
440     l_return_status := OKL_API.START_ACTIVITY(
441 			p_api_name      => l_api_name,
442 			p_pkg_name      => g_pkg_name,
443 			p_init_msg_list => p_init_msg_list,
444 			l_api_version   => l_api_version,
445 			p_api_version   => p_api_version,
446 			p_api_type      => g_api_type,
447 			x_return_status => x_return_status);
448 
449     -- check if activity started successfully
450     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
451        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
452     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
453        raise OKL_API.G_EXCEPTION_ERROR;
454     End If;
455 
456     l_subv_tbl := p_subv_tbl;
457 
458     okl_subsidy_pvt.delete_subsidy(
459 	 p_api_version	    => p_api_version,
460 	 p_init_msg_list	=> p_init_msg_list,
461 	 x_return_status 	=> x_return_status,
462 	 x_msg_count     	=> x_msg_count,
463 	 x_msg_data      	=> x_msg_data,
464 	 p_subv_tbl		    => l_subv_tbl);
465 
466     -- check return status
467     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
468 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
469     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
470 	  raise OKL_API.G_EXCEPTION_ERROR;
471     End If;
472 
473     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
474 				 x_msg_data		=> x_msg_data);
475   EXCEPTION
476     when OKL_API.G_EXCEPTION_ERROR then
477       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
478 			p_api_name  => l_api_name,
479 			p_pkg_name  => g_pkg_name,
480 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
481 			x_msg_count => x_msg_count,
482 			x_msg_data  => x_msg_data,
483 			p_api_type  => g_api_type);
484 
485     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
486       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
487 			p_api_name  => l_api_name,
488 			p_pkg_name  => g_pkg_name,
489 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
490 			x_msg_count => x_msg_count,
491 			x_msg_data  => x_msg_data,
492 			p_api_type  => g_api_type);
493 
494     when OTHERS then
495       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
496 			p_api_name  => l_api_name,
497 			p_pkg_name  => g_pkg_name,
498 			p_exc_name  => 'OTHERS',
499 			x_msg_count => x_msg_count,
500 			x_msg_data  => x_msg_data,
501 			p_api_type  => g_api_type);
502 END delete_subsidy;
503 
504 PROCEDURE lock_subsidy(
505     p_api_version                  IN  NUMBER,
506     p_init_msg_list                IN  VARCHAR2,
507     x_return_status                OUT NOCOPY VARCHAR2,
508     x_msg_count                    OUT NOCOPY NUMBER,
509     x_msg_data                     OUT NOCOPY VARCHAR2,
510     p_subv_rec                     IN  subv_rec_type) IS
511 
512     l_api_name		    CONSTANT VARCHAR2(30) := 'LOCK_SUBSIDY';
513     l_api_version		CONSTANT NUMBER	      := 1.0;
514     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
515 
516     l_subv_rec          subv_rec_type;
517 Begin
518     -- call START_ACTIVITY to create savepoint, check compatibility
519     -- and initialize message list
520 
521     l_return_status := OKL_API.START_ACTIVITY(
522 			p_api_name      => l_api_name,
523 			p_pkg_name      => g_pkg_name,
524 			p_init_msg_list => p_init_msg_list,
525 			l_api_version   => l_api_version,
526 			p_api_version   => p_api_version,
527 			p_api_type      => g_api_type,
528 			x_return_status => x_return_status);
529 
530     -- check if activity started successfully
531     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
532        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
533     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
534        raise OKL_API.G_EXCEPTION_ERROR;
535     End If;
536 
537     l_subv_rec := p_subv_rec;
538 
539     okl_subsidy_pvt.lock_subsidy(
540 	 p_api_version	    => p_api_version,
541 	 p_init_msg_list	=> p_init_msg_list,
542 	 x_return_status 	=> x_return_status,
543 	 x_msg_count     	=> x_msg_count,
544 	 x_msg_data      	=> x_msg_data,
545 	 p_subv_rec		    => l_subv_rec);
546 
547     -- check return status
548     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
549 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
550     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
551 	  raise OKL_API.G_EXCEPTION_ERROR;
552     End If;
553 
554     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
555 				 x_msg_data		=> x_msg_data);
556   EXCEPTION
557     when OKL_API.G_EXCEPTION_ERROR then
558       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
559 			p_api_name  => l_api_name,
560 			p_pkg_name  => g_pkg_name,
561 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
562 			x_msg_count => x_msg_count,
563 			x_msg_data  => x_msg_data,
564 			p_api_type  => g_api_type);
565 
566     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
567       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
568 			p_api_name  => l_api_name,
569 			p_pkg_name  => g_pkg_name,
570 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
571 			x_msg_count => x_msg_count,
572 			x_msg_data  => x_msg_data,
573 			p_api_type  => g_api_type);
574 
575     when OTHERS then
576       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
577 			p_api_name  => l_api_name,
578 			p_pkg_name  => g_pkg_name,
579 			p_exc_name  => 'OTHERS',
580 			x_msg_count => x_msg_count,
581 			x_msg_data  => x_msg_data,
582 			p_api_type  => g_api_type);
583 END lock_subsidy;
584 
585 PROCEDURE lock_subsidy(
586     p_api_version                  IN  NUMBER,
587     p_init_msg_list                IN  VARCHAR2,
588     x_return_status                OUT NOCOPY VARCHAR2,
589     x_msg_count                    OUT NOCOPY NUMBER,
590     x_msg_data                     OUT NOCOPY VARCHAR2,
591     p_subv_tbl                     IN  subv_tbl_type) IS
592 
593     l_api_name		    CONSTANT VARCHAR2(30) := 'LOCK_SUBSIDY';
594     l_api_version		CONSTANT NUMBER	      := 1.0;
595     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
596 
597     l_subv_tbl          subv_tbl_type;
598 Begin
599     -- call START_ACTIVITY to create savepoint, check compatibility
600     -- and initialize message list
601 
602     l_return_status := OKL_API.START_ACTIVITY(
603 			p_api_name      => l_api_name,
604 			p_pkg_name      => g_pkg_name,
605 			p_init_msg_list => p_init_msg_list,
606 			l_api_version   => l_api_version,
607 			p_api_version   => p_api_version,
608 			p_api_type      => g_api_type,
609 			x_return_status => x_return_status);
610 
611     -- check if activity started successfully
612     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
613        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
614     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
615        raise OKL_API.G_EXCEPTION_ERROR;
616     End If;
617 
618     l_subv_tbl := p_subv_tbl;
619 
620     okl_subsidy_pvt.lock_subsidy(
621 	 p_api_version	    => p_api_version,
622 	 p_init_msg_list	=> p_init_msg_list,
623 	 x_return_status 	=> x_return_status,
624 	 x_msg_count     	=> x_msg_count,
625 	 x_msg_data      	=> x_msg_data,
626 	 p_subv_tbl		    => l_subv_tbl);
627 
628     -- check return status
629     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
630 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
631     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
632 	  raise OKL_API.G_EXCEPTION_ERROR;
633     End If;
634 
635     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
636 				 x_msg_data		=> x_msg_data);
637   EXCEPTION
638     when OKL_API.G_EXCEPTION_ERROR then
639       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
640 			p_api_name  => l_api_name,
641 			p_pkg_name  => g_pkg_name,
642 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
643 			x_msg_count => x_msg_count,
644 			x_msg_data  => x_msg_data,
645 			p_api_type  => g_api_type);
646 
647     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
648       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
649 			p_api_name  => l_api_name,
650 			p_pkg_name  => g_pkg_name,
651 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
652 			x_msg_count => x_msg_count,
653 			x_msg_data  => x_msg_data,
654 			p_api_type  => g_api_type);
655 
656     when OTHERS then
657       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
658 			p_api_name  => l_api_name,
659 			p_pkg_name  => g_pkg_name,
660 			p_exc_name  => 'OTHERS',
661 			x_msg_count => x_msg_count,
662 			x_msg_data  => x_msg_data,
663 			p_api_type  => g_api_type);
664 END lock_subsidy;
665 
666 
667 
668 PROCEDURE validate_subsidy(
669     p_api_version                  IN  NUMBER,
670     p_init_msg_list                IN  VARCHAR2,
671     x_return_status                OUT NOCOPY VARCHAR2,
672     x_msg_count                    OUT NOCOPY NUMBER,
673     x_msg_data                     OUT NOCOPY VARCHAR2,
674     p_subv_rec                     IN  subv_rec_type) IS
675 
676 
677     l_api_name		    CONSTANT VARCHAR2(30) := 'VALIDATE_SUBSIDY';
678     l_api_version		CONSTANT NUMBER	      := 1.0;
679     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
680 
681     l_subv_rec          subv_rec_type;
682 Begin
683     -- call START_ACTIVITY to create savepoint, check compatibility
684     -- and initialize message list
685 
686     l_return_status := OKL_API.START_ACTIVITY(
687 			p_api_name      => l_api_name,
688 			p_pkg_name      => g_pkg_name,
689 			p_init_msg_list => p_init_msg_list,
690 			l_api_version   => l_api_version,
691 			p_api_version   => p_api_version,
692 			p_api_type      => g_api_type,
693 			x_return_status => x_return_status);
694 
695     -- check if activity started successfully
696     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
697        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
698     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
699        raise OKL_API.G_EXCEPTION_ERROR;
700     End If;
701 
702     l_subv_rec := p_subv_rec;
703 
704     okl_subsidy_pvt.validate_subsidy(
705 	 p_api_version	    => p_api_version,
706 	 p_init_msg_list	=> p_init_msg_list,
707 	 x_return_status 	=> x_return_status,
708 	 x_msg_count     	=> x_msg_count,
709 	 x_msg_data      	=> x_msg_data,
710 	 p_subv_rec		    => l_subv_rec);
711 
712     -- check return status
713     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
714 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
715     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
716 	  raise OKL_API.G_EXCEPTION_ERROR;
717     End If;
718 
719     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
720 				 x_msg_data		=> x_msg_data);
721   EXCEPTION
722     when OKL_API.G_EXCEPTION_ERROR then
723       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
724 			p_api_name  => l_api_name,
725 			p_pkg_name  => g_pkg_name,
726 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
727 			x_msg_count => x_msg_count,
728 			x_msg_data  => x_msg_data,
729 			p_api_type  => g_api_type);
730 
731     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
732       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
733 			p_api_name  => l_api_name,
734 			p_pkg_name  => g_pkg_name,
735 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
736 			x_msg_count => x_msg_count,
737 			x_msg_data  => x_msg_data,
738 			p_api_type  => g_api_type);
739 
740     when OTHERS then
741       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
742 			p_api_name  => l_api_name,
743 			p_pkg_name  => g_pkg_name,
744 			p_exc_name  => 'OTHERS',
745 			x_msg_count => x_msg_count,
746 			x_msg_data  => x_msg_data,
747 			p_api_type  => g_api_type);
748 END validate_subsidy;
749 
750 PROCEDURE validate_subsidy(
751     p_api_version                  IN  NUMBER,
752     p_init_msg_list                IN  VARCHAR2,
753     x_return_status                OUT NOCOPY VARCHAR2,
754     x_msg_count                    OUT NOCOPY NUMBER,
755     x_msg_data                     OUT NOCOPY VARCHAR2,
756     p_subv_tbl                     IN  subv_tbl_type) IS
757 
758     l_api_name		    CONSTANT VARCHAR2(30) := 'VALIDATE_SUBSIDY';
759     l_api_version		CONSTANT NUMBER	      := 1.0;
760     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
761 
762     l_subv_tbl          subv_tbl_type;
763 Begin
764     -- call START_ACTIVITY to create savepoint, check compatibility
765     -- and initialize message list
766 
767     l_return_status := OKL_API.START_ACTIVITY(
768 			p_api_name      => l_api_name,
769 			p_pkg_name      => g_pkg_name,
770 			p_init_msg_list => p_init_msg_list,
771 			l_api_version   => l_api_version,
772 			p_api_version   => p_api_version,
773 			p_api_type      => g_api_type,
774 			x_return_status => x_return_status);
775 
776     -- check if activity started successfully
777     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
778        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
779     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
780        raise OKL_API.G_EXCEPTION_ERROR;
781     End If;
782 
783     l_subv_tbl := p_subv_tbl;
784 
785     okl_subsidy_pvt.validate_subsidy(
786 	 p_api_version	    => p_api_version,
787 	 p_init_msg_list	=> p_init_msg_list,
788 	 x_return_status 	=> x_return_status,
789 	 x_msg_count     	=> x_msg_count,
790 	 x_msg_data      	=> x_msg_data,
791 	 p_subv_tbl		    => l_subv_tbl);
792 
793     -- check return status
794     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
795 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
796     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
797 	  raise OKL_API.G_EXCEPTION_ERROR;
798     End If;
799 
800     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
801 				 x_msg_data		=> x_msg_data);
802   EXCEPTION
803     when OKL_API.G_EXCEPTION_ERROR then
804       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
805 			p_api_name  => l_api_name,
806 			p_pkg_name  => g_pkg_name,
807 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
808 			x_msg_count => x_msg_count,
809 			x_msg_data  => x_msg_data,
810 			p_api_type  => g_api_type);
811 
812     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
813       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
814 			p_api_name  => l_api_name,
815 			p_pkg_name  => g_pkg_name,
816 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
817 			x_msg_count => x_msg_count,
818 			x_msg_data  => x_msg_data,
819 			p_api_type  => g_api_type);
820 
821     when OTHERS then
822       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
823 			p_api_name  => l_api_name,
824 			p_pkg_name  => g_pkg_name,
825 			p_exc_name  => 'OTHERS',
826 			x_msg_count => x_msg_count,
827 			x_msg_data  => x_msg_data,
828 			p_api_type  => g_api_type);
829 END validate_subsidy;
830 
831 
832 PROCEDURE create_subsidy_criteria(
833     p_api_version                  IN  NUMBER,
834     p_init_msg_list                IN  VARCHAR2,
835     x_return_status                OUT NOCOPY VARCHAR2,
836     x_msg_count                    OUT NOCOPY NUMBER,
837     x_msg_data                     OUT NOCOPY VARCHAR2,
838     p_sucv_rec                     IN  sucv_rec_type,
839     x_sucv_rec                     OUT NOCOPY sucv_rec_type) IS
840 
841     l_api_name		    CONSTANT VARCHAR2(30) := 'CREATE_SUBSIDY_CRITERIA';
842     l_api_version		CONSTANT NUMBER	      := 1.0;
843     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
844 
845     l_sucv_rec          sucv_rec_type;
846 Begin
847     -- call START_ACTIVITY to create savepoint, check compatibility
848     -- and initialize message list
849 
850     l_return_status := OKL_API.START_ACTIVITY(
851 			p_api_name      => l_api_name,
852 			p_pkg_name      => g_pkg_name,
853 			p_init_msg_list => p_init_msg_list,
854 			l_api_version   => l_api_version,
855 			p_api_version   => p_api_version,
856 			p_api_type      => g_api_type,
857 			x_return_status => x_return_status);
858 
859     -- check if activity started successfully
860     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
861        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
862     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
863        raise OKL_API.G_EXCEPTION_ERROR;
864     End If;
865 
866     l_sucv_rec := p_sucv_rec;
867 
868     okl_subsidy_pvt.create_subsidy_criteria(
869 	 p_api_version	    => p_api_version,
870 	 p_init_msg_list	=> p_init_msg_list,
871 	 x_return_status 	=> x_return_status,
872 	 x_msg_count     	=> x_msg_count,
873 	 x_msg_data      	=> x_msg_data,
874 	 p_sucv_rec		    => l_sucv_rec,
875 	 x_sucv_rec		    => x_sucv_rec);
876 
877     -- check return status
878     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
879 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
880     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
881 	  raise OKL_API.G_EXCEPTION_ERROR;
882     End If;
883 
884     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
885 				 x_msg_data		=> x_msg_data);
886   EXCEPTION
887     when OKL_API.G_EXCEPTION_ERROR then
888       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
889 			p_api_name  => l_api_name,
890 			p_pkg_name  => g_pkg_name,
891 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
892 			x_msg_count => x_msg_count,
893 			x_msg_data  => x_msg_data,
894 			p_api_type  => g_api_type);
895 
896     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
897       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
898 			p_api_name  => l_api_name,
899 			p_pkg_name  => g_pkg_name,
900 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
901 			x_msg_count => x_msg_count,
902 			x_msg_data  => x_msg_data,
903 			p_api_type  => g_api_type);
904 
905     when OTHERS then
906       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
907 			p_api_name  => l_api_name,
908 			p_pkg_name  => g_pkg_name,
909 			p_exc_name  => 'OTHERS',
910 			x_msg_count => x_msg_count,
911 			x_msg_data  => x_msg_data,
912 			p_api_type  => g_api_type);
913 END create_subsidy_criteria;
914 
915 
916 
917 PROCEDURE create_subsidy_criteria(
918     p_api_version                  IN  NUMBER,
919     p_init_msg_list                IN  VARCHAR2,
920     x_return_status                OUT NOCOPY VARCHAR2,
921     x_msg_count                    OUT NOCOPY NUMBER,
922     x_msg_data                     OUT NOCOPY VARCHAR2,
923     p_sucv_tbl                     IN  sucv_tbl_type,
924     x_sucv_tbl                     OUT NOCOPY sucv_tbl_type) IS
925 
926     l_api_name		    CONSTANT VARCHAR2(30) := 'CREATE_SUBSIDY_CRITERIA';
927     l_api_version		CONSTANT NUMBER	      := 1.0;
928     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
929 
930     l_sucv_tbl          sucv_tbl_type;
931 Begin
932     -- call START_ACTIVITY to create savepoint, check compatibility
933     -- and initialize message list
934 
935     l_return_status := OKL_API.START_ACTIVITY(
936 			p_api_name      => l_api_name,
937 			p_pkg_name      => g_pkg_name,
938 			p_init_msg_list => p_init_msg_list,
939 			l_api_version   => l_api_version,
940 			p_api_version   => p_api_version,
941 			p_api_type      => g_api_type,
942 			x_return_status => x_return_status);
943 
944     -- check if activity started successfully
945     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
946        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
947     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
948        raise OKL_API.G_EXCEPTION_ERROR;
949     End If;
950 
951     l_sucv_tbl := p_sucv_tbl;
952 
953     okl_subsidy_pvt.create_subsidy_criteria(
954 	 p_api_version	    => p_api_version,
955 	 p_init_msg_list	=> p_init_msg_list,
956 	 x_return_status 	=> x_return_status,
957 	 x_msg_count     	=> x_msg_count,
958 	 x_msg_data      	=> x_msg_data,
959 	 p_sucv_tbl		    => l_sucv_tbl,
960 	 x_sucv_tbl		    => x_sucv_tbl);
961 
962     -- check return status
963     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
964 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
965     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
966 	  raise OKL_API.G_EXCEPTION_ERROR;
967     End If;
968 
969     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
970 				 x_msg_data		=> x_msg_data);
971   EXCEPTION
972     when OKL_API.G_EXCEPTION_ERROR then
973       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
974 			p_api_name  => l_api_name,
975 			p_pkg_name  => g_pkg_name,
976 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
977 			x_msg_count => x_msg_count,
978 			x_msg_data  => x_msg_data,
979 			p_api_type  => g_api_type);
980 
981     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
982       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
983 			p_api_name  => l_api_name,
984 			p_pkg_name  => g_pkg_name,
985 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
986 			x_msg_count => x_msg_count,
987 			x_msg_data  => x_msg_data,
988 			p_api_type  => g_api_type);
989 
990     when OTHERS then
991       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
992 			p_api_name  => l_api_name,
993 			p_pkg_name  => g_pkg_name,
994 			p_exc_name  => 'OTHERS',
995 			x_msg_count => x_msg_count,
996 			x_msg_data  => x_msg_data,
997 			p_api_type  => g_api_type);
998 END create_subsidy_criteria;
999 
1000 
1001 PROCEDURE update_subsidy_criteria(
1002     p_api_version                  IN  NUMBER,
1003     p_init_msg_list                IN  VARCHAR2,
1004     x_return_status                OUT NOCOPY VARCHAR2,
1005     x_msg_count                    OUT NOCOPY NUMBER,
1006     x_msg_data                     OUT NOCOPY VARCHAR2,
1007     p_sucv_rec                     IN  sucv_rec_type,
1008     x_sucv_rec                     OUT NOCOPY sucv_rec_type) IS
1009 
1010     l_api_name		    CONSTANT VARCHAR2(30) := 'UPDATE_SUBSIDY_CRITERIA';
1011     l_api_version		CONSTANT NUMBER	      := 1.0;
1012     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
1013 
1014     l_sucv_rec          sucv_rec_type;
1015 Begin
1016     -- call START_ACTIVITY to create savepoint, check compatibility
1017     -- and initialize message list
1018 
1019     l_return_status := OKL_API.START_ACTIVITY(
1020 			p_api_name      => l_api_name,
1021 			p_pkg_name      => g_pkg_name,
1022 			p_init_msg_list => p_init_msg_list,
1023 			l_api_version   => l_api_version,
1024 			p_api_version   => p_api_version,
1025 			p_api_type      => g_api_type,
1026 			x_return_status => x_return_status);
1027 
1028     -- check if activity started successfully
1029     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1030        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1031     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1032        raise OKL_API.G_EXCEPTION_ERROR;
1033     End If;
1034 
1035     l_sucv_rec := p_sucv_rec;
1036 
1037     okl_subsidy_pvt.update_subsidy_criteria(
1038 	 p_api_version	    => p_api_version,
1039 	 p_init_msg_list	=> p_init_msg_list,
1040 	 x_return_status 	=> x_return_status,
1041 	 x_msg_count     	=> x_msg_count,
1042 	 x_msg_data      	=> x_msg_data,
1043 	 p_sucv_rec		    => l_sucv_rec,
1044 	 x_sucv_rec		    => x_sucv_rec);
1045 
1046     -- check return status
1047     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1048 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1049     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1050 	  raise OKL_API.G_EXCEPTION_ERROR;
1051     End If;
1052 
1053     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
1054 				 x_msg_data		=> x_msg_data);
1055   EXCEPTION
1056     when OKL_API.G_EXCEPTION_ERROR then
1057       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1058 			p_api_name  => l_api_name,
1059 			p_pkg_name  => g_pkg_name,
1060 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
1061 			x_msg_count => x_msg_count,
1062 			x_msg_data  => x_msg_data,
1063 			p_api_type  => g_api_type);
1064 
1065     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1066       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1067 			p_api_name  => l_api_name,
1068 			p_pkg_name  => g_pkg_name,
1069 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1070 			x_msg_count => x_msg_count,
1071 			x_msg_data  => x_msg_data,
1072 			p_api_type  => g_api_type);
1073 
1074     when OTHERS then
1075       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1076 			p_api_name  => l_api_name,
1077 			p_pkg_name  => g_pkg_name,
1078 			p_exc_name  => 'OTHERS',
1079 			x_msg_count => x_msg_count,
1080 			x_msg_data  => x_msg_data,
1081 			p_api_type  => g_api_type);
1082 END update_subsidy_criteria;
1083 
1084 PROCEDURE update_subsidy_criteria(
1085     p_api_version                  IN  NUMBER,
1086     p_init_msg_list                IN  VARCHAR2,
1087     x_return_status                OUT NOCOPY VARCHAR2,
1088     x_msg_count                    OUT NOCOPY NUMBER,
1089     x_msg_data                     OUT NOCOPY VARCHAR2,
1090     p_sucv_tbl                     IN  sucv_tbl_type,
1091     x_sucv_tbl                     OUT NOCOPY sucv_tbl_type) IS
1092 
1093     l_api_name		    CONSTANT VARCHAR2(30) := 'UPDATE_SUBSIDY_CRITERIA';
1094     l_api_version		CONSTANT NUMBER	      := 1.0;
1095     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
1096 
1097     l_sucv_tbl          sucv_tbl_type;
1098 Begin
1099     -- call START_ACTIVITY to create savepoint, check compatibility
1100     -- and initialize message list
1101 
1102     l_return_status := OKL_API.START_ACTIVITY(
1103 			p_api_name      => l_api_name,
1104 			p_pkg_name      => g_pkg_name,
1105 			p_init_msg_list => p_init_msg_list,
1106 			l_api_version   => l_api_version,
1107 			p_api_version   => p_api_version,
1108 			p_api_type      => g_api_type,
1109 			x_return_status => x_return_status);
1110 
1111     -- check if activity started successfully
1112     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1113        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1114     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1115        raise OKL_API.G_EXCEPTION_ERROR;
1116     End If;
1117 
1118     l_sucv_tbl := p_sucv_tbl;
1119 
1120     okl_subsidy_pvt.update_subsidy_criteria(
1121 	 p_api_version	    => p_api_version,
1122 	 p_init_msg_list	=> p_init_msg_list,
1123 	 x_return_status 	=> x_return_status,
1124 	 x_msg_count     	=> x_msg_count,
1125 	 x_msg_data      	=> x_msg_data,
1126 	 p_sucv_tbl		    => l_sucv_tbl,
1127 	 x_sucv_tbl		    => x_sucv_tbl);
1128 
1129     -- check return status
1130     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1131 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1132     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1133 	  raise OKL_API.G_EXCEPTION_ERROR;
1134     End If;
1135 
1136     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
1137 				 x_msg_data		=> x_msg_data);
1138   EXCEPTION
1139     when OKL_API.G_EXCEPTION_ERROR then
1140       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1141 			p_api_name  => l_api_name,
1142 			p_pkg_name  => g_pkg_name,
1143 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
1144 			x_msg_count => x_msg_count,
1145 			x_msg_data  => x_msg_data,
1146 			p_api_type  => g_api_type);
1147 
1148     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1149       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1150 			p_api_name  => l_api_name,
1151 			p_pkg_name  => g_pkg_name,
1152 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1153 			x_msg_count => x_msg_count,
1154 			x_msg_data  => x_msg_data,
1155 			p_api_type  => g_api_type);
1156 
1157     when OTHERS then
1158       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1159 			p_api_name  => l_api_name,
1160 			p_pkg_name  => g_pkg_name,
1161 			p_exc_name  => 'OTHERS',
1162 			x_msg_count => x_msg_count,
1163 			x_msg_data  => x_msg_data,
1164 			p_api_type  => g_api_type);
1165 END update_subsidy_criteria;
1166 
1167 
1168 PROCEDURE delete_subsidy_criteria(
1169     p_api_version                  IN  NUMBER,
1170     p_init_msg_list                IN  VARCHAR2,
1171     x_return_status                OUT NOCOPY VARCHAR2,
1172     x_msg_count                    OUT NOCOPY NUMBER,
1173     x_msg_data                     OUT NOCOPY VARCHAR2,
1174     p_sucv_rec                     IN  sucv_rec_type) IS
1175 
1176     l_api_name		    CONSTANT VARCHAR2(30) := 'DELETE_SUBSIDY_CRITERIA';
1177     l_api_version		CONSTANT NUMBER	      := 1.0;
1178     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
1179 
1180     l_sucv_rec          sucv_rec_type;
1181 Begin
1182     -- call START_ACTIVITY to create savepoint, check compatibility
1183     -- and initialize message list
1184 
1185     l_return_status := OKL_API.START_ACTIVITY(
1186 			p_api_name      => l_api_name,
1187 			p_pkg_name      => g_pkg_name,
1188 			p_init_msg_list => p_init_msg_list,
1189 			l_api_version   => l_api_version,
1190 			p_api_version   => p_api_version,
1191 			p_api_type      => g_api_type,
1192 			x_return_status => x_return_status);
1193 
1194     -- check if activity started successfully
1195     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1196        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1197     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1198        raise OKL_API.G_EXCEPTION_ERROR;
1199     End If;
1200 
1201     l_sucv_rec := p_sucv_rec;
1202 
1203     okl_subsidy_pvt.delete_subsidy_criteria(
1204 	 p_api_version	    => p_api_version,
1205 	 p_init_msg_list	=> p_init_msg_list,
1206 	 x_return_status 	=> x_return_status,
1207 	 x_msg_count     	=> x_msg_count,
1208 	 x_msg_data      	=> x_msg_data,
1209 	 p_sucv_rec		    => l_sucv_rec);
1210 
1211     -- check return status
1212     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1213 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1214     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1215 	  raise OKL_API.G_EXCEPTION_ERROR;
1216     End If;
1217 
1218     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
1219 				 x_msg_data		=> x_msg_data);
1220   EXCEPTION
1221     when OKL_API.G_EXCEPTION_ERROR then
1222       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1223 			p_api_name  => l_api_name,
1224 			p_pkg_name  => g_pkg_name,
1225 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
1226 			x_msg_count => x_msg_count,
1227 			x_msg_data  => x_msg_data,
1228 			p_api_type  => g_api_type);
1229 
1230     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1231       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1232 			p_api_name  => l_api_name,
1233 			p_pkg_name  => g_pkg_name,
1234 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1235 			x_msg_count => x_msg_count,
1236 			x_msg_data  => x_msg_data,
1237 			p_api_type  => g_api_type);
1238 
1239     when OTHERS then
1240       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1241 			p_api_name  => l_api_name,
1242 			p_pkg_name  => g_pkg_name,
1243 			p_exc_name  => 'OTHERS',
1244 			x_msg_count => x_msg_count,
1245 			x_msg_data  => x_msg_data,
1246 			p_api_type  => g_api_type);
1247 END delete_subsidy_criteria;
1248 
1249 
1250 PROCEDURE delete_subsidy_criteria(
1251     p_api_version                  IN  NUMBER,
1252     p_init_msg_list                IN  VARCHAR2,
1253     x_return_status                OUT NOCOPY VARCHAR2,
1254     x_msg_count                    OUT NOCOPY NUMBER,
1255     x_msg_data                     OUT NOCOPY VARCHAR2,
1256     p_sucv_tbl                     IN  sucv_tbl_type) Is
1257 
1258     l_api_name		    CONSTANT VARCHAR2(30) := 'DELETE_SUBSIDY_CRITERIA';
1259     l_api_version		CONSTANT NUMBER	      := 1.0;
1260     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
1261 
1262     l_sucv_tbl          sucv_tbl_type;
1263 Begin
1264     -- call START_ACTIVITY to create savepoint, check compatibility
1265     -- and initialize message list
1266 
1267     l_return_status := OKL_API.START_ACTIVITY(
1268 			p_api_name      => l_api_name,
1269 			p_pkg_name      => g_pkg_name,
1270 			p_init_msg_list => p_init_msg_list,
1271 			l_api_version   => l_api_version,
1272 			p_api_version   => p_api_version,
1273 			p_api_type      => g_api_type,
1274 			x_return_status => x_return_status);
1275 
1276     -- check if activity started successfully
1277     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1278        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1279     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1280        raise OKL_API.G_EXCEPTION_ERROR;
1281     End If;
1282 
1283     l_sucv_tbl := p_sucv_tbl;
1284 
1285     okl_subsidy_pvt.delete_subsidy_criteria(
1286 	 p_api_version	    => p_api_version,
1287 	 p_init_msg_list	=> p_init_msg_list,
1288 	 x_return_status 	=> x_return_status,
1289 	 x_msg_count     	=> x_msg_count,
1290 	 x_msg_data      	=> x_msg_data,
1291 	 p_sucv_tbl		    => l_sucv_tbl);
1292 
1293     -- check return status
1294     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1295 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1296     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1297 	  raise OKL_API.G_EXCEPTION_ERROR;
1298     End If;
1299 
1300     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
1301 				 x_msg_data		=> x_msg_data);
1302   EXCEPTION
1303     when OKL_API.G_EXCEPTION_ERROR then
1304       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1305 			p_api_name  => l_api_name,
1306 			p_pkg_name  => g_pkg_name,
1307 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
1308 			x_msg_count => x_msg_count,
1309 			x_msg_data  => x_msg_data,
1310 			p_api_type  => g_api_type);
1311 
1312     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1313       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1314 			p_api_name  => l_api_name,
1315 			p_pkg_name  => g_pkg_name,
1316 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1317 			x_msg_count => x_msg_count,
1318 			x_msg_data  => x_msg_data,
1319 			p_api_type  => g_api_type);
1320 
1321     when OTHERS then
1322       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1323 			p_api_name  => l_api_name,
1324 			p_pkg_name  => g_pkg_name,
1325 			p_exc_name  => 'OTHERS',
1326 			x_msg_count => x_msg_count,
1327 			x_msg_data  => x_msg_data,
1328 			p_api_type  => g_api_type);
1329 END delete_subsidy_criteria;
1330 
1331 PROCEDURE lock_subsidy_criteria(
1332     p_api_version                  IN  NUMBER,
1333     p_init_msg_list                IN  VARCHAR2,
1334     x_return_status                OUT NOCOPY VARCHAR2,
1335     x_msg_count                    OUT NOCOPY NUMBER,
1336     x_msg_data                     OUT NOCOPY VARCHAR2,
1337     p_sucv_rec                     IN  sucv_rec_type) IS
1338 
1339     l_api_name		    CONSTANT VARCHAR2(30) := 'LOCK_SUBSIDY_CRITERIA';
1340     l_api_version		CONSTANT NUMBER	      := 1.0;
1341     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
1342 
1343     l_sucv_rec          sucv_rec_type;
1344 Begin
1345     -- call START_ACTIVITY to create savepoint, check compatibility
1346     -- and initialize message list
1347 
1348     l_return_status := OKL_API.START_ACTIVITY(
1349 			p_api_name      => l_api_name,
1350 			p_pkg_name      => g_pkg_name,
1351 			p_init_msg_list => p_init_msg_list,
1352 			l_api_version   => l_api_version,
1353 			p_api_version   => p_api_version,
1354 			p_api_type      => g_api_type,
1355 			x_return_status => x_return_status);
1356 
1357     -- check if activity started successfully
1358     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1359        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1360     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1361        raise OKL_API.G_EXCEPTION_ERROR;
1362     End If;
1363 
1364     l_sucv_rec := p_sucv_rec;
1365 
1366     okl_subsidy_pvt.lock_subsidy_criteria(
1367 	 p_api_version	    => p_api_version,
1368 	 p_init_msg_list	=> p_init_msg_list,
1369 	 x_return_status 	=> x_return_status,
1370 	 x_msg_count     	=> x_msg_count,
1371 	 x_msg_data      	=> x_msg_data,
1372 	 p_sucv_rec		    => l_sucv_rec);
1373 
1374     -- check return status
1375     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1376 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1377     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1378 	  raise OKL_API.G_EXCEPTION_ERROR;
1379     End If;
1380 
1381     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
1382 				 x_msg_data		=> x_msg_data);
1383   EXCEPTION
1384     when OKL_API.G_EXCEPTION_ERROR then
1385       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1386 			p_api_name  => l_api_name,
1387 			p_pkg_name  => g_pkg_name,
1388 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
1389 			x_msg_count => x_msg_count,
1390 			x_msg_data  => x_msg_data,
1391 			p_api_type  => g_api_type);
1392 
1393     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1394       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1395 			p_api_name  => l_api_name,
1396 			p_pkg_name  => g_pkg_name,
1397 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1398 			x_msg_count => x_msg_count,
1399 			x_msg_data  => x_msg_data,
1400 			p_api_type  => g_api_type);
1401 
1402     when OTHERS then
1403       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1404 			p_api_name  => l_api_name,
1405 			p_pkg_name  => g_pkg_name,
1406 			p_exc_name  => 'OTHERS',
1407 			x_msg_count => x_msg_count,
1408 			x_msg_data  => x_msg_data,
1409 			p_api_type  => g_api_type);
1410 END lock_subsidy_criteria;
1411 
1412 PROCEDURE lock_subsidy_criteria(
1413     p_api_version                  IN  NUMBER,
1414     p_init_msg_list                IN  VARCHAR2,
1415     x_return_status                OUT NOCOPY VARCHAR2,
1416     x_msg_count                    OUT NOCOPY NUMBER,
1417     x_msg_data                     OUT NOCOPY VARCHAR2,
1418     p_sucv_tbl                     IN  sucv_tbl_type) IS
1419 
1420     l_api_name		    CONSTANT VARCHAR2(30) := 'LOCK_SUBSIDY_CRITERIA';
1421     l_api_version		CONSTANT NUMBER	      := 1.0;
1422     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
1423 
1424     l_sucv_tbl          sucv_tbl_type;
1425 Begin
1426     -- call START_ACTIVITY to create savepoint, check compatibility
1427     -- and initialize message list
1428 
1429     l_return_status := OKL_API.START_ACTIVITY(
1430 			p_api_name      => l_api_name,
1431 			p_pkg_name      => g_pkg_name,
1432 			p_init_msg_list => p_init_msg_list,
1433 			l_api_version   => l_api_version,
1434 			p_api_version   => p_api_version,
1435 			p_api_type      => g_api_type,
1436 			x_return_status => x_return_status);
1437 
1438     -- check if activity started successfully
1439     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1440        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1441     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1442        raise OKL_API.G_EXCEPTION_ERROR;
1443     End If;
1444 
1445     l_sucv_tbl := p_sucv_tbl;
1446 
1447     okl_subsidy_pvt.lock_subsidy_criteria(
1448 	 p_api_version	    => p_api_version,
1449 	 p_init_msg_list	=> p_init_msg_list,
1450 	 x_return_status 	=> x_return_status,
1451 	 x_msg_count     	=> x_msg_count,
1452 	 x_msg_data      	=> x_msg_data,
1453 	 p_sucv_tbl		    => l_sucv_tbl);
1454 
1455     -- check return status
1456     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1457 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1458     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1459 	  raise OKL_API.G_EXCEPTION_ERROR;
1460     End If;
1461 
1462     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
1463 				 x_msg_data		=> x_msg_data);
1464   EXCEPTION
1465     when OKL_API.G_EXCEPTION_ERROR then
1466       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1467 			p_api_name  => l_api_name,
1468 			p_pkg_name  => g_pkg_name,
1469 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
1470 			x_msg_count => x_msg_count,
1471 			x_msg_data  => x_msg_data,
1472 			p_api_type  => g_api_type);
1473 
1474     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1475       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1476 			p_api_name  => l_api_name,
1477 			p_pkg_name  => g_pkg_name,
1478 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1479 			x_msg_count => x_msg_count,
1480 			x_msg_data  => x_msg_data,
1481 			p_api_type  => g_api_type);
1482 
1483     when OTHERS then
1484       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1485 			p_api_name  => l_api_name,
1486 			p_pkg_name  => g_pkg_name,
1487 			p_exc_name  => 'OTHERS',
1488 			x_msg_count => x_msg_count,
1489 			x_msg_data  => x_msg_data,
1490 			p_api_type  => g_api_type);
1491 END lock_subsidy_criteria;
1492 
1493 
1494 
1495 PROCEDURE validate_subsidy_criteria(
1496     p_api_version                  IN  NUMBER,
1497     p_init_msg_list                IN  VARCHAR2,
1498     x_return_status                OUT NOCOPY VARCHAR2,
1499     x_msg_count                    OUT NOCOPY NUMBER,
1500     x_msg_data                     OUT NOCOPY VARCHAR2,
1501     p_sucv_rec                     IN  sucv_rec_type) IS
1502 
1503 
1504     l_api_name		    CONSTANT VARCHAR2(30) := 'VALIDATE_SUBSIDY_CRITERIA';
1505     l_api_version		CONSTANT NUMBER	      := 1.0;
1506     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
1507 
1508     l_sucv_rec          sucv_rec_type;
1509 Begin
1510     -- call START_ACTIVITY to create savepoint, check compatibility
1511     -- and initialize message list
1512 
1513     l_return_status := OKL_API.START_ACTIVITY(
1514 			p_api_name      => l_api_name,
1515 			p_pkg_name      => g_pkg_name,
1516 			p_init_msg_list => p_init_msg_list,
1517 			l_api_version   => l_api_version,
1518 			p_api_version   => p_api_version,
1519 			p_api_type      => g_api_type,
1520 			x_return_status => x_return_status);
1521 
1522     -- check if activity started successfully
1523     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1524        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1525     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1526        raise OKL_API.G_EXCEPTION_ERROR;
1527     End If;
1528 
1529     l_sucv_rec := p_sucv_rec;
1530 
1531     okl_subsidy_pvt.validate_subsidy_criteria(
1532 	 p_api_version	    => p_api_version,
1533 	 p_init_msg_list	=> p_init_msg_list,
1534 	 x_return_status 	=> x_return_status,
1535 	 x_msg_count     	=> x_msg_count,
1536 	 x_msg_data      	=> x_msg_data,
1537 	 p_sucv_rec		    => l_sucv_rec);
1538 
1539     -- check return status
1540     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1541 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1542     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1543 	  raise OKL_API.G_EXCEPTION_ERROR;
1544     End If;
1545 
1546     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
1547 				 x_msg_data		=> x_msg_data);
1548   EXCEPTION
1549     when OKL_API.G_EXCEPTION_ERROR then
1550       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1551 			p_api_name  => l_api_name,
1552 			p_pkg_name  => g_pkg_name,
1553 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
1554 			x_msg_count => x_msg_count,
1555 			x_msg_data  => x_msg_data,
1556 			p_api_type  => g_api_type);
1557 
1558     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1559       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1560 			p_api_name  => l_api_name,
1561 			p_pkg_name  => g_pkg_name,
1562 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1563 			x_msg_count => x_msg_count,
1564 			x_msg_data  => x_msg_data,
1565 			p_api_type  => g_api_type);
1566 
1567     when OTHERS then
1568       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1569 			p_api_name  => l_api_name,
1570 			p_pkg_name  => g_pkg_name,
1571 			p_exc_name  => 'OTHERS',
1572 			x_msg_count => x_msg_count,
1573 			x_msg_data  => x_msg_data,
1574 			p_api_type  => g_api_type);
1575 END validate_subsidy_criteria;
1576 
1577 PROCEDURE validate_subsidy_criteria(
1578     p_api_version                  IN  NUMBER,
1579     p_init_msg_list                IN  VARCHAR2,
1580     x_return_status                OUT NOCOPY VARCHAR2,
1581     x_msg_count                    OUT NOCOPY NUMBER,
1582     x_msg_data                     OUT NOCOPY VARCHAR2,
1583     p_sucv_tbl                     IN  sucv_tbl_type) IS
1584 
1585     l_api_name		    CONSTANT VARCHAR2(30) := 'VALIDATE_SUBSIDY_CRITERIA';
1586     l_api_version		CONSTANT NUMBER	      := 1.0;
1587     l_return_status	    VARCHAR2(1)		      := OKL_API.G_RET_STS_SUCCESS;
1588 
1589     l_sucv_tbl          sucv_tbl_type;
1590 Begin
1591     -- call START_ACTIVITY to create savepoint, check compatibility
1592     -- and initialize message list
1593 
1594     l_return_status := OKL_API.START_ACTIVITY(
1595 			p_api_name      => l_api_name,
1596 			p_pkg_name      => g_pkg_name,
1597 			p_init_msg_list => p_init_msg_list,
1598 			l_api_version   => l_api_version,
1599 			p_api_version   => p_api_version,
1600 			p_api_type      => g_api_type,
1601 			x_return_status => x_return_status);
1602 
1603     -- check if activity started successfully
1604     If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1605        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1606     Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1607        raise OKL_API.G_EXCEPTION_ERROR;
1608     End If;
1609 
1610     l_sucv_tbl := p_sucv_tbl;
1611 
1612     okl_subsidy_pvt.validate_subsidy_criteria(
1613 	 p_api_version	    => p_api_version,
1614 	 p_init_msg_list	=> p_init_msg_list,
1615 	 x_return_status 	=> x_return_status,
1616 	 x_msg_count     	=> x_msg_count,
1617 	 x_msg_data      	=> x_msg_data,
1618 	 p_sucv_tbl		    => l_sucv_tbl);
1619 
1620     -- check return status
1621     If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1622 	  raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1623     Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1624 	  raise OKL_API.G_EXCEPTION_ERROR;
1625     End If;
1626 
1627     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
1628 				 x_msg_data		=> x_msg_data);
1629   EXCEPTION
1630     when OKL_API.G_EXCEPTION_ERROR then
1631       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1632 			p_api_name  => l_api_name,
1633 			p_pkg_name  => g_pkg_name,
1634 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
1635 			x_msg_count => x_msg_count,
1636 			x_msg_data  => x_msg_data,
1637 			p_api_type  => g_api_type);
1638 
1639     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1640       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1641 			p_api_name  => l_api_name,
1642 			p_pkg_name  => g_pkg_name,
1643 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1644 			x_msg_count => x_msg_count,
1645 			x_msg_data  => x_msg_data,
1646 			p_api_type  => g_api_type);
1647 
1648     when OTHERS then
1649       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1650 			p_api_name  => l_api_name,
1651 			p_pkg_name  => g_pkg_name,
1652 			p_exc_name  => 'OTHERS',
1653 			x_msg_count => x_msg_count,
1654 			x_msg_data  => x_msg_data,
1655 			p_api_type  => g_api_type);
1656 END validate_subsidy_criteria;
1657 
1658 PROCEDURE add_language IS
1659 Begin
1660     OKL_SUBSIDY_PVT.add_language;
1661 End add_language;
1662 
1663 END OKL_SUBSIDY_PUB;