DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_RELATED_ENTITIES_PUB

Source


1 PACKAGE BODY OKE_RELATED_ENTITIES_PUB AS
2 /* $Header: OKEPRLEB.pls 120.1 2010/04/09 05:31:59 aveeraba ship $ */
3     g_api_type		CONSTANT VARCHAR2(4) := '_PUB';
4 
5 
6 
7   PROCEDURE create_related_entity(
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_rle_rec		IN  oke_rle_pvt.rle_rec_type,
14     x_rle_rec		OUT NOCOPY  oke_rle_pvt.rle_rec_type) IS
15 
16 
17     l_rle_rec		oke_rle_pvt.rle_rec_type;
18 
19     l_api_name		CONSTANT VARCHAR2(30) := 'CREATE_RELATED_ENTITY';
20     l_api_version	CONSTANT NUMBER	  := 1.0;
21     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
22 --bug 9354391 modified line_number length to 150 as per table
23     l_line_number       VARCHAR2(150);
24 
25   BEGIN
26     -- call START_ACTIVITY to create savepoint, check compatibility
27     -- and initialize message list
28     l_return_status := OKE_API.START_ACTIVITY(
29 			p_api_name      => l_api_name,
30 			p_pkg_name      => g_pkg_name,
31 			p_init_msg_list => p_init_msg_list,
32 			l_api_version   => l_api_version,
33 			p_api_version   => p_api_version,
34 			p_api_type      => g_api_type,
35 			x_return_status => x_return_status);
36 
37     -- check if activity started successfully
38     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
39        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
40     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
41        raise OKE_API.G_EXCEPTION_ERROR;
42     End If;
43 
44     l_rle_rec := p_rle_rec;
45 
46     -- call procedure in complex API
47 
48 	OKE_RLE_PVT.Insert_Row(
49 	    p_api_version	=> p_api_version,
50 	    p_init_msg_list	=> p_init_msg_list,
51             x_return_status 	=> x_return_status,
52             x_msg_count     	=> x_msg_count,
53             x_msg_data      	=> x_msg_data,
54             p_rle_rec		=> l_rle_rec,
55             x_rle_rec		=> x_rle_rec);
56 
57 
58     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
59 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
60     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
61 	  raise OKE_API.G_EXCEPTION_ERROR;
62     End If;
63 
64     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
65 				x_msg_data	=> x_msg_data);
66   EXCEPTION
67     when OKE_API.G_EXCEPTION_ERROR then
68       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
69 			p_api_name  => l_api_name,
70 			p_pkg_name  => g_pkg_name,
71 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
72 			x_msg_count => x_msg_count,
73 			x_msg_data  => x_msg_data,
74 			p_api_type  => g_api_type);
75 
76     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
77       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
78 			p_api_name  => l_api_name,
79 			p_pkg_name  => g_pkg_name,
80 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
81 			x_msg_count => x_msg_count,
82 			x_msg_data  => x_msg_data,
83 			p_api_type  => g_api_type);
84 
85     when OTHERS then
86       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
87 			p_api_name  => l_api_name,
88 			p_pkg_name  => g_pkg_name,
89 			p_exc_name  => 'OTHERS',
90 			x_msg_count => x_msg_count,
91 			x_msg_data  => x_msg_data,
92 			p_api_type  => g_api_type);
93 
94   END create_related_entity;
95 
96 
97 
98   PROCEDURE create_related_entity(
99     p_api_version       IN NUMBER,
100     p_init_msg_list     IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
101     x_return_status     OUT NOCOPY VARCHAR2,
102     x_msg_count         OUT NOCOPY NUMBER,
103     x_msg_data          OUT NOCOPY VARCHAR2,
104     p_rle_tbl		IN  oke_rle_pvt.rle_tbl_type,
105     x_rle_tbl		OUT NOCOPY  oke_rle_pvt.rle_tbl_type) IS
106 
107     l_api_name		CONSTANT VARCHAR2(30) := 'CREATE_RELATED_ENTITY';
108     l_api_version	CONSTANT NUMBER	  := 1.0;
109     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
110     l_overall_status VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
111     i			NUMBER;
112     l_rle_tbl           oke_rle_pvt.rle_tbl_type;
113   BEGIN
114     -- call START_ACTIVITY to create savepoint, check compatibility
115     -- and initialize message list
116     l_return_status := OKE_API.START_ACTIVITY(
117 			p_api_name      => l_api_name,
118 			p_pkg_name      => g_pkg_name,
119 			p_init_msg_list => p_init_msg_list,
120 			l_api_version   => l_api_version,
121 			p_api_version   => p_api_version,
122 			p_api_type      => g_api_type,
123 			x_return_status => x_return_status);
124 
125     -- check if activity started successfully
126     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
127        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
128     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
129        raise OKE_API.G_EXCEPTION_ERROR;
130     End If;
131 
132     OKE_RLE_PVT.Insert_Row(
133       p_api_version	=> p_api_version,
134       p_init_msg_list	=> p_init_msg_list,
135       x_return_status 	=> x_return_status,
136       x_msg_count     	=> x_msg_count,
137       x_msg_data      	=> x_msg_data,
138       p_rle_tbl		=> p_rle_tbl,
139       x_rle_tbl		=> x_rle_tbl);
140 
141 
142     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
143 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
144     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
145 	  raise OKE_API.G_EXCEPTION_ERROR;
146     End If;
147 
148     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
149 				x_msg_data	=> x_msg_data);
150   EXCEPTION
151     when OKE_API.G_EXCEPTION_ERROR then
152       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
153 			p_api_name  => l_api_name,
154 			p_pkg_name  => g_pkg_name,
155 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
156 			x_msg_count => x_msg_count,
157 			x_msg_data  => x_msg_data,
158 			p_api_type  => g_api_type);
159 
160     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
161       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
162 			p_api_name  => l_api_name,
163 			p_pkg_name  => g_pkg_name,
164 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
165 			x_msg_count => x_msg_count,
166 			x_msg_data  => x_msg_data,
167 			p_api_type  => g_api_type);
168 
169     when OTHERS then
170       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
171 			p_api_name  => l_api_name,
172 			p_pkg_name  => g_pkg_name,
173 			p_exc_name  => 'OTHERS',
174 			x_msg_count => x_msg_count,
175 			x_msg_data  => x_msg_data,
176 			p_api_type  => g_api_type);
177 
178   END create_related_entity;
179 
180   PROCEDURE update_related_entity(
181     p_api_version       IN NUMBER,
182     p_init_msg_list     IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
183     x_return_status     OUT NOCOPY VARCHAR2,
184     x_msg_count         OUT NOCOPY NUMBER,
185     x_msg_data          OUT NOCOPY VARCHAR2,
186     p_rle_rec		IN oke_rle_pvt.rle_rec_type,
187     x_rle_rec		OUT NOCOPY oke_rle_pvt.rle_rec_type) IS
188 
189     l_api_name		CONSTANT VARCHAR2(30) := 'UPDATE_RELATED_ENTITY';
190     l_api_version	CONSTANT NUMBER	  := 1.0;
191     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
192   BEGIN
193     -- call START_ACTIVITY to create savepoint, check compatibility
194     -- and initialize message list
195 
196     l_return_status := OKE_API.START_ACTIVITY(
197 			p_api_name      => l_api_name,
198 			p_pkg_name      => g_pkg_name,
199 			p_init_msg_list => p_init_msg_list,
200 			l_api_version   => l_api_version,
201 			p_api_version   => p_api_version,
202 			p_api_type      => g_api_type,
203 			x_return_status => x_return_status);
204 
205     -- check if activity started successfully
206     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
207        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
208     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
209        raise OKE_API.G_EXCEPTION_ERROR;
210     End If;
211 
212     -- call complex api
213 
214     OKE_RLE_PVT.Update_Row(
215       p_api_version		=> p_api_version,
216       p_init_msg_list		=> p_init_msg_list,
217       x_return_status 		=> x_return_status,
218       x_msg_count     		=> x_msg_count,
219       x_msg_data      		=> x_msg_data,
220       p_rle_rec			=> p_rle_rec,
221       x_rle_rec			=> x_rle_rec);
222 
223 
224     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
225 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
226     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
227 	  raise OKE_API.G_EXCEPTION_ERROR;
228     End If;
229 
230     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
231 				x_msg_data	=> x_msg_data);
232 
233   EXCEPTION
234     when OKE_API.G_EXCEPTION_ERROR then
235       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
236 			p_api_name  => l_api_name,
237 			p_pkg_name  => g_pkg_name,
238 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
239 			x_msg_count => x_msg_count,
240 			x_msg_data  => x_msg_data,
241 			p_api_type  => g_api_type);
242 
243     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
244       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
245 			p_api_name  => l_api_name,
246 			p_pkg_name  => g_pkg_name,
247 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
248 			x_msg_count => x_msg_count,
249 			x_msg_data  => x_msg_data,
250 			p_api_type  => g_api_type);
251 
252     when OTHERS then
253       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
254 			p_api_name  => l_api_name,
255 			p_pkg_name  => g_pkg_name,
256 			p_exc_name  => 'OTHERS',
257 			x_msg_count => x_msg_count,
258 			x_msg_data  => x_msg_data,
259 			p_api_type  => g_api_type);
260 
261   END update_related_entity;
262 
263 
264  PROCEDURE update_related_entity(
265     p_api_version                  IN NUMBER,
266     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
267     x_return_status                OUT NOCOPY VARCHAR2,
268     x_msg_count                    OUT NOCOPY NUMBER,
269     x_msg_data                     OUT NOCOPY VARCHAR2,
270     p_rle_tbl			   IN  oke_rle_pvt.rle_tbl_type,
271     x_rle_tbl			   OUT NOCOPY  oke_rle_pvt.rle_tbl_type) IS
272 
273     l_api_name		CONSTANT VARCHAR2(30) := 'UPDATE_RELATED_ENTITY';
274     l_api_version	CONSTANT NUMBER	  := 1.0;
275     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
276     l_overall_status VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
277     i			NUMBER;
278   BEGIN
279     -- call START_ACTIVITY to create savepoint, check compatibility
280     -- and initialize message list
281 
282     l_return_status := OKE_API.START_ACTIVITY(
283 			p_api_name      => l_api_name,
284 			p_pkg_name      => g_pkg_name,
285 			p_init_msg_list => p_init_msg_list,
286 			l_api_version   => l_api_version,
287 			p_api_version   => p_api_version,
288 			p_api_type      => g_api_type,
289 			x_return_status => x_return_status);
290 
291     -- check if activity started successfully
292     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
293        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
294     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
295        raise OKE_API.G_EXCEPTION_ERROR;
296 
297     End If;
298 
299     OKE_RLE_PVT.Update_Row(
300 	 p_api_version			=> p_api_version,
301 	 p_init_msg_list		=> p_init_msg_list,
302       x_return_status 		=> x_return_status,
303       x_msg_count     		=> x_msg_count,
304       x_msg_data      		=> x_msg_data,
305       p_rle_tbl			=> p_rle_tbl,
306       x_rle_tbl			=> x_rle_tbl);
307 
308 
309 
310     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
311 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
312     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
313 	  raise OKE_API.G_EXCEPTION_ERROR;
314     End If;
315 
316     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
317 				x_msg_data	=> x_msg_data);
318 
319   EXCEPTION
320     when OKE_API.G_EXCEPTION_ERROR then
321       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
322 			p_api_name  => l_api_name,
323 			p_pkg_name  => g_pkg_name,
324 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
325 			x_msg_count => x_msg_count,
326 			x_msg_data  => x_msg_data,
327 			p_api_type  => g_api_type);
328 
329     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
330       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
331 			p_api_name  => l_api_name,
332 			p_pkg_name  => g_pkg_name,
333 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
334 			x_msg_count => x_msg_count,
335 			x_msg_data  => x_msg_data,
336 			p_api_type  => g_api_type);
337 
338     when OTHERS then
339       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
340 			p_api_name  => l_api_name,
341 			p_pkg_name  => g_pkg_name,
342 			p_exc_name  => 'OTHERS',
343 			x_msg_count => x_msg_count,
344 			x_msg_data  => x_msg_data,
345 			p_api_type  => g_api_type);
346 
347   END update_related_entity;
348 
349 
350 
351   PROCEDURE validate_related_entity(
352     p_api_version                  IN NUMBER,
353     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
354     x_return_status                OUT NOCOPY VARCHAR2,
355     x_msg_count                    OUT NOCOPY NUMBER,
356     x_msg_data                     OUT NOCOPY VARCHAR2,
357     p_rle_rec			   IN oke_rle_pvt.rle_rec_type) IS
358 
359     l_rle_rec		oke_rle_pvt.rle_rec_type;
360     l_api_name		CONSTANT VARCHAR2(30) := 'VALIDATE_RELATED_ENTITY';
361     l_api_version	CONSTANT NUMBER	  := 1.0;
362     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
363 
364   BEGIN
365     -- call START_ACTIVITY to create savepoint, check compatibility
366     -- and initialize message list
367     l_return_status := OKE_API.START_ACTIVITY(
368 			p_api_name      => l_api_name,
369 			p_pkg_name      => g_pkg_name,
370 			p_init_msg_list => p_init_msg_list,
371 			l_api_version   => l_api_version,
372 			p_api_version   => p_api_version,
373 			p_api_type      => g_api_type,
374 			x_return_status => x_return_status);
375 
376     -- check if activity started successfully
377     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
378        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
379     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
380        raise OKE_API.G_EXCEPTION_ERROR;
381     End If;
382 
383     -- call BEFORE user hook
384     l_rle_rec := p_rle_rec;
385 
386     -- call complex API
387 
388     OKE_RLE_PVT.Validate_Row(
389 	p_api_version		=> p_api_version,
390 	p_init_msg_list	=> p_init_msg_list,
391      	x_return_status 	=> x_return_status,
392       	x_msg_count     	=> x_msg_count,
393       	x_msg_data      	=> x_msg_data,
394       	p_rle_rec		=> p_rle_rec);
395 
396 
397     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
398 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
399     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
400 	  raise OKE_API.G_EXCEPTION_ERROR;
401     End If;
402 
403     -- end activity
404     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
405 				x_msg_data	=> x_msg_data);
406   EXCEPTION
407     when OKE_API.G_EXCEPTION_ERROR then
408       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
409 			p_api_name  => l_api_name,
410 			p_pkg_name  => g_pkg_name,
411 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
412 			x_msg_count => x_msg_count,
413 			x_msg_data  => x_msg_data,
414 			p_api_type  => g_api_type);
415 
416     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
417       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
418 			p_api_name  => l_api_name,
419 			p_pkg_name  => g_pkg_name,
420 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
421 			x_msg_count => x_msg_count,
422 			x_msg_data  => x_msg_data,
423 			p_api_type  => g_api_type);
424 
425     when OTHERS then
426       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
427 			p_api_name  => l_api_name,
428 			p_pkg_name  => g_pkg_name,
429 			p_exc_name  => 'OTHERS',
430 			x_msg_count => x_msg_count,
431 			x_msg_data  => x_msg_data,
432 			p_api_type  => g_api_type);
433 
434   END validate_related_entity;
435 
436   PROCEDURE validate_related_entity(
437     p_api_version                  IN NUMBER,
438     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
439     x_return_status                OUT NOCOPY VARCHAR2,
440     x_msg_count                    OUT NOCOPY NUMBER,
441     x_msg_data                     OUT NOCOPY VARCHAR2,
442     p_rle_tbl			   IN oke_rle_pvt.rle_tbl_type) IS
443 
444     l_api_name		CONSTANT VARCHAR2(30) := 'VALIDATE_RELATED_ENTITY';
445 
446     l_api_version	CONSTANT NUMBER	  := 1.0;
447     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
448     l_overall_status VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
449     i			NUMBER;
450     l_rle_tbl       oke_rle_pvt.rle_tbl_type := p_rle_tbl;
451   BEGIN
452     -- call START_ACTIVITY to create savepoint, check compatibility
453     -- and initialize message list
454     l_return_status := OKE_API.START_ACTIVITY(
455 			p_api_name      => l_api_name,
456 			p_pkg_name      => g_pkg_name,
457 			p_init_msg_list => p_init_msg_list,
458 			l_api_version   => l_api_version,
459 			p_api_version   => p_api_version,
460 			p_api_type      => g_api_type,
461 			x_return_status => x_return_status);
462 
463     -- check if activity started successfully
464     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
465        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
466     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
467        raise OKE_API.G_EXCEPTION_ERROR;
468     End If;
469 
470 
471     OKE_RLE_PVT.Validate_Row(
472 	 p_api_version		=> p_api_version,
473 	 p_init_msg_list	=> p_init_msg_list,
474       x_return_status 	=> x_return_status,
475       x_msg_count     	=> x_msg_count,
476       x_msg_data      	=> x_msg_data,
477       p_rle_tbl		=> p_rle_tbl);
478 
479 
480     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
481 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
482     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
483 	  raise OKE_API.G_EXCEPTION_ERROR;
484     End If;
485 
486     -- end activity
487     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
488 				x_msg_data	=> x_msg_data);
489   EXCEPTION
490     when OKE_API.G_EXCEPTION_ERROR then
491       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
492 			p_api_name  => l_api_name,
493 			p_pkg_name  => g_pkg_name,
494 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
495 			x_msg_count => x_msg_count,
496 			x_msg_data  => x_msg_data,
497 			p_api_type  => g_api_type);
498 
499     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
500       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
501 			p_api_name  => l_api_name,
502 			p_pkg_name  => g_pkg_name,
503 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
504 			x_msg_count => x_msg_count,
505 			x_msg_data  => x_msg_data,
506 			p_api_type  => g_api_type);
507 
508     when OTHERS then
509       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
510 			p_api_name  => l_api_name,
511 			p_pkg_name  => g_pkg_name,
512 			p_exc_name  => 'OTHERS',
513 			x_msg_count => x_msg_count,
514 			x_msg_data  => x_msg_data,
515 			p_api_type  => g_api_type);
516 
517   END validate_related_entity;
518 
519 
520 
521 
522   PROCEDURE delete_related_entity(
523 
524     p_api_version                  IN NUMBER,
525     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
526     x_return_status                OUT NOCOPY VARCHAR2,
527     x_msg_count                    OUT NOCOPY NUMBER,
528     x_msg_data                     OUT NOCOPY VARCHAR2,
529     p_rle_rec			   IN oke_rle_pvt.rle_rec_type) IS
530 
531     l_rle_rec		oke_rle_pvt.rle_rec_type;
532     l_api_name		CONSTANT VARCHAR2(30) := 'DELETE_RELATED_ENTITY';
533     l_api_version	CONSTANT NUMBER	  := 1.0;
534     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
535   BEGIN
536     -- call START_ACTIVITY to create savepoint, check compatibility
537     -- and initialize message list
538     l_return_status := OKE_API.START_ACTIVITY(
539 			p_api_name      => l_api_name,
540 			p_pkg_name      => g_pkg_name,
541 			p_init_msg_list => p_init_msg_list,
542 			l_api_version   => l_api_version,
543 			p_api_version   => p_api_version,
544 			p_api_type      => g_api_type,
545 			x_return_status => x_return_status);
546 
547     -- check if activity started successfully
548     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
549        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
550     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
551        raise OKE_API.G_EXCEPTION_ERROR;
552     End If;
553 
554     l_rle_rec := p_rle_rec;
555 
556     -- call complex api
557 
558     	OKE_RLE_PVT.delete_row(
559 	 	p_api_version		=> p_api_version,
560 	 	p_init_msg_list	=> p_init_msg_list,
561       		x_return_status 	=> x_return_status,
562       		x_msg_count     	=> x_msg_count,
563       		x_msg_data      	=> x_msg_data,
564       		p_rle_rec		=> p_rle_rec);
565 
566 
567     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
568 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
569     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
570 	  raise OKE_API.G_EXCEPTION_ERROR;
571     End If;
572 
573 
574     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
575 				x_msg_data	=> x_msg_data);
576   EXCEPTION
577     when OKE_API.G_EXCEPTION_ERROR then
578       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
579 			p_api_name  => l_api_name,
580 			p_pkg_name  => g_pkg_name,
581 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
582 			x_msg_count => x_msg_count,
583 			x_msg_data  => x_msg_data,
584 			p_api_type  => g_api_type);
585 
586     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
587       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
588 			p_api_name  => l_api_name,
589 			p_pkg_name  => g_pkg_name,
590 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
591 			x_msg_count => x_msg_count,
592 			x_msg_data  => x_msg_data,
593 			p_api_type  => g_api_type);
594 
595     when OTHERS then
596       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
597 			p_api_name  => l_api_name,
598 			p_pkg_name  => g_pkg_name,
599 			p_exc_name  => 'OTHERS',
600 			x_msg_count => x_msg_count,
601 			x_msg_data  => x_msg_data,
602 			p_api_type  => g_api_type);
603 
604   END delete_related_entity;
605 
606 
607   PROCEDURE delete_related_entity(
608     p_api_version                  IN NUMBER,
609     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
610     x_return_status                OUT NOCOPY VARCHAR2,
611     x_msg_count                    OUT NOCOPY NUMBER,
612     x_msg_data                     OUT NOCOPY VARCHAR2,
613     p_rle_tbl			   IN  oke_rle_pvt.rle_tbl_type) IS
614 
615     l_api_name		CONSTANT VARCHAR2(30) := 'DELETE_RELATED_ENTITY';
616     l_api_version	CONSTANT NUMBER	  := 1.0;
617     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
618     l_overall_status VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
619     i			NUMBER;
620   BEGIN
621     -- call START_ACTIVITY to create savepoint, check compatibility
622     -- and initialize message list
623     l_return_status := OKE_API.START_ACTIVITY(
624 			p_api_name      => l_api_name,
625 			p_pkg_name      => g_pkg_name,
626 			p_init_msg_list => p_init_msg_list,
627 			l_api_version   => l_api_version,
628 			p_api_version   => p_api_version,
629 			p_api_type      => g_api_type,
630 			x_return_status => x_return_status);
631 
632     -- check if activity started successfully
633     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
634        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
635     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
636        raise OKE_API.G_EXCEPTION_ERROR;
637     End If;
638 
639 
640     OKE_RLE_PVT.Delete_Row(
641       p_api_version	=> p_api_version,
642       p_init_msg_list	=> p_init_msg_list,
643       x_return_status 	=> x_return_status,
644       x_msg_count     	=> x_msg_count,
645       x_msg_data      	=> x_msg_data,
646       p_rle_tbl		=> p_rle_tbl);
647 
648 
649 
650     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
651 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
652     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
653 	  raise OKE_API.G_EXCEPTION_ERROR;
654     End If;
655 
656     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
657 				x_msg_data	=> x_msg_data);
658   EXCEPTION
659     when OKE_API.G_EXCEPTION_ERROR then
660       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
661 			p_api_name  => l_api_name,
662 			p_pkg_name  => g_pkg_name,
663 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
664 			x_msg_count => x_msg_count,
665 			x_msg_data  => x_msg_data,
666 			p_api_type  => g_api_type);
667 
668     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
669       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
670 			p_api_name  => l_api_name,
671 			p_pkg_name  => g_pkg_name,
672 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
673 			x_msg_count => x_msg_count,
674 			x_msg_data  => x_msg_data,
675 			p_api_type  => g_api_type);
676 
677     when OTHERS then
678       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
679 			p_api_name  => l_api_name,
680 			p_pkg_name  => g_pkg_name,
681 			p_exc_name  => 'OTHERS',
682 			x_msg_count => x_msg_count,
683 			x_msg_data  => x_msg_data,
684 			p_api_type  => g_api_type);
685 
686   END delete_related_entity;
687 
688 
689 
690 
691   PROCEDURE lock_related_entity(
692     p_api_version       IN NUMBER,
693     p_init_msg_list     IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
694     x_return_status     OUT NOCOPY VARCHAR2,
695     x_msg_count         OUT NOCOPY NUMBER,
696     x_msg_data          OUT NOCOPY VARCHAR2,
697     p_rle_rec           IN OKE_RLE_PVT.rle_rec_type) IS
698 
699 
700     l_api_name		CONSTANT VARCHAR2(30) := 'LOCK_RELATED_ENTITY';
701     l_api_version	CONSTANT NUMBER	  := 1.0;
702     l_return_status	VARCHAR2(1)	  := OKE_API.G_RET_STS_SUCCESS;
703 
704   BEGIN
705     l_return_status := OKE_API.START_ACTIVITY(
706 			p_api_name      => l_api_name,
707 			p_pkg_name      => g_pkg_name,
708 			p_init_msg_list => p_init_msg_list,
709 			l_api_version   => l_api_version,
710 			p_api_version   => p_api_version,
711 			p_api_type      => g_api_type,
712 			x_return_status => x_return_status);
713 
714     -- check if activity started successfully
715     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
716        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
717     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
718        raise OKE_API.G_EXCEPTION_ERROR;
719     End If;
720 
721     OKE_RLE_PVT.Lock_Row(
722 	 p_api_version		=> p_api_version,
723 	 p_init_msg_list	=> p_init_msg_list,
724       x_return_status 	=> x_return_status,
725       x_msg_count     	=> x_msg_count,
726       x_msg_data      	=> x_msg_data,
727       p_rle_rec		=> p_rle_rec);
728 
729     -- check return status
730     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
731 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
732     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
733 	  raise OKE_API.G_EXCEPTION_ERROR;
734     End If;
735 
736     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
737 				x_msg_data	=> x_msg_data);
738   EXCEPTION
739     when OKE_API.G_EXCEPTION_ERROR then
740       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
741 			p_api_name  => l_api_name,
742 			p_pkg_name  => g_pkg_name,
743 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
744 			x_msg_count => x_msg_count,
745 			x_msg_data  => x_msg_data,
746 			p_api_type  => g_api_type);
747 
748     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
749       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
750 			p_api_name  => l_api_name,
751 			p_pkg_name  => g_pkg_name,
752 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
753 			x_msg_count => x_msg_count,
754 			x_msg_data  => x_msg_data,
755 			p_api_type  => g_api_type);
756 
757     when OTHERS then
758       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
759 			p_api_name  => l_api_name,
760 			p_pkg_name  => g_pkg_name,
761 			p_exc_name  => 'OTHERS',
762 			x_msg_count => x_msg_count,
763 			x_msg_data  => x_msg_data,
764 			p_api_type  => g_api_type);
765 
766   END lock_related_entity;
767 
768   PROCEDURE lock_related_entity(
769     p_api_version                  IN NUMBER,
770     p_init_msg_list                IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
771     x_return_status                OUT NOCOPY VARCHAR2,
772     x_msg_count                    OUT NOCOPY NUMBER,
773     x_msg_data                     OUT NOCOPY VARCHAR2,
774     p_rle_tbl                     IN oke_rle_pvt.rle_tbl_type) IS
775 
776     l_api_name		CONSTANT VARCHAR2(30) := 'LOCK_RELATED_ENTITY';
777     l_api_version	CONSTANT NUMBER	  := 1.0;
778     l_return_status	VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
779     l_overall_status VARCHAR2(1)		  := OKE_API.G_RET_STS_SUCCESS;
780     i			NUMBER;
781   BEGIN
782     -- call START_ACTIVITY to create savepoint, check compatibility
783     -- and initialize message list
784     l_return_status := OKE_API.START_ACTIVITY(
785 			p_api_name      => l_api_name,
786 			p_pkg_name      => g_pkg_name,
787 			p_init_msg_list => p_init_msg_list,
788 			l_api_version   => l_api_version,
789 			p_api_version   => p_api_version,
790 			p_api_type      => g_api_type,
791 			x_return_status => x_return_status);
792 
793     -- check if activity started successfully
794     If (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) then
795        raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
796     Elsif (l_return_status = OKE_API.G_RET_STS_ERROR) then
797        raise OKE_API.G_EXCEPTION_ERROR;
798     End If;
799 
800     If (p_rle_tbl.COUNT > 0) Then
801 	   i := p_rle_tbl.FIRST;
802 	   LOOP
803 		-- call procedure in complex API
804 		OKE_RLE_PVT.lock_row(
805 			p_api_version		=> p_api_version,
806 			p_init_msg_list	=> p_init_msg_list,
807 			x_return_status 	=> x_return_status,
808 			x_msg_count     	=> x_msg_count,
809 			x_msg_data      	=> x_msg_data,
810 			p_rle_rec		=> p_rle_tbl(i));
811 
812 		-- store the highest degree of error
813 		If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
814 		   If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
815 			 l_overall_status := x_return_status;
816 		   End If;
817 		End If;
818         EXIT WHEN (i = p_rle_tbl.LAST);
819 		i := p_rle_tbl.NEXT(i);
820 	   END LOOP;
821 	   -- return overall status
822 	   x_return_status := l_overall_status;
823     End If;
824 
825     If x_return_status = OKE_API.G_RET_STS_UNEXP_ERROR Then
826 	  raise OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
827     Elsif x_return_status = OKE_API.G_RET_STS_ERROR Then
828 	  raise OKE_API.G_EXCEPTION_ERROR;
829     End If;
830 
831     -- end activity
832     OKE_API.END_ACTIVITY(	x_msg_count	=> x_msg_count,
833 				x_msg_data	=> x_msg_data);
834   EXCEPTION
835     when OKE_API.G_EXCEPTION_ERROR then
836       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
837 			p_api_name  => l_api_name,
838 			p_pkg_name  => g_pkg_name,
839 			p_exc_name  => 'OKE_API.G_RET_STS_ERROR',
840 			x_msg_count => x_msg_count,
841 			x_msg_data  => x_msg_data,
842 			p_api_type  => g_api_type);
843 
844     when OKE_API.G_EXCEPTION_UNEXPECTED_ERROR then
845       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
846 			p_api_name  => l_api_name,
847 			p_pkg_name  => g_pkg_name,
848 			p_exc_name  => 'OKE_API.G_RET_STS_UNEXP_ERROR',
849 			x_msg_count => x_msg_count,
850 			x_msg_data  => x_msg_data,
851 			p_api_type  => g_api_type);
852 
853     when OTHERS then
854       x_return_status := OKE_API.HANDLE_EXCEPTIONS(
855 			p_api_name  => l_api_name,
856 			p_pkg_name  => g_pkg_name,
857 			p_exc_name  => 'OTHERS',
858 			x_msg_count => x_msg_count,
859 			x_msg_data  => x_msg_data,
860 			p_api_type  => g_api_type);
861 
862   END lock_related_entity;
863 
864 END OKE_RELATED_ENTITIES_PUB;
865