DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_RELATED_ENTITIES_PUB

Source


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