[Home] [Help]
PACKAGE BODY: APPS.OKC_SUBCLASS_PUB
Source
1 Package Body OKC_SUBCLASS_PUB AS
2 /* $Header: OKCPSCSB.pls 120.0 2005/05/25 18:21:04 appldev noship $ */
3 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
4
5 PROCEDURE add_language IS
6 BEGIN
7 okc_subclass_pvt.add_language;
8 END;
9 FUNCTION migrate_scsv(p_scsv_rec1 IN scsv_rec_type,
10 p_scsv_rec2 IN scsv_rec_type)
11 RETURN scsv_rec_type IS
12 l_scsv_rec scsv_rec_type;
13 BEGIN
14 l_scsv_rec.code := p_scsv_rec1.code;
15 l_scsv_rec.object_version_number := p_scsv_rec1.object_version_number;
16 l_scsv_rec.sfwt_flag := p_scsv_rec1.sfwt_flag;
17 l_scsv_rec.cls_code := p_scsv_rec1.cls_code;
18 l_scsv_rec.created_by := p_scsv_rec1.created_by;
19 l_scsv_rec.creation_date := p_scsv_rec1.creation_date;
20 l_scsv_rec.last_updated_by := p_scsv_rec1.last_updated_by;
21 l_scsv_rec.last_update_date := p_scsv_rec1.last_update_date;
22 l_scsv_rec.last_update_login := p_scsv_rec1.last_update_login;
23 l_scsv_rec.meaning := p_scsv_rec2.meaning;
24 l_scsv_rec.description := p_scsv_rec2.description;
25 l_scsv_rec.start_date := p_scsv_rec2.start_date;
26 l_scsv_rec.end_date := p_scsv_rec2.end_date;
27 l_scsv_rec.create_opp_yn := p_scsv_rec2.create_opp_yn;
28 l_scsv_rec.access_level := p_scsv_rec2.access_level;
29 RETURN (l_scsv_rec);
30 END migrate_scsv;
31
32 FUNCTION migrate_srev(p_srev_rec1 IN srev_rec_type,
33 p_srev_rec2 IN srev_rec_type)
34 RETURN srev_rec_type IS
35 l_srev_rec srev_rec_type;
36 BEGIN
37 l_srev_rec.id := p_srev_rec1.id;
38 l_srev_rec.object_version_number := p_srev_rec1.object_version_number;
39 l_srev_rec.rle_code := p_srev_rec1.rle_code;
40 l_srev_rec.scs_code := p_srev_rec1.scs_code;
41 l_srev_rec.created_by := p_srev_rec1.created_by;
42 l_srev_rec.creation_date := p_srev_rec1.creation_date;
43 l_srev_rec.last_updated_by := p_srev_rec1.last_updated_by;
44 l_srev_rec.last_update_date := p_srev_rec1.last_update_date;
45 l_srev_rec.last_update_login := p_srev_rec1.last_update_login;
46 l_srev_rec.start_date := p_srev_rec2.start_date;
47 l_srev_rec.end_date := p_srev_rec2.end_date;
48 l_srev_rec.access_level := p_srev_rec2.access_level;
49 RETURN (l_srev_rec);
50 END migrate_srev;
51
52 FUNCTION migrate_srdv(p_srdv_rec1 IN srdv_rec_type,
53 p_srdv_rec2 IN srdv_rec_type)
54 RETURN srdv_rec_type IS
55 l_srdv_rec srdv_rec_type;
56 BEGIN
57 l_srdv_rec.id := p_srdv_rec1.id;
58 l_srdv_rec.object_version_number := p_srdv_rec1.object_version_number;
59 l_srdv_rec.rgd_code := p_srdv_rec1.rgd_code;
60 l_srdv_rec.scs_code := p_srdv_rec1.scs_code;
61 l_srdv_rec.created_by := p_srdv_rec1.created_by;
62 l_srdv_rec.creation_date := p_srdv_rec1.creation_date;
63 l_srdv_rec.last_updated_by := p_srdv_rec1.last_updated_by;
64 l_srdv_rec.last_update_date := p_srdv_rec1.last_update_date;
65 l_srdv_rec.last_update_login := p_srdv_rec1.last_update_login;
66 l_srdv_rec.start_date := p_srdv_rec2.start_date;
67 l_srdv_rec.end_date := p_srdv_rec2.end_date;
68 l_srdv_rec.access_level := p_srdv_rec2.access_level;
69 RETURN (l_srdv_rec);
70 END migrate_srdv;
71
72 FUNCTION migrate_rrdv(p_rrdv_rec1 IN rrdv_rec_type,
73 p_rrdv_rec2 IN rrdv_rec_type)
74 RETURN rrdv_rec_type IS
75 l_rrdv_rec rrdv_rec_type;
76 BEGIN
77 l_rrdv_rec.id := p_rrdv_rec1.id;
78 l_rrdv_rec.object_version_number := p_rrdv_rec1.object_version_number;
79 l_rrdv_rec.srd_id := p_rrdv_rec1.srd_id;
80 l_rrdv_rec.sre_id := p_rrdv_rec1.sre_id;
81 l_rrdv_rec.created_by := p_rrdv_rec1.created_by;
82 l_rrdv_rec.creation_date := p_rrdv_rec1.creation_date;
83 l_rrdv_rec.last_updated_by := p_rrdv_rec1.last_updated_by;
84 l_rrdv_rec.last_update_date := p_rrdv_rec1.last_update_date;
85 l_rrdv_rec.last_update_login := p_rrdv_rec1.last_update_login;
86 l_rrdv_rec.optional_yn := p_rrdv_rec2.optional_yn;
87 l_rrdv_rec.subject_object_flag := p_rrdv_rec2.subject_object_flag;
88 l_rrdv_rec.attribute_category := p_rrdv_rec2.attribute_category;
89 l_rrdv_rec.attribute1 := p_rrdv_rec2.attribute1;
90 l_rrdv_rec.attribute2 := p_rrdv_rec2.attribute2;
91 l_rrdv_rec.attribute3 := p_rrdv_rec2.attribute3;
92 l_rrdv_rec.attribute4 := p_rrdv_rec2.attribute4;
93 l_rrdv_rec.attribute5 := p_rrdv_rec2.attribute5;
94 l_rrdv_rec.attribute6 := p_rrdv_rec2.attribute6;
95 l_rrdv_rec.attribute7 := p_rrdv_rec2.attribute7;
96 l_rrdv_rec.attribute8 := p_rrdv_rec2.attribute8;
97 l_rrdv_rec.attribute9 := p_rrdv_rec2.attribute9;
98 l_rrdv_rec.attribute10 := p_rrdv_rec2.attribute10;
99 l_rrdv_rec.attribute11 := p_rrdv_rec2.attribute11;
100 l_rrdv_rec.attribute12 := p_rrdv_rec2.attribute12;
101 l_rrdv_rec.attribute13 := p_rrdv_rec2.attribute13;
102 l_rrdv_rec.attribute14 := p_rrdv_rec2.attribute14;
103 l_rrdv_rec.attribute15 := p_rrdv_rec2.attribute15;
104 l_rrdv_rec.access_level := p_rrdv_rec2.access_level;
105 RETURN (l_rrdv_rec);
106 END migrate_rrdv;
107
108 FUNCTION migrate_stlv(p_stlv_rec1 IN stlv_rec_type,
109 p_stlv_rec2 IN stlv_rec_type)
110 RETURN stlv_rec_type IS
111 l_stlv_rec stlv_rec_type;
112 BEGIN
113 l_stlv_rec.lse_id := p_stlv_rec1.lse_id;
114 l_stlv_rec.scs_code := p_stlv_rec1.scs_code;
115 l_stlv_rec.object_version_number := p_stlv_rec1.object_version_number;
116 l_stlv_rec.created_by := p_stlv_rec1.created_by;
117 l_stlv_rec.creation_date := p_stlv_rec1.creation_date;
118 l_stlv_rec.last_updated_by := p_stlv_rec1.last_updated_by;
119 l_stlv_rec.last_update_date := p_stlv_rec1.last_update_date;
120 l_stlv_rec.last_update_login := p_stlv_rec1.last_update_login;
121 l_stlv_rec.start_date := p_stlv_rec2.start_date;
122 l_stlv_rec.end_date := p_stlv_rec2.end_date;
123 l_stlv_rec.access_level := p_stlv_rec2.access_level;
124 RETURN (l_stlv_rec);
125 END migrate_stlv;
126
127 FUNCTION migrate_lsrv(p_lsrv_rec1 IN lsrv_rec_type,
128 p_lsrv_rec2 IN lsrv_rec_type)
129 RETURN lsrv_rec_type IS
130 l_lsrv_rec lsrv_rec_type;
131 BEGIN
132 l_lsrv_rec.lse_id := p_lsrv_rec1.lse_id;
133 l_lsrv_rec.sre_id := p_lsrv_rec1.sre_id;
134 l_lsrv_rec.object_version_number := p_lsrv_rec1.object_version_number;
135 l_lsrv_rec.created_by := p_lsrv_rec1.created_by;
136 l_lsrv_rec.creation_date := p_lsrv_rec1.creation_date;
137 l_lsrv_rec.last_updated_by := p_lsrv_rec1.last_updated_by;
138 l_lsrv_rec.last_update_date := p_lsrv_rec1.last_update_date;
139 l_lsrv_rec.last_update_login := p_lsrv_rec1.last_update_login;
140 l_lsrv_rec.access_level := p_lsrv_rec1.access_level;
141 RETURN (l_lsrv_rec);
142 END migrate_lsrv;
143
144 FUNCTION migrate_lrgv(p_lrgv_rec1 IN lrgv_rec_type,
145 p_lrgv_rec2 IN lrgv_rec_type)
146 RETURN lrgv_rec_type IS
147 l_lrgv_rec lrgv_rec_type;
148 BEGIN
149 l_lrgv_rec.lse_id := p_lrgv_rec1.lse_id;
150 l_lrgv_rec.srd_id := p_lrgv_rec1.srd_id;
151 l_lrgv_rec.object_version_number := p_lrgv_rec1.object_version_number;
152 l_lrgv_rec.created_by := p_lrgv_rec1.created_by;
153 l_lrgv_rec.creation_date := p_lrgv_rec1.creation_date;
154 l_lrgv_rec.last_updated_by := p_lrgv_rec1.last_updated_by;
155 l_lrgv_rec.last_update_date := p_lrgv_rec1.last_update_date;
156 l_lrgv_rec.last_update_login := p_lrgv_rec1.last_update_login;
157 l_lrgv_rec.access_level := p_lrgv_rec1.access_level;
158 RETURN (l_lrgv_rec);
159 END migrate_lrgv;
160
161 FUNCTION migrate_srav(p_srav_rec1 IN srav_rec_type,
162 p_srav_rec2 IN srav_rec_type)
163 RETURN srav_rec_type IS
164 l_srav_rec srav_rec_type;
165 BEGIN
166 l_srav_rec.scs_code := p_srav_rec1.scs_code;
167 l_srav_rec.resp_id := p_srav_rec1.resp_id;
168 l_srav_rec.access_level := p_srav_rec1.access_level;
169 l_srav_rec.created_by := p_srav_rec1.created_by;
170 l_srav_rec.creation_date := p_srav_rec1.creation_date;
171 l_srav_rec.last_updated_by := p_srav_rec1.last_updated_by;
172 l_srav_rec.last_update_date := p_srav_rec1.last_update_date;
173 l_srav_rec.last_update_login := p_srav_rec1.last_update_login;
174 l_srav_rec.start_date := p_srav_rec2.start_date;
175 l_srav_rec.end_date := p_srav_rec2.end_date;
176 RETURN (l_srav_rec);
177 END migrate_srav;
178
179 PROCEDURE create_subclass(
180 p_api_version IN NUMBER,
181 p_init_msg_list IN VARCHAR2 ,
182 x_return_status OUT NOCOPY VARCHAR2,
183 x_msg_count OUT NOCOPY NUMBER,
184 x_msg_data OUT NOCOPY VARCHAR2,
185 p_scsv_rec IN scsv_rec_type,
186 x_scsv_rec OUT NOCOPY scsv_rec_type) IS
187 l_api_name CONSTANT VARCHAR2(30) := 'create_subclass';
188 l_return_status VARCHAR2(1);
189 l_scsv_rec scsv_rec_type := p_scsv_rec;
190 BEGIN
191 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
192 p_init_msg_list,
193 '_PUB',
194 x_return_status);
195 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
196 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
197 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
198 raise OKC_API.G_EXCEPTION_ERROR;
199 END IF;
200 -- Call user hook for BEFORE
201 g_scsv_rec := l_scsv_rec;
202 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
203 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
204 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
205 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
206 raise OKC_API.G_EXCEPTION_ERROR;
207 END IF;
208 l_scsv_rec := migrate_scsv(l_scsv_rec, g_scsv_rec);
209
210 okc_subclass_pvt.create_subclass(
211 p_api_version,
212 p_init_msg_list,
213 x_return_status,
214 x_msg_count,
215 x_msg_data,
216 l_scsv_rec,
217 x_scsv_rec);
218 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
219 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
220 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
221 raise OKC_API.G_EXCEPTION_ERROR;
222 END IF;
223
224 -- Call user hook for AFTER
225 g_scsv_rec := x_scsv_rec;
226 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
227 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
228 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
229 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
230 raise OKC_API.G_EXCEPTION_ERROR;
231 END IF;
232 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
233 EXCEPTION
234 WHEN OKC_API.G_EXCEPTION_ERROR THEN
235 x_return_status := OKC_API.HANDLE_EXCEPTIONS
236 (l_api_name,
237 G_PKG_NAME,
238 'OKC_API.G_RET_STS_ERROR',
239 x_msg_count,
240 x_msg_data,
241 '_PUB');
242 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
243 x_return_status := OKC_API.HANDLE_EXCEPTIONS
244 (l_api_name,
245 G_PKG_NAME,
246 'OKC_API.G_RET_STS_UNEXP_ERROR',
247 x_msg_count,
248 x_msg_data,
249 '_PUB');
250 WHEN OTHERS THEN
251 x_return_status := OKC_API.HANDLE_EXCEPTIONS
252 (l_api_name,
253 G_PKG_NAME,
254 'OTHERS',
255 x_msg_count,
256 x_msg_data,
257 '_PUB');
258 END create_subclass;
259
260 PROCEDURE create_subclass(
261 p_api_version IN NUMBER,
262 p_init_msg_list IN VARCHAR2 ,
263 x_return_status OUT NOCOPY VARCHAR2,
264 x_msg_count OUT NOCOPY NUMBER,
265 x_msg_data OUT NOCOPY VARCHAR2,
266 p_scsv_tbl IN scsv_tbl_type,
267 x_scsv_tbl OUT NOCOPY scsv_tbl_type) IS
268 i NUMBER := 0;
269 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
270 BEGIN
271 x_return_status := OKC_API.G_RET_STS_SUCCESS;
272 IF p_scsv_tbl.COUNT > 0 THEN
273 i := p_scsv_tbl.FIRST;
274 LOOP
275 create_subclass(
276 p_api_version,
277 p_init_msg_list,
278 l_return_status,
279 x_msg_count,
280 x_msg_data,
281 p_scsv_tbl(i),
282 x_scsv_tbl(i));
283 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
284 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
285 x_return_status := l_return_status;
286 raise G_EXCEPTION_HALT_VALIDATION;
287 ELSE
288 x_return_status := l_return_status;
289 END IF;
290 END IF;
291 EXIT WHEN (i = p_scsv_tbl.LAST);
292 i := p_scsv_tbl.NEXT(i);
293 END LOOP;
294 END IF;
295 EXCEPTION
296 WHEN G_EXCEPTION_HALT_VALIDATION THEN
297 NULL;
298 WHEN OTHERS THEN
299 OKC_API.set_message(p_app_name => g_app_name,
300 p_msg_name => g_unexpected_error,
301 p_token1 => g_sqlcode_token,
302 p_token1_value => sqlcode,
303 p_token2 => g_sqlerrm_token,
304 p_token2_value => sqlerrm);
305 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
306 END create_subclass;
307
308
309 PROCEDURE update_subclass(
310 p_api_version IN NUMBER,
311 p_init_msg_list IN VARCHAR2 ,
312 x_return_status OUT NOCOPY VARCHAR2,
313 x_msg_count OUT NOCOPY NUMBER,
314 x_msg_data OUT NOCOPY VARCHAR2,
315 p_scsv_rec IN scsv_rec_type,
316 x_scsv_rec OUT NOCOPY scsv_rec_type) IS
317 l_api_name CONSTANT VARCHAR2(30) := 'update_subclass';
318 l_return_status VARCHAR2(1);
319 l_scsv_rec scsv_rec_type := p_scsv_rec;
320 BEGIN
321 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
322 p_init_msg_list,
323 '_PUB',
324 x_return_status);
325 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
326 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
327 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
328 raise OKC_API.G_EXCEPTION_ERROR;
329 END IF;
330 -- Call user hook for BEFORE
331 g_scsv_rec := l_scsv_rec;
332 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
333 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
334 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
335 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
336 raise OKC_API.G_EXCEPTION_ERROR;
337 END IF;
338 l_scsv_rec := migrate_scsv(l_scsv_rec, g_scsv_rec);
339
340 okc_subclass_pvt.update_subclass(
341 p_api_version,
342 p_init_msg_list,
343 x_return_status,
344 x_msg_count,
345 x_msg_data,
346 l_scsv_rec,
347 x_scsv_rec);
348 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
349 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
350 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
351 raise OKC_API.G_EXCEPTION_ERROR;
352 END IF;
353
354 -- Call user hook for AFTER
355 g_scsv_rec := x_scsv_rec;
356 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
357 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
358 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
359 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
360 raise OKC_API.G_EXCEPTION_ERROR;
361 END IF;
362 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
363 EXCEPTION
364 WHEN OKC_API.G_EXCEPTION_ERROR THEN
365 x_return_status := OKC_API.HANDLE_EXCEPTIONS
366 (l_api_name,
367 G_PKG_NAME,
368 'OKC_API.G_RET_STS_ERROR',
369 x_msg_count,
370 x_msg_data,
371 '_PUB');
372 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
373 x_return_status := OKC_API.HANDLE_EXCEPTIONS
374 (l_api_name,
375 G_PKG_NAME,
376 'OKC_API.G_RET_STS_UNEXP_ERROR',
377 x_msg_count,
378 x_msg_data,
379 '_PUB');
380 WHEN OTHERS THEN
381 x_return_status := OKC_API.HANDLE_EXCEPTIONS
382 (l_api_name,
383 G_PKG_NAME,
384 'OTHERS',
385 x_msg_count,
386 x_msg_data,
387 '_PUB');
388 END update_subclass;
389
390
391 PROCEDURE update_subclass(
392 p_api_version IN NUMBER,
393 p_init_msg_list IN VARCHAR2 ,
394 x_return_status OUT NOCOPY VARCHAR2,
395 x_msg_count OUT NOCOPY NUMBER,
396 x_msg_data OUT NOCOPY VARCHAR2,
397 p_scsv_tbl IN scsv_tbl_type,
398 x_scsv_tbl OUT NOCOPY scsv_tbl_type) IS
399 i NUMBER := 0;
400 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
401 BEGIN
402 x_return_status := OKC_API.G_RET_STS_SUCCESS;
403 IF p_scsv_tbl.COUNT > 0 THEN
404 i := p_scsv_tbl.FIRST;
405 LOOP
406 update_subclass(
407 p_api_version,
408 p_init_msg_list,
409 l_return_status,
410 x_msg_count,
411 x_msg_data,
412 p_scsv_tbl(i),
413 x_scsv_tbl(i));
414 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
415 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
416 x_return_status := l_return_status;
417 raise G_EXCEPTION_HALT_VALIDATION;
418 ELSE
419 x_return_status := l_return_status;
420 END IF;
421 END IF;
422 EXIT WHEN (i = p_scsv_tbl.LAST);
423 i := p_scsv_tbl.NEXT(i);
424 END LOOP;
425 END IF;
426 EXCEPTION
427 WHEN G_EXCEPTION_HALT_VALIDATION THEN
428 NULL;
429 WHEN OTHERS THEN
430 OKC_API.set_message(p_app_name => g_app_name,
431 p_msg_name => g_unexpected_error,
432 p_token1 => g_sqlcode_token,
433 p_token1_value => sqlcode,
434 p_token2 => g_sqlerrm_token,
435 p_token2_value => sqlerrm);
436 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
437 END update_subclass;
438
439 PROCEDURE delete_subclass(
440 p_api_version IN NUMBER,
441 p_init_msg_list IN VARCHAR2 ,
442 x_return_status OUT NOCOPY VARCHAR2,
443 x_msg_count OUT NOCOPY NUMBER,
444 x_msg_data OUT NOCOPY VARCHAR2,
445 p_scsv_rec IN scsv_rec_type) IS
446 l_api_name CONSTANT VARCHAR2(30) := 'delete_subclass';
447 l_return_status VARCHAR2(1);
448 l_scsv_rec scsv_rec_type := p_scsv_rec;
449 BEGIN
450 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
451 p_init_msg_list,
452 '_PUB',
453 x_return_status);
454 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
455 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
456 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
457 raise OKC_API.G_EXCEPTION_ERROR;
458 END IF;
459 -- Call user hook for BEFORE
460 g_scsv_rec := l_scsv_rec;
461 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
462 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
463 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
464 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
465 raise OKC_API.G_EXCEPTION_ERROR;
466 END IF;
467
468 okc_subclass_pvt.delete_subclass(
469 p_api_version,
470 p_init_msg_list,
471 x_return_status,
472 x_msg_count,
473 x_msg_data,
474 p_scsv_rec);
475 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
476 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
477 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
478 raise OKC_API.G_EXCEPTION_ERROR;
479 END IF;
480
481 -- Call user hook for AFTER
482 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
483 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
484 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
485 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
486 raise OKC_API.G_EXCEPTION_ERROR;
487 END IF;
488 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
489 EXCEPTION
490 WHEN OKC_API.G_EXCEPTION_ERROR THEN
491 x_return_status := OKC_API.HANDLE_EXCEPTIONS
492 (l_api_name,
493 G_PKG_NAME,
494 'OKC_API.G_RET_STS_ERROR',
495 x_msg_count,
496 x_msg_data,
497 '_PUB');
498 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
499 x_return_status := OKC_API.HANDLE_EXCEPTIONS
500 (l_api_name,
501 G_PKG_NAME,
502 'OKC_API.G_RET_STS_UNEXP_ERROR',
503 x_msg_count,
504 x_msg_data,
505 '_PUB');
506 WHEN OTHERS THEN
507 x_return_status := OKC_API.HANDLE_EXCEPTIONS
508 (l_api_name,
509 G_PKG_NAME,
510 'OTHERS',
511 x_msg_count,
512 x_msg_data,
513 '_PUB');
514 END delete_subclass;
515
516 PROCEDURE delete_subclass(
517 p_api_version IN NUMBER,
518 p_init_msg_list IN VARCHAR2 ,
519 x_return_status OUT NOCOPY VARCHAR2,
520 x_msg_count OUT NOCOPY NUMBER,
521 x_msg_data OUT NOCOPY VARCHAR2,
522 p_scsv_tbl IN scsv_tbl_type) IS
523 i NUMBER := 0;
524 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
525 BEGIN
526 x_return_status := OKC_API.G_RET_STS_SUCCESS;
527 IF p_scsv_tbl.COUNT > 0 THEN
528 i := p_scsv_tbl.FIRST;
529 LOOP
530 delete_subclass(
531 p_api_version,
532 p_init_msg_list,
533 l_return_status,
534 x_msg_count,
535 x_msg_data,
536 p_scsv_tbl(i));
537 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
538 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
539 x_return_status := l_return_status;
540 raise G_EXCEPTION_HALT_VALIDATION;
541 ELSE
542 x_return_status := l_return_status;
543 END IF;
544 END IF;
545 EXIT WHEN (i = p_scsv_tbl.LAST);
546 i := p_scsv_tbl.NEXT(i);
547 END LOOP;
548 END IF;
549 EXCEPTION
550 WHEN G_EXCEPTION_HALT_VALIDATION THEN
551 NULL;
552 WHEN OTHERS THEN
553 OKC_API.set_message(p_app_name => g_app_name,
554 p_msg_name => g_unexpected_error,
555 p_token1 => g_sqlcode_token,
556 p_token1_value => sqlcode,
557 p_token2 => g_sqlerrm_token,
558 p_token2_value => sqlerrm);
559 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
560 END delete_subclass;
561
562 PROCEDURE lock_subclass(
563 p_api_version IN NUMBER,
564 p_init_msg_list IN VARCHAR2 ,
565 x_return_status OUT NOCOPY VARCHAR2,
566 x_msg_count OUT NOCOPY NUMBER,
567 x_msg_data OUT NOCOPY VARCHAR2,
568 p_scsv_rec IN scsv_rec_type) IS
569 BEGIN
570 okc_subclass_pvt.lock_subclass(
571 p_api_version,
572 p_init_msg_list,
573 x_return_status,
574 x_msg_count,
575 x_msg_data,
576 p_scsv_rec);
577 END lock_subclass;
578
579 PROCEDURE lock_subclass(
580 p_api_version IN NUMBER,
581 p_init_msg_list IN VARCHAR2 ,
582 x_return_status OUT NOCOPY VARCHAR2,
583 x_msg_count OUT NOCOPY NUMBER,
584 x_msg_data OUT NOCOPY VARCHAR2,
585 p_scsv_tbl IN scsv_tbl_type) IS
586 BEGIN
587 okc_subclass_pvt.lock_subclass(
588 p_api_version,
589 p_init_msg_list,
590 x_return_status,
591 x_msg_count,
592 x_msg_data,
593 p_scsv_tbl);
594 END lock_subclass;
595
596 PROCEDURE validate_subclass(
597 p_api_version IN NUMBER,
598 p_init_msg_list IN VARCHAR2 ,
599 x_return_status OUT NOCOPY VARCHAR2,
600 x_msg_count OUT NOCOPY NUMBER,
601 x_msg_data OUT NOCOPY VARCHAR2,
602 p_scsv_rec IN scsv_rec_type) IS
603 BEGIN
604 okc_subclass_pvt.validate_subclass(
605 p_api_version,
606 p_init_msg_list,
607 x_return_status,
608 x_msg_count,
609 x_msg_data,
610 p_scsv_rec);
611 END validate_subclass;
612
613 PROCEDURE validate_subclass(
614 p_api_version IN NUMBER,
615 p_init_msg_list IN VARCHAR2 ,
616 x_return_status OUT NOCOPY VARCHAR2,
617 x_msg_count OUT NOCOPY NUMBER,
618 x_msg_data OUT NOCOPY VARCHAR2,
619 p_scsv_tbl IN scsv_tbl_type) IS
620 BEGIN
621 okc_subclass_pvt.validate_subclass(
622 p_api_version,
623 p_init_msg_list,
624 x_return_status,
625 x_msg_count,
626 x_msg_data,
627 p_scsv_tbl);
628 END validate_subclass;
629
630 PROCEDURE create_subclass_roles(
631 p_api_version IN NUMBER,
632 p_init_msg_list IN VARCHAR2 ,
633 x_return_status OUT NOCOPY VARCHAR2,
634 x_msg_count OUT NOCOPY NUMBER,
635 x_msg_data OUT NOCOPY VARCHAR2,
636 p_srev_rec IN srev_rec_type,
637 x_srev_rec OUT NOCOPY srev_rec_type) IS
638 l_api_name CONSTANT VARCHAR2(30) := 'create_subclass_roles';
639 l_return_status VARCHAR2(1);
640 l_srev_rec srev_rec_type := p_srev_rec;
641 BEGIN
642 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
643 p_init_msg_list,
644 '_PUB',
645 x_return_status);
646 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
647 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
648 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
649 raise OKC_API.G_EXCEPTION_ERROR;
650 END IF;
651 -- Call user hook for BEFORE
652 g_srev_rec := l_srev_rec;
653 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
654 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
655 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
656 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
657 raise OKC_API.G_EXCEPTION_ERROR;
658 END IF;
659 l_srev_rec := migrate_srev(l_srev_rec, g_srev_rec);
660
661 okc_subclass_pvt.create_subclass_roles(
662 p_api_version,
663 p_init_msg_list,
664 x_return_status,
665 x_msg_count,
666 x_msg_data,
667 l_srev_rec,
668 x_srev_rec);
669 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
670 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
671 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
672 raise OKC_API.G_EXCEPTION_ERROR;
673 END IF;
674
675 -- Call user hook for AFTER
676 g_srev_rec := x_srev_rec;
677 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
678 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
679 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
680 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
681 raise OKC_API.G_EXCEPTION_ERROR;
682 END IF;
683 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
684 EXCEPTION
685 WHEN OKC_API.G_EXCEPTION_ERROR THEN
686 x_return_status := OKC_API.HANDLE_EXCEPTIONS
687 (l_api_name,
688 G_PKG_NAME,
689 'OKC_API.G_RET_STS_ERROR',
690 x_msg_count,
691 x_msg_data,
692 '_PUB');
693 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
694 x_return_status := OKC_API.HANDLE_EXCEPTIONS
695 (l_api_name,
696 G_PKG_NAME,
697 'OKC_API.G_RET_STS_UNEXP_ERROR',
698 x_msg_count,
699 x_msg_data,
700 '_PUB');
701 WHEN OTHERS THEN
702 x_return_status := OKC_API.HANDLE_EXCEPTIONS
703 (l_api_name,
704 G_PKG_NAME,
705 'OTHERS',
706 x_msg_count,
707 x_msg_data,
708 '_PUB');
709 END create_subclass_roles;
710
711 PROCEDURE create_subclass_roles(
712 p_api_version IN NUMBER,
713 p_init_msg_list IN VARCHAR2 ,
714 x_return_status OUT NOCOPY VARCHAR2,
715 x_msg_count OUT NOCOPY NUMBER,
716 x_msg_data OUT NOCOPY VARCHAR2,
717 p_srev_tbl IN srev_tbl_type,
718 x_srev_tbl OUT NOCOPY srev_tbl_type) IS
719 i NUMBER := 0;
720 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
721 BEGIN
722 x_return_status := OKC_API.G_RET_STS_SUCCESS;
723 IF p_srev_tbl.COUNT > 0 THEN
724 i := p_srev_tbl.FIRST;
725 LOOP
726 create_subclass_roles(
727 p_api_version,
728 p_init_msg_list,
729 l_return_status,
730 x_msg_count,
731 x_msg_data,
732 p_srev_tbl(i),
733 x_srev_tbl(i));
734 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
735 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
736 x_return_status := l_return_status;
737 raise G_EXCEPTION_HALT_VALIDATION;
738 ELSE
739 x_return_status := l_return_status;
740 END IF;
741 END IF;
742 EXIT WHEN (i = p_srev_tbl.LAST);
743 i := p_srev_tbl.NEXT(i);
744 END LOOP;
745 END IF;
746 EXCEPTION
747 WHEN G_EXCEPTION_HALT_VALIDATION THEN
748 NULL;
749 WHEN OTHERS THEN
750 OKC_API.set_message(p_app_name => g_app_name,
751 p_msg_name => g_unexpected_error,
752 p_token1 => g_sqlcode_token,
753 p_token1_value => sqlcode,
754 p_token2 => g_sqlerrm_token,
755 p_token2_value => sqlerrm);
756 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
757 END create_subclass_roles;
758
759 PROCEDURE update_subclass_roles(
760 p_api_version IN NUMBER,
761 p_init_msg_list IN VARCHAR2 ,
762 x_return_status OUT NOCOPY VARCHAR2,
763 x_msg_count OUT NOCOPY NUMBER,
764 x_msg_data OUT NOCOPY VARCHAR2,
765 p_srev_rec IN srev_rec_type,
766 x_srev_rec OUT NOCOPY srev_rec_type) IS
767 l_api_name CONSTANT VARCHAR2(30) := 'update_subclass_roles';
768 l_return_status VARCHAR2(1);
769 l_srev_rec srev_rec_type := p_srev_rec;
770 BEGIN
771 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
772 p_init_msg_list,
773 '_PUB',
774 x_return_status);
775 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
776 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
777 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
778 raise OKC_API.G_EXCEPTION_ERROR;
779 END IF;
780 -- Call user hook for BEFORE
781 g_srev_rec := l_srev_rec;
782 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
783 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
784 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
785 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
786 raise OKC_API.G_EXCEPTION_ERROR;
787 END IF;
788 l_srev_rec := migrate_srev(l_srev_rec, g_srev_rec);
789
790 okc_subclass_pvt.update_subclass_roles(
791 p_api_version,
792 p_init_msg_list,
793 x_return_status,
794 x_msg_count,
795 x_msg_data,
796 l_srev_rec,
797 x_srev_rec);
798 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
799 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
800 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
801 raise OKC_API.G_EXCEPTION_ERROR;
802 END IF;
803
804 -- Call user hook for AFTER
805 g_srev_rec := x_srev_rec;
806 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
807 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
808 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
809 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
810 raise OKC_API.G_EXCEPTION_ERROR;
811 END IF;
812 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
813 EXCEPTION
814 WHEN OKC_API.G_EXCEPTION_ERROR THEN
815 x_return_status := OKC_API.HANDLE_EXCEPTIONS
816 (l_api_name,
817 G_PKG_NAME,
818 'OKC_API.G_RET_STS_ERROR',
819 x_msg_count,
820 x_msg_data,
821 '_PUB');
822 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
823 x_return_status := OKC_API.HANDLE_EXCEPTIONS
824 (l_api_name,
825 G_PKG_NAME,
826 'OKC_API.G_RET_STS_UNEXP_ERROR',
827 x_msg_count,
828 x_msg_data,
829 '_PUB');
830 WHEN OTHERS THEN
831 x_return_status := OKC_API.HANDLE_EXCEPTIONS
832 (l_api_name,
833 G_PKG_NAME,
834 'OTHERS',
835 x_msg_count,
836 x_msg_data,
837 '_PUB');
838 END update_subclass_roles;
839
840 PROCEDURE update_subclass_roles(
841 p_api_version IN NUMBER,
842 p_init_msg_list IN VARCHAR2 ,
843 x_return_status OUT NOCOPY VARCHAR2,
844 x_msg_count OUT NOCOPY NUMBER,
845 x_msg_data OUT NOCOPY VARCHAR2,
846 p_srev_tbl IN srev_tbl_type,
847 x_srev_tbl OUT NOCOPY srev_tbl_type) IS
848 i NUMBER := 0;
849 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
850 BEGIN
851 x_return_status := OKC_API.G_RET_STS_SUCCESS;
852 IF p_srev_tbl.COUNT > 0 THEN
853 i := p_srev_tbl.FIRST;
854 LOOP
855 update_subclass_roles(
856 p_api_version,
857 p_init_msg_list,
858 l_return_status,
859 x_msg_count,
860 x_msg_data,
861 p_srev_tbl(i),
862 x_srev_tbl(i));
863 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
864 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
865 x_return_status := l_return_status;
866 raise G_EXCEPTION_HALT_VALIDATION;
867 ELSE
868 x_return_status := l_return_status;
869 END IF;
870 END IF;
871 EXIT WHEN (i = p_srev_tbl.LAST);
872 i := p_srev_tbl.NEXT(i);
873 END LOOP;
874 END IF;
875 EXCEPTION
876 WHEN G_EXCEPTION_HALT_VALIDATION THEN
877 NULL;
878 WHEN OTHERS THEN
879 OKC_API.set_message(p_app_name => g_app_name,
880 p_msg_name => g_unexpected_error,
881 p_token1 => g_sqlcode_token,
882 p_token1_value => sqlcode,
883 p_token2 => g_sqlerrm_token,
884 p_token2_value => sqlerrm);
885 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
886 END update_subclass_roles;
887
888 PROCEDURE delete_subclass_roles(
889 p_api_version IN NUMBER,
890 p_init_msg_list IN VARCHAR2 ,
891 x_return_status OUT NOCOPY VARCHAR2,
892 x_msg_count OUT NOCOPY NUMBER,
893 x_msg_data OUT NOCOPY VARCHAR2,
894 p_srev_rec IN srev_rec_type) IS
895 l_api_name CONSTANT VARCHAR2(30) := 'delete_subclass_roles';
896 l_return_status VARCHAR2(1);
897 l_srev_rec srev_rec_type := p_srev_rec;
898 BEGIN
899 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
900 p_init_msg_list,
901 '_PUB',
902 x_return_status);
903 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
904 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
905 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
906 raise OKC_API.G_EXCEPTION_ERROR;
907 END IF;
908 -- Call user hook for BEFORE
909 g_srev_rec := l_srev_rec;
910 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
911 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
912 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
913 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
914 raise OKC_API.G_EXCEPTION_ERROR;
915 END IF;
916
917 okc_subclass_pvt.delete_subclass_roles(
918 p_api_version,
919 p_init_msg_list,
920 x_return_status,
921 x_msg_count,
922 x_msg_data,
923 p_srev_rec);
924 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
925 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
926 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
927 raise OKC_API.G_EXCEPTION_ERROR;
928 END IF;
929
930 -- Call user hook for AFTER
931 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
932 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
933 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
934 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
935 raise OKC_API.G_EXCEPTION_ERROR;
936 END IF;
937 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
938 EXCEPTION
939 WHEN OKC_API.G_EXCEPTION_ERROR THEN
940 x_return_status := OKC_API.HANDLE_EXCEPTIONS
941 (l_api_name,
942 G_PKG_NAME,
943 'OKC_API.G_RET_STS_ERROR',
944 x_msg_count,
945 x_msg_data,
946 '_PUB');
947 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
948 x_return_status := OKC_API.HANDLE_EXCEPTIONS
949 (l_api_name,
950 G_PKG_NAME,
951 'OKC_API.G_RET_STS_UNEXP_ERROR',
952 x_msg_count,
953 x_msg_data,
954 '_PUB');
955 WHEN OTHERS THEN
956 x_return_status := OKC_API.HANDLE_EXCEPTIONS
957 (l_api_name,
958 G_PKG_NAME,
959 'OTHERS',
960 x_msg_count,
961 x_msg_data,
962 '_PUB');
963 END delete_subclass_roles;
964
965 PROCEDURE delete_subclass_roles(
966 p_api_version IN NUMBER,
967 p_init_msg_list IN VARCHAR2 ,
968 x_return_status OUT NOCOPY VARCHAR2,
969 x_msg_count OUT NOCOPY NUMBER,
970 x_msg_data OUT NOCOPY VARCHAR2,
971 p_srev_tbl IN srev_tbl_type) IS
972 i NUMBER := 0;
973 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
974 BEGIN
975 x_return_status := OKC_API.G_RET_STS_SUCCESS;
976 IF p_srev_tbl.COUNT > 0 THEN
977 i := p_srev_tbl.FIRST;
978 LOOP
979 delete_subclass_roles(
980 p_api_version,
981 p_init_msg_list,
982 l_return_status,
983 x_msg_count,
984 x_msg_data,
985 p_srev_tbl(i));
986 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
987 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
988 x_return_status := l_return_status;
989 raise G_EXCEPTION_HALT_VALIDATION;
990 ELSE
991 x_return_status := l_return_status;
992 END IF;
993 END IF;
994 EXIT WHEN (i = p_srev_tbl.LAST);
995 i := p_srev_tbl.NEXT(i);
996 END LOOP;
997 END IF;
998 EXCEPTION
999 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1000 NULL;
1001 WHEN OTHERS THEN
1002 OKC_API.set_message(p_app_name => g_app_name,
1003 p_msg_name => g_unexpected_error,
1004 p_token1 => g_sqlcode_token,
1005 p_token1_value => sqlcode,
1006 p_token2 => g_sqlerrm_token,
1007 p_token2_value => sqlerrm);
1008 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1009 END delete_subclass_roles;
1010
1011 PROCEDURE lock_subclass_roles(
1012 p_api_version IN NUMBER,
1013 p_init_msg_list IN VARCHAR2 ,
1014 x_return_status OUT NOCOPY VARCHAR2,
1015 x_msg_count OUT NOCOPY NUMBER,
1016 x_msg_data OUT NOCOPY VARCHAR2,
1017 p_srev_rec IN srev_rec_type) IS
1018 BEGIN
1019 okc_subclass_pvt.lock_subclass_roles(
1020 p_api_version,
1021 p_init_msg_list,
1022 x_return_status,
1023 x_msg_count,
1024 x_msg_data,
1025 p_srev_rec);
1026 END lock_subclass_roles;
1027
1028 PROCEDURE lock_subclass_roles(
1029 p_api_version IN NUMBER,
1030 p_init_msg_list IN VARCHAR2 ,
1031 x_return_status OUT NOCOPY VARCHAR2,
1032 x_msg_count OUT NOCOPY NUMBER,
1033 x_msg_data OUT NOCOPY VARCHAR2,
1034 p_srev_tbl IN srev_tbl_type) IS
1035 BEGIN
1036 okc_subclass_pvt.lock_subclass_roles(
1037 p_api_version,
1038 p_init_msg_list,
1039 x_return_status,
1040 x_msg_count,
1041 x_msg_data,
1042 p_srev_tbl);
1043 END lock_subclass_roles;
1044
1045 PROCEDURE validate_subclass_roles(
1046 p_api_version IN NUMBER,
1047 p_init_msg_list IN VARCHAR2 ,
1048 x_return_status OUT NOCOPY VARCHAR2,
1049 x_msg_count OUT NOCOPY NUMBER,
1050 x_msg_data OUT NOCOPY VARCHAR2,
1051 p_srev_rec IN srev_rec_type) IS
1052 BEGIN
1053 okc_subclass_pvt.validate_subclass_roles(
1054 p_api_version,
1055 p_init_msg_list,
1056 x_return_status,
1057 x_msg_count,
1058 x_msg_data,
1059 p_srev_rec);
1060 END validate_subclass_roles;
1061
1062 PROCEDURE validate_subclass_roles(
1063 p_api_version IN NUMBER,
1064 p_init_msg_list IN VARCHAR2 ,
1065 x_return_status OUT NOCOPY VARCHAR2,
1066 x_msg_count OUT NOCOPY NUMBER,
1067 x_msg_data OUT NOCOPY VARCHAR2,
1068 p_srev_tbl IN srev_tbl_type) IS
1069 BEGIN
1070 okc_subclass_pvt.validate_subclass_roles(
1071 p_api_version,
1072 p_init_msg_list,
1073 x_return_status,
1074 x_msg_count,
1075 x_msg_data,
1076 p_srev_tbl);
1077 END validate_subclass_roles;
1078
1079 PROCEDURE create_subclass_rg_defs(
1080 p_api_version IN NUMBER,
1081 p_init_msg_list IN VARCHAR2 ,
1082 x_return_status OUT NOCOPY VARCHAR2,
1083 x_msg_count OUT NOCOPY NUMBER,
1084 x_msg_data OUT NOCOPY VARCHAR2,
1085 p_srdv_rec IN srdv_rec_type,
1086 x_srdv_rec OUT NOCOPY srdv_rec_type) IS
1087 l_api_name CONSTANT VARCHAR2(30) := 'create_subclass_rg_defs';
1088 l_return_status VARCHAR2(1);
1089 l_srdv_rec srdv_rec_type := p_srdv_rec;
1090 BEGIN
1091 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1092 p_init_msg_list,
1093 '_PUB',
1094 x_return_status);
1095 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1096 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1097 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1098 raise OKC_API.G_EXCEPTION_ERROR;
1099 END IF;
1100 -- Call user hook for BEFORE
1101 g_srdv_rec := l_srdv_rec;
1102 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1103 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1104 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1105 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1106 raise OKC_API.G_EXCEPTION_ERROR;
1107 END IF;
1108 l_srdv_rec := migrate_srdv(l_srdv_rec, g_srdv_rec);
1109
1110 okc_subclass_pvt.create_subclass_rg_defs(
1111 p_api_version,
1112 p_init_msg_list,
1113 x_return_status,
1114 x_msg_count,
1115 x_msg_data,
1116 l_srdv_rec,
1117 x_srdv_rec);
1118 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1119 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1120 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1121 raise OKC_API.G_EXCEPTION_ERROR;
1122 END IF;
1123
1124 -- Call user hook for AFTER
1125 g_srdv_rec := x_srdv_rec;
1126 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1127 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1128 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1129 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1130 raise OKC_API.G_EXCEPTION_ERROR;
1131 END IF;
1132 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1133 EXCEPTION
1134 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1135 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1136 (l_api_name,
1137 G_PKG_NAME,
1138 'OKC_API.G_RET_STS_ERROR',
1139 x_msg_count,
1140 x_msg_data,
1141 '_PUB');
1142 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1143 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1144 (l_api_name,
1145 G_PKG_NAME,
1146 'OKC_API.G_RET_STS_UNEXP_ERROR',
1147 x_msg_count,
1148 x_msg_data,
1149 '_PUB');
1150 WHEN OTHERS THEN
1151 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1152 (l_api_name,
1153 G_PKG_NAME,
1154 'OTHERS',
1155 x_msg_count,
1156 x_msg_data,
1157 '_PUB');
1158 END create_subclass_rg_defs;
1159
1160 PROCEDURE create_subclass_rg_defs(
1161 p_api_version IN NUMBER,
1162 p_init_msg_list IN VARCHAR2 ,
1163 x_return_status OUT NOCOPY VARCHAR2,
1164 x_msg_count OUT NOCOPY NUMBER,
1165 x_msg_data OUT NOCOPY VARCHAR2,
1166 p_srdv_tbl IN srdv_tbl_type,
1167 x_srdv_tbl OUT NOCOPY srdv_tbl_type) IS
1168 i NUMBER := 0;
1169 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1170 BEGIN
1171 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1172 IF p_srdv_tbl.COUNT > 0 THEN
1173 i := p_srdv_tbl.FIRST;
1174 LOOP
1175 create_subclass_rg_defs(
1176 p_api_version,
1177 p_init_msg_list,
1178 l_return_status,
1179 x_msg_count,
1180 x_msg_data,
1181 p_srdv_tbl(i),
1182 x_srdv_tbl(i));
1183 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1184 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1185 x_return_status := l_return_status;
1186 raise G_EXCEPTION_HALT_VALIDATION;
1187 ELSE
1188 x_return_status := l_return_status;
1189 END IF;
1190 END IF;
1191 EXIT WHEN (i = p_srdv_tbl.LAST);
1192 i := p_srdv_tbl.NEXT(i);
1193 END LOOP;
1194 END IF;
1195 EXCEPTION
1196 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1197 NULL;
1198 WHEN OTHERS THEN
1199 OKC_API.set_message(p_app_name => g_app_name,
1200 p_msg_name => g_unexpected_error,
1201 p_token1 => g_sqlcode_token,
1202 p_token1_value => sqlcode,
1203 p_token2 => g_sqlerrm_token,
1204 p_token2_value => sqlerrm);
1205 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1206 END create_subclass_rg_defs;
1207
1208 PROCEDURE update_subclass_rg_defs(
1209 p_api_version IN NUMBER,
1210 p_init_msg_list IN VARCHAR2 ,
1211 x_return_status OUT NOCOPY VARCHAR2,
1212 x_msg_count OUT NOCOPY NUMBER,
1213 x_msg_data OUT NOCOPY VARCHAR2,
1214 p_srdv_rec IN srdv_rec_type,
1215 x_srdv_rec OUT NOCOPY srdv_rec_type) IS
1216 l_api_name CONSTANT VARCHAR2(30) := 'update_subclass_rg_defs';
1217 l_return_status VARCHAR2(1);
1218 l_srdv_rec srdv_rec_type := p_srdv_rec;
1219 BEGIN
1220 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1221 p_init_msg_list,
1222 '_PUB',
1223 x_return_status);
1224 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1225 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1226 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1227 raise OKC_API.G_EXCEPTION_ERROR;
1228 END IF;
1229 -- Call user hook for BEFORE
1230 g_srdv_rec := l_srdv_rec;
1231 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1232 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1233 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1234 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1235 raise OKC_API.G_EXCEPTION_ERROR;
1236 END IF;
1237 l_srdv_rec := migrate_srdv(l_srdv_rec, g_srdv_rec);
1238
1239 okc_subclass_pvt.update_subclass_rg_defs(
1240 p_api_version,
1241 p_init_msg_list,
1242 x_return_status,
1243 x_msg_count,
1244 x_msg_data,
1245 l_srdv_rec,
1246 x_srdv_rec);
1247 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1248 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1249 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1250 raise OKC_API.G_EXCEPTION_ERROR;
1251 END IF;
1252
1253 -- Call user hook for AFTER
1254 g_srdv_rec := x_srdv_rec;
1255 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1256 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1257 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1258 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1259 raise OKC_API.G_EXCEPTION_ERROR;
1260 END IF;
1261 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1262 EXCEPTION
1263 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1264 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1265 (l_api_name,
1266 G_PKG_NAME,
1267 'OKC_API.G_RET_STS_ERROR',
1268 x_msg_count,
1269 x_msg_data,
1270 '_PUB');
1271 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1272 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1273 (l_api_name,
1274 G_PKG_NAME,
1275 'OKC_API.G_RET_STS_UNEXP_ERROR',
1276 x_msg_count,
1277 x_msg_data,
1278 '_PUB');
1279 WHEN OTHERS THEN
1280 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1281 (l_api_name,
1282 G_PKG_NAME,
1283 'OTHERS',
1284 x_msg_count,
1285 x_msg_data,
1286 '_PUB');
1287 END update_subclass_rg_defs;
1288
1289 PROCEDURE update_subclass_rg_defs(
1290 p_api_version IN NUMBER,
1291 p_init_msg_list IN VARCHAR2 ,
1292 x_return_status OUT NOCOPY VARCHAR2,
1293 x_msg_count OUT NOCOPY NUMBER,
1294 x_msg_data OUT NOCOPY VARCHAR2,
1295 p_srdv_tbl IN srdv_tbl_type,
1296 x_srdv_tbl OUT NOCOPY srdv_tbl_type) IS
1297 i NUMBER := 0;
1298 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1299 BEGIN
1300 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1301 IF p_srdv_tbl.COUNT > 0 THEN
1302 i := p_srdv_tbl.FIRST;
1303 LOOP
1304 update_subclass_rg_defs(
1305 p_api_version,
1306 p_init_msg_list,
1307 l_return_status,
1308 x_msg_count,
1309 x_msg_data,
1310 p_srdv_tbl(i),
1311 x_srdv_tbl(i));
1312 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1313 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1314 x_return_status := l_return_status;
1315 raise G_EXCEPTION_HALT_VALIDATION;
1316 ELSE
1317 x_return_status := l_return_status;
1318 END IF;
1319 END IF;
1320 EXIT WHEN (i = p_srdv_tbl.LAST);
1321 i := p_srdv_tbl.NEXT(i);
1322 END LOOP;
1323 END IF;
1324 EXCEPTION
1325 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1326 NULL;
1327 WHEN OTHERS THEN
1328 OKC_API.set_message(p_app_name => g_app_name,
1329 p_msg_name => g_unexpected_error,
1330 p_token1 => g_sqlcode_token,
1331 p_token1_value => sqlcode,
1332 p_token2 => g_sqlerrm_token,
1333 p_token2_value => sqlerrm);
1334 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1335 END update_subclass_rg_defs;
1336
1337 PROCEDURE delete_subclass_rg_defs(
1338 p_api_version IN NUMBER,
1339 p_init_msg_list IN VARCHAR2 ,
1340 x_return_status OUT NOCOPY VARCHAR2,
1341 x_msg_count OUT NOCOPY NUMBER,
1342 x_msg_data OUT NOCOPY VARCHAR2,
1343 p_srdv_rec IN srdv_rec_type) IS
1344 l_api_name CONSTANT VARCHAR2(30) := 'delete_subclass_rg_defs';
1345 l_return_status VARCHAR2(1);
1346 l_srdv_rec srdv_rec_type := p_srdv_rec;
1347 BEGIN
1348 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1349 p_init_msg_list,
1350 '_PUB',
1351 x_return_status);
1352 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1353 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1354 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1355 raise OKC_API.G_EXCEPTION_ERROR;
1356 END IF;
1357 -- Call user hook for BEFORE
1358 g_srdv_rec := l_srdv_rec;
1359 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1360 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1361 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1362 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1363 raise OKC_API.G_EXCEPTION_ERROR;
1364 END IF;
1365
1366 okc_subclass_pvt.delete_subclass_rg_defs(
1367 p_api_version,
1368 p_init_msg_list,
1369 x_return_status,
1370 x_msg_count,
1371 x_msg_data,
1372 p_srdv_rec);
1373 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1374 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1375 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1376 raise OKC_API.G_EXCEPTION_ERROR;
1377 END IF;
1378
1379 -- Call user hook for AFTER
1380 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1381 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1382 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1383 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1384 raise OKC_API.G_EXCEPTION_ERROR;
1385 END IF;
1386 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1387 EXCEPTION
1388 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1389 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1390 (l_api_name,
1391 G_PKG_NAME,
1392 'OKC_API.G_RET_STS_ERROR',
1393 x_msg_count,
1394 x_msg_data,
1395 '_PUB');
1396 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1397 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1398 (l_api_name,
1399 G_PKG_NAME,
1400 'OKC_API.G_RET_STS_UNEXP_ERROR',
1401 x_msg_count,
1402 x_msg_data,
1403 '_PUB');
1404 WHEN OTHERS THEN
1405 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1406 (l_api_name,
1407 G_PKG_NAME,
1408 'OTHERS',
1409 x_msg_count,
1410 x_msg_data,
1411 '_PUB');
1412 END delete_subclass_rg_defs;
1413
1414 PROCEDURE delete_subclass_rg_defs(
1415 p_api_version IN NUMBER,
1416 p_init_msg_list IN VARCHAR2 ,
1417 x_return_status OUT NOCOPY VARCHAR2,
1418 x_msg_count OUT NOCOPY NUMBER,
1419 x_msg_data OUT NOCOPY VARCHAR2,
1420 p_srdv_tbl IN srdv_tbl_type) IS
1421 i NUMBER := 0;
1422 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1423 BEGIN
1424 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1425 IF p_srdv_tbl.COUNT > 0 THEN
1426 i := p_srdv_tbl.FIRST;
1427 LOOP
1428 delete_subclass_rg_defs(
1429 p_api_version,
1430 p_init_msg_list,
1431 l_return_status,
1432 x_msg_count,
1433 x_msg_data,
1434 p_srdv_tbl(i));
1435 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1436 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1437 x_return_status := l_return_status;
1438 raise G_EXCEPTION_HALT_VALIDATION;
1439 ELSE
1440 x_return_status := l_return_status;
1441 END IF;
1442 END IF;
1443 EXIT WHEN (i = p_srdv_tbl.LAST);
1444 i := p_srdv_tbl.NEXT(i);
1445 END LOOP;
1446 END IF;
1447 EXCEPTION
1448 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1449 NULL;
1450 WHEN OTHERS THEN
1451 OKC_API.set_message(p_app_name => g_app_name,
1452 p_msg_name => g_unexpected_error,
1453 p_token1 => g_sqlcode_token,
1454 p_token1_value => sqlcode,
1455 p_token2 => g_sqlerrm_token,
1456 p_token2_value => sqlerrm);
1457 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1458 END delete_subclass_rg_defs;
1459
1460 PROCEDURE lock_subclass_rg_defs(
1461 p_api_version IN NUMBER,
1462 p_init_msg_list IN VARCHAR2 ,
1463 x_return_status OUT NOCOPY VARCHAR2,
1464 x_msg_count OUT NOCOPY NUMBER,
1465 x_msg_data OUT NOCOPY VARCHAR2,
1466 p_srdv_rec IN srdv_rec_type) IS
1467 BEGIN
1468 okc_subclass_pvt.lock_subclass_rg_defs(
1469 p_api_version,
1470 p_init_msg_list,
1471 x_return_status,
1472 x_msg_count,
1473 x_msg_data,
1474 p_srdv_rec);
1475 END lock_subclass_rg_defs;
1476
1477 PROCEDURE lock_subclass_rg_defs(
1478 p_api_version IN NUMBER,
1479 p_init_msg_list IN VARCHAR2 ,
1480 x_return_status OUT NOCOPY VARCHAR2,
1481 x_msg_count OUT NOCOPY NUMBER,
1482 x_msg_data OUT NOCOPY VARCHAR2,
1483 p_srdv_tbl IN srdv_tbl_type) IS
1484 BEGIN
1485 okc_subclass_pvt.lock_subclass_rg_defs(
1486 p_api_version,
1487 p_init_msg_list,
1488 x_return_status,
1489 x_msg_count,
1490 x_msg_data,
1491 p_srdv_tbl);
1492 END lock_subclass_rg_defs;
1493
1494 PROCEDURE validate_subclass_rg_defs(
1495 p_api_version IN NUMBER,
1496 p_init_msg_list IN VARCHAR2 ,
1497 x_return_status OUT NOCOPY VARCHAR2,
1498 x_msg_count OUT NOCOPY NUMBER,
1499 x_msg_data OUT NOCOPY VARCHAR2,
1500 p_srdv_rec IN srdv_rec_type) IS
1501 BEGIN
1502 okc_subclass_pvt.validate_subclass_rg_defs(
1503 p_api_version,
1504 p_init_msg_list,
1505 x_return_status,
1506 x_msg_count,
1507 x_msg_data,
1508 p_srdv_rec);
1509 END validate_subclass_rg_defs;
1510
1511 PROCEDURE validate_subclass_rg_defs(
1512 p_api_version IN NUMBER,
1513 p_init_msg_list IN VARCHAR2 ,
1514 x_return_status OUT NOCOPY VARCHAR2,
1515 x_msg_count OUT NOCOPY NUMBER,
1516 x_msg_data OUT NOCOPY VARCHAR2,
1517 p_srdv_tbl IN srdv_tbl_type) IS
1518 BEGIN
1519 okc_subclass_pvt.validate_subclass_rg_defs(
1520 p_api_version,
1521 p_init_msg_list,
1522 x_return_status,
1523 x_msg_count,
1524 x_msg_data,
1525 p_srdv_tbl);
1526 END validate_subclass_rg_defs;
1527
1528 PROCEDURE create_rg_role_defs(
1529 p_api_version IN NUMBER,
1530 p_init_msg_list IN VARCHAR2 ,
1531 x_return_status OUT NOCOPY VARCHAR2,
1532 x_msg_count OUT NOCOPY NUMBER,
1533 x_msg_data OUT NOCOPY VARCHAR2,
1534 p_rrdv_rec IN rrdv_rec_type,
1535 x_rrdv_rec OUT NOCOPY rrdv_rec_type) IS
1536 l_api_name CONSTANT VARCHAR2(30) := 'create_rg_role_defs';
1537 l_return_status VARCHAR2(1);
1538 l_rrdv_rec rrdv_rec_type := p_rrdv_rec;
1539 BEGIN
1540 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1541 p_init_msg_list,
1542 '_PUB',
1543 x_return_status);
1544 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1545 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1546 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1547 raise OKC_API.G_EXCEPTION_ERROR;
1548 END IF;
1549 -- Call user hook for BEFORE
1550 g_rrdv_rec := l_rrdv_rec;
1551 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1552 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1553 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1554 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1555 raise OKC_API.G_EXCEPTION_ERROR;
1556 END IF;
1557 l_rrdv_rec := migrate_rrdv(l_rrdv_rec, g_rrdv_rec);
1558
1559 okc_subclass_pvt.create_rg_role_defs(
1560 p_api_version,
1561 p_init_msg_list,
1562 x_return_status,
1563 x_msg_count,
1564 x_msg_data,
1565 l_rrdv_rec,
1566 x_rrdv_rec);
1567 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1568 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1569 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1570 raise OKC_API.G_EXCEPTION_ERROR;
1571 END IF;
1572
1573 -- Call user hook for AFTER
1574 g_rrdv_rec := x_rrdv_rec;
1575 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1576 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1577 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1578 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1579 raise OKC_API.G_EXCEPTION_ERROR;
1580 END IF;
1581 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1582 EXCEPTION
1583 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1584 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1585 (l_api_name,
1586 G_PKG_NAME,
1587 'OKC_API.G_RET_STS_ERROR',
1588 x_msg_count,
1589 x_msg_data,
1590 '_PUB');
1591 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1592 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1593 (l_api_name,
1594 G_PKG_NAME,
1595 'OKC_API.G_RET_STS_UNEXP_ERROR',
1596 x_msg_count,
1597 x_msg_data,
1598 '_PUB');
1599 WHEN OTHERS THEN
1600 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1601 (l_api_name,
1602 G_PKG_NAME,
1603 'OTHERS',
1604 x_msg_count,
1605 x_msg_data,
1606 '_PUB');
1607 END create_rg_role_defs;
1608
1609 PROCEDURE create_rg_role_defs(
1610 p_api_version IN NUMBER,
1611 p_init_msg_list IN VARCHAR2 ,
1612 x_return_status OUT NOCOPY VARCHAR2,
1613 x_msg_count OUT NOCOPY NUMBER,
1614 x_msg_data OUT NOCOPY VARCHAR2,
1615 p_rrdv_tbl IN rrdv_tbl_type,
1616 x_rrdv_tbl OUT NOCOPY rrdv_tbl_type) IS
1617 i NUMBER := 0;
1618 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1619 BEGIN
1620 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1621 IF p_rrdv_tbl.COUNT > 0 THEN
1622 i := p_rrdv_tbl.FIRST;
1623 LOOP
1624 create_rg_role_defs(
1625 p_api_version,
1626 p_init_msg_list,
1627 l_return_status,
1628 x_msg_count,
1629 x_msg_data,
1630 p_rrdv_tbl(i),
1631 x_rrdv_tbl(i));
1632 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1633 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1634 x_return_status := l_return_status;
1635 raise G_EXCEPTION_HALT_VALIDATION;
1636 ELSE
1637 x_return_status := l_return_status;
1638 END IF;
1639 END IF;
1640 EXIT WHEN (i = p_rrdv_tbl.LAST);
1641 i := p_rrdv_tbl.NEXT(i);
1642 END LOOP;
1643 END IF;
1644 EXCEPTION
1645 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1646 NULL;
1647 WHEN OTHERS THEN
1648 OKC_API.set_message(p_app_name => g_app_name,
1649 p_msg_name => g_unexpected_error,
1650 p_token1 => g_sqlcode_token,
1651 p_token1_value => sqlcode,
1652 p_token2 => g_sqlerrm_token,
1653 p_token2_value => sqlerrm);
1654 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1655 END create_rg_role_defs;
1656
1657 PROCEDURE update_rg_role_defs(
1658 p_api_version IN NUMBER,
1659 p_init_msg_list IN VARCHAR2 ,
1660 x_return_status OUT NOCOPY VARCHAR2,
1661 x_msg_count OUT NOCOPY NUMBER,
1662 x_msg_data OUT NOCOPY VARCHAR2,
1663 p_rrdv_rec IN rrdv_rec_type,
1664 x_rrdv_rec OUT NOCOPY rrdv_rec_type) IS
1665 l_api_name CONSTANT VARCHAR2(30) := 'update_rg_role_defs';
1666 l_return_status VARCHAR2(1);
1667 l_rrdv_rec rrdv_rec_type := p_rrdv_rec;
1668 BEGIN
1669 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1670 p_init_msg_list,
1671 '_PUB',
1672 x_return_status);
1673 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1674 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1675 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1676 raise OKC_API.G_EXCEPTION_ERROR;
1677 END IF;
1678 -- Call user hook for BEFORE
1679 g_rrdv_rec := l_rrdv_rec;
1680 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1681 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1682 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1683 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1684 raise OKC_API.G_EXCEPTION_ERROR;
1685 END IF;
1686 l_rrdv_rec := migrate_rrdv(l_rrdv_rec, g_rrdv_rec);
1687
1688 okc_subclass_pvt.update_rg_role_defs(
1689 p_api_version,
1690 p_init_msg_list,
1691 x_return_status,
1692 x_msg_count,
1693 x_msg_data,
1694 l_rrdv_rec,
1695 x_rrdv_rec);
1696 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1697 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1698 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1699 raise OKC_API.G_EXCEPTION_ERROR;
1700 END IF;
1701
1702 -- Call user hook for AFTER
1703 g_rrdv_rec := x_rrdv_rec;
1704 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1705 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1706 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1707 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1708 raise OKC_API.G_EXCEPTION_ERROR;
1709 END IF;
1710 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1711 EXCEPTION
1712 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1713 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1714 (l_api_name,
1715 G_PKG_NAME,
1716 'OKC_API.G_RET_STS_ERROR',
1717 x_msg_count,
1718 x_msg_data,
1719 '_PUB');
1720 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1721 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1722 (l_api_name,
1723 G_PKG_NAME,
1724 'OKC_API.G_RET_STS_UNEXP_ERROR',
1725 x_msg_count,
1726 x_msg_data,
1727 '_PUB');
1728 WHEN OTHERS THEN
1729 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1730 (l_api_name,
1731 G_PKG_NAME,
1732 'OTHERS',
1733 x_msg_count,
1734 x_msg_data,
1735 '_PUB');
1736 END update_rg_role_defs;
1737
1738 PROCEDURE update_rg_role_defs(
1739 p_api_version IN NUMBER,
1740 p_init_msg_list IN VARCHAR2 ,
1741 x_return_status OUT NOCOPY VARCHAR2,
1742 x_msg_count OUT NOCOPY NUMBER,
1743 x_msg_data OUT NOCOPY VARCHAR2,
1744 p_rrdv_tbl IN rrdv_tbl_type,
1745 x_rrdv_tbl OUT NOCOPY rrdv_tbl_type) IS
1746 i NUMBER := 0;
1747 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1748 BEGIN
1749 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1750 IF p_rrdv_tbl.COUNT > 0 THEN
1751 i := p_rrdv_tbl.FIRST;
1752 LOOP
1753 update_rg_role_defs(
1754 p_api_version,
1755 p_init_msg_list,
1756 l_return_status,
1757 x_msg_count,
1758 x_msg_data,
1759 p_rrdv_tbl(i),
1760 x_rrdv_tbl(i));
1761 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1762 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1763 x_return_status := l_return_status;
1764 raise G_EXCEPTION_HALT_VALIDATION;
1765 ELSE
1766 x_return_status := l_return_status;
1767 END IF;
1768 END IF;
1769 EXIT WHEN (i = p_rrdv_tbl.LAST);
1770 i := p_rrdv_tbl.NEXT(i);
1771 END LOOP;
1772 END IF;
1773 EXCEPTION
1774 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1775 NULL;
1776 WHEN OTHERS THEN
1777 OKC_API.set_message(p_app_name => g_app_name,
1778 p_msg_name => g_unexpected_error,
1779 p_token1 => g_sqlcode_token,
1780 p_token1_value => sqlcode,
1781 p_token2 => g_sqlerrm_token,
1782 p_token2_value => sqlerrm);
1783 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1784 END update_rg_role_defs;
1785
1786 PROCEDURE delete_rg_role_defs(
1787 p_api_version IN NUMBER,
1788 p_init_msg_list IN VARCHAR2 ,
1789 x_return_status OUT NOCOPY VARCHAR2,
1790 x_msg_count OUT NOCOPY NUMBER,
1791 x_msg_data OUT NOCOPY VARCHAR2,
1792 p_rrdv_rec IN rrdv_rec_type) IS
1793 l_api_name CONSTANT VARCHAR2(30) := 'delete_rg_role_defs';
1794 l_return_status VARCHAR2(1);
1795 l_rrdv_rec rrdv_rec_type := p_rrdv_rec;
1796 BEGIN
1797 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1798 p_init_msg_list,
1799 '_PUB',
1800 x_return_status);
1801 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1802 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1803 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1804 raise OKC_API.G_EXCEPTION_ERROR;
1805 END IF;
1806 -- Call user hook for BEFORE
1807 g_rrdv_rec := l_rrdv_rec;
1808 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1809 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1810 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1811 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1812 raise OKC_API.G_EXCEPTION_ERROR;
1813 END IF;
1814
1815 okc_subclass_pvt.delete_rg_role_defs(
1816 p_api_version,
1817 p_init_msg_list,
1818 x_return_status,
1819 x_msg_count,
1820 x_msg_data,
1821 p_rrdv_rec);
1822 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1823 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1824 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1825 raise OKC_API.G_EXCEPTION_ERROR;
1826 END IF;
1827
1828 -- Call user hook for AFTER
1829 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1830 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1831 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1832 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1833 raise OKC_API.G_EXCEPTION_ERROR;
1834 END IF;
1835 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1836 EXCEPTION
1837 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1838 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1839 (l_api_name,
1840 G_PKG_NAME,
1841 'OKC_API.G_RET_STS_ERROR',
1842 x_msg_count,
1843 x_msg_data,
1844 '_PUB');
1845 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1846 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1847 (l_api_name,
1848 G_PKG_NAME,
1849 'OKC_API.G_RET_STS_UNEXP_ERROR',
1850 x_msg_count,
1851 x_msg_data,
1852 '_PUB');
1853 WHEN OTHERS THEN
1854 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1855 (l_api_name,
1856 G_PKG_NAME,
1857 'OTHERS',
1858 x_msg_count,
1859 x_msg_data,
1860 '_PUB');
1861 END delete_rg_role_defs;
1862
1863 PROCEDURE delete_rg_role_defs(
1864 p_api_version IN NUMBER,
1865 p_init_msg_list IN VARCHAR2 ,
1866 x_return_status OUT NOCOPY VARCHAR2,
1867 x_msg_count OUT NOCOPY NUMBER,
1868 x_msg_data OUT NOCOPY VARCHAR2,
1869 p_rrdv_tbl IN rrdv_tbl_type) IS
1870 i NUMBER := 0;
1871 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1872 BEGIN
1873 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1874 IF p_rrdv_tbl.COUNT > 0 THEN
1875 i := p_rrdv_tbl.FIRST;
1876 LOOP
1877 delete_rg_role_defs(
1878 p_api_version,
1879 p_init_msg_list,
1880 l_return_status,
1881 x_msg_count,
1882 x_msg_data,
1883 p_rrdv_tbl(i));
1884 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1885 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1886 x_return_status := l_return_status;
1887 raise G_EXCEPTION_HALT_VALIDATION;
1888 ELSE
1889 x_return_status := l_return_status;
1890 END IF;
1891 END IF;
1892 EXIT WHEN (i = p_rrdv_tbl.LAST);
1893 i := p_rrdv_tbl.NEXT(i);
1894 END LOOP;
1895 END IF;
1896 EXCEPTION
1897 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1898 NULL;
1899 WHEN OTHERS THEN
1900 OKC_API.set_message(p_app_name => g_app_name,
1901 p_msg_name => g_unexpected_error,
1902 p_token1 => g_sqlcode_token,
1903 p_token1_value => sqlcode,
1904 p_token2 => g_sqlerrm_token,
1905 p_token2_value => sqlerrm);
1906 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1907 END delete_rg_role_defs;
1908
1909 PROCEDURE lock_rg_role_defs(
1910 p_api_version IN NUMBER,
1911 p_init_msg_list IN VARCHAR2 ,
1912 x_return_status OUT NOCOPY VARCHAR2,
1913 x_msg_count OUT NOCOPY NUMBER,
1914 x_msg_data OUT NOCOPY VARCHAR2,
1915 p_rrdv_rec IN rrdv_rec_type) IS
1916 BEGIN
1917 okc_subclass_pvt.lock_rg_role_defs(
1918 p_api_version,
1919 p_init_msg_list,
1920 x_return_status,
1921 x_msg_count,
1922 x_msg_data,
1923 p_rrdv_rec);
1924 END lock_rg_role_defs;
1925
1926 PROCEDURE lock_rg_role_defs(
1927 p_api_version IN NUMBER,
1928 p_init_msg_list IN VARCHAR2 ,
1929 x_return_status OUT NOCOPY VARCHAR2,
1930 x_msg_count OUT NOCOPY NUMBER,
1931 x_msg_data OUT NOCOPY VARCHAR2,
1932 p_rrdv_tbl IN rrdv_tbl_type) IS
1933 BEGIN
1934 okc_subclass_pvt.lock_rg_role_defs(
1935 p_api_version,
1936 p_init_msg_list,
1937 x_return_status,
1938 x_msg_count,
1939 x_msg_data,
1940 p_rrdv_tbl);
1941 END lock_rg_role_defs;
1942
1943 PROCEDURE validate_rg_role_defs(
1944 p_api_version IN NUMBER,
1945 p_init_msg_list IN VARCHAR2 ,
1946 x_return_status OUT NOCOPY VARCHAR2,
1947 x_msg_count OUT NOCOPY NUMBER,
1948 x_msg_data OUT NOCOPY VARCHAR2,
1949 p_rrdv_rec IN rrdv_rec_type) IS
1950 BEGIN
1951 okc_subclass_pvt.validate_rg_role_defs(
1952 p_api_version,
1953 p_init_msg_list,
1954 x_return_status,
1955 x_msg_count,
1956 x_msg_data,
1957 p_rrdv_rec);
1958 END validate_rg_role_defs;
1959
1960 PROCEDURE validate_rg_role_defs(
1961 p_api_version IN NUMBER,
1962 p_init_msg_list IN VARCHAR2 ,
1963 x_return_status OUT NOCOPY VARCHAR2,
1964 x_msg_count OUT NOCOPY NUMBER,
1965 x_msg_data OUT NOCOPY VARCHAR2,
1966 p_rrdv_tbl IN rrdv_tbl_type) IS
1967 BEGIN
1968 okc_subclass_pvt.validate_rg_role_defs(
1969 p_api_version,
1970 p_init_msg_list,
1971 x_return_status,
1972 x_msg_count,
1973 x_msg_data,
1974 p_rrdv_tbl);
1975 END validate_rg_role_defs;
1976
1977 PROCEDURE create_subclass_top_line(
1978 p_api_version IN NUMBER,
1979 p_init_msg_list IN VARCHAR2 ,
1980 x_return_status OUT NOCOPY VARCHAR2,
1981 x_msg_count OUT NOCOPY NUMBER,
1982 x_msg_data OUT NOCOPY VARCHAR2,
1983 p_stlv_rec IN stlv_rec_type,
1984 x_stlv_rec OUT NOCOPY stlv_rec_type) IS
1985 l_api_name CONSTANT VARCHAR2(30) := 'create_subclass_top_line';
1986 l_return_status VARCHAR2(1);
1987 l_stlv_rec stlv_rec_type := p_stlv_rec;
1988 BEGIN
1989 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1990 p_init_msg_list,
1991 '_PUB',
1992 x_return_status);
1993 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1994 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1995 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1996 raise OKC_API.G_EXCEPTION_ERROR;
1997 END IF;
1998 -- Call user hook for BEFORE
1999 g_stlv_rec := l_stlv_rec;
2000 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2001 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2002 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2003 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2004 raise OKC_API.G_EXCEPTION_ERROR;
2005 END IF;
2006 l_stlv_rec := migrate_stlv(l_stlv_rec, g_stlv_rec);
2007
2008 okc_subclass_pvt.create_subclass_top_line(
2009 p_api_version,
2010 p_init_msg_list,
2011 x_return_status,
2012 x_msg_count,
2013 x_msg_data,
2014 l_stlv_rec,
2015 x_stlv_rec);
2016 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2017 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2018 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2019 raise OKC_API.G_EXCEPTION_ERROR;
2020 END IF;
2021
2022 -- Call user hook for AFTER
2023 g_stlv_rec := x_stlv_rec;
2024 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2025 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2026 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2027 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2028 raise OKC_API.G_EXCEPTION_ERROR;
2029 END IF;
2030 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2031 EXCEPTION
2032 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2033 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2034 (l_api_name,
2035 G_PKG_NAME,
2036 'OKC_API.G_RET_STS_ERROR',
2037 x_msg_count,
2038 x_msg_data,
2039 '_PUB');
2040 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2041 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2042 (l_api_name,
2043 G_PKG_NAME,
2044 'OKC_API.G_RET_STS_UNEXP_ERROR',
2045 x_msg_count,
2046 x_msg_data,
2047 '_PUB');
2048 WHEN OTHERS THEN
2049 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2050 (l_api_name,
2051 G_PKG_NAME,
2052 'OTHERS',
2053 x_msg_count,
2054 x_msg_data,
2055 '_PUB');
2056 END create_subclass_top_line;
2057
2058 PROCEDURE create_subclass_top_line(
2059 p_api_version IN NUMBER,
2060 p_init_msg_list IN VARCHAR2 ,
2061 x_return_status OUT NOCOPY VARCHAR2,
2062 x_msg_count OUT NOCOPY NUMBER,
2063 x_msg_data OUT NOCOPY VARCHAR2,
2064 p_stlv_tbl IN stlv_tbl_type,
2065 x_stlv_tbl OUT NOCOPY stlv_tbl_type) IS
2066 i NUMBER := 0;
2067 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2068 BEGIN
2069 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2070 IF p_stlv_tbl.COUNT > 0 THEN
2071 i := p_stlv_tbl.FIRST;
2072 LOOP
2073 create_subclass_top_line(
2074 p_api_version,
2075 p_init_msg_list,
2076 l_return_status,
2077 x_msg_count,
2078 x_msg_data,
2079 p_stlv_tbl(i),
2080 x_stlv_tbl(i));
2081 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2082 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2083 x_return_status := l_return_status;
2084 raise G_EXCEPTION_HALT_VALIDATION;
2085 ELSE
2086 x_return_status := l_return_status;
2087 END IF;
2088 END IF;
2089 EXIT WHEN (i = p_stlv_tbl.LAST);
2090 i := p_stlv_tbl.NEXT(i);
2091 END LOOP;
2092 END IF;
2093 EXCEPTION
2094 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2095 NULL;
2096 WHEN OTHERS THEN
2097 OKC_API.set_message(p_app_name => g_app_name,
2098 p_msg_name => g_unexpected_error,
2099 p_token1 => g_sqlcode_token,
2100 p_token1_value => sqlcode,
2101 p_token2 => g_sqlerrm_token,
2102 p_token2_value => sqlerrm);
2103 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2104 END create_subclass_top_line;
2105
2106 PROCEDURE update_subclass_top_line(
2107 p_api_version IN NUMBER,
2108 p_init_msg_list IN VARCHAR2 ,
2109 x_return_status OUT NOCOPY VARCHAR2,
2110 x_msg_count OUT NOCOPY NUMBER,
2111 x_msg_data OUT NOCOPY VARCHAR2,
2112 p_stlv_rec IN stlv_rec_type,
2113 x_stlv_rec OUT NOCOPY stlv_rec_type) IS
2114 l_api_name CONSTANT VARCHAR2(30) := 'update_subclass_top_line';
2115 l_return_status VARCHAR2(1);
2116 l_stlv_rec stlv_rec_type := p_stlv_rec;
2117 BEGIN
2118 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2119 p_init_msg_list,
2120 '_PUB',
2121 x_return_status);
2122 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2123 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2124 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2125 raise OKC_API.G_EXCEPTION_ERROR;
2126 END IF;
2127 -- Call user hook for BEFORE
2128 g_stlv_rec := l_stlv_rec;
2129 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2130 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2131 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2132 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2133 raise OKC_API.G_EXCEPTION_ERROR;
2134 END IF;
2135 l_stlv_rec := migrate_stlv(l_stlv_rec, g_stlv_rec);
2136
2137 okc_subclass_pvt.update_subclass_top_line(
2138 p_api_version,
2139 p_init_msg_list,
2140 x_return_status,
2141 x_msg_count,
2142 x_msg_data,
2143 l_stlv_rec,
2144 x_stlv_rec);
2145 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2146 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2147 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2148 raise OKC_API.G_EXCEPTION_ERROR;
2149 END IF;
2150
2151 -- Call user hook for AFTER
2152 g_stlv_rec := x_stlv_rec;
2153 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2154 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2155 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2156 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2157 raise OKC_API.G_EXCEPTION_ERROR;
2158 END IF;
2159 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2160 EXCEPTION
2161 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2162 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2163 (l_api_name,
2164 G_PKG_NAME,
2165 'OKC_API.G_RET_STS_ERROR',
2166 x_msg_count,
2167 x_msg_data,
2168 '_PUB');
2169 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2170 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2171 (l_api_name,
2172 G_PKG_NAME,
2173 'OKC_API.G_RET_STS_UNEXP_ERROR',
2174 x_msg_count,
2175 x_msg_data,
2176 '_PUB');
2177 WHEN OTHERS THEN
2178 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2179 (l_api_name,
2180 G_PKG_NAME,
2181 'OTHERS',
2182 x_msg_count,
2183 x_msg_data,
2184 '_PUB');
2185 END update_subclass_top_line;
2186
2187 PROCEDURE update_subclass_top_line(
2188 p_api_version IN NUMBER,
2189 p_init_msg_list IN VARCHAR2 ,
2190 x_return_status OUT NOCOPY VARCHAR2,
2191 x_msg_count OUT NOCOPY NUMBER,
2192 x_msg_data OUT NOCOPY VARCHAR2,
2193 p_stlv_tbl IN stlv_tbl_type,
2194 x_stlv_tbl OUT NOCOPY stlv_tbl_type) IS
2195 i NUMBER := 0;
2196 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2197 BEGIN
2198 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2199 IF p_stlv_tbl.COUNT > 0 THEN
2200 i := p_stlv_tbl.FIRST;
2201 LOOP
2202 update_subclass_top_line(
2203 p_api_version,
2204 p_init_msg_list,
2205 l_return_status,
2206 x_msg_count,
2207 x_msg_data,
2208 p_stlv_tbl(i),
2209 x_stlv_tbl(i));
2210 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2211 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2212 x_return_status := l_return_status;
2213 raise G_EXCEPTION_HALT_VALIDATION;
2214 ELSE
2215 x_return_status := l_return_status;
2216 END IF;
2217 END IF;
2218 EXIT WHEN (i = p_stlv_tbl.LAST);
2219 i := p_stlv_tbl.NEXT(i);
2220 END LOOP;
2221 END IF;
2222 EXCEPTION
2223 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2224 NULL;
2225 WHEN OTHERS THEN
2226 OKC_API.set_message(p_app_name => g_app_name,
2227 p_msg_name => g_unexpected_error,
2228 p_token1 => g_sqlcode_token,
2229 p_token1_value => sqlcode,
2230 p_token2 => g_sqlerrm_token,
2231 p_token2_value => sqlerrm);
2232 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2233 END update_subclass_top_line;
2234
2235 PROCEDURE delete_subclass_top_line(
2236 p_api_version IN NUMBER,
2237 p_init_msg_list IN VARCHAR2 ,
2238 x_return_status OUT NOCOPY VARCHAR2,
2239 x_msg_count OUT NOCOPY NUMBER,
2240 x_msg_data OUT NOCOPY VARCHAR2,
2241 p_stlv_rec IN stlv_rec_type) IS
2242 l_api_name CONSTANT VARCHAR2(30) := 'delete_subclass_top_line';
2243 l_return_status VARCHAR2(1);
2244 l_stlv_rec stlv_rec_type := p_stlv_rec;
2245 BEGIN
2246 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2247 p_init_msg_list,
2248 '_PUB',
2249 x_return_status);
2250 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2251 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2252 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2253 raise OKC_API.G_EXCEPTION_ERROR;
2254 END IF;
2255 -- Call user hook for BEFORE
2256 g_stlv_rec := l_stlv_rec;
2257 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2258 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2259 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2260 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2261 raise OKC_API.G_EXCEPTION_ERROR;
2262 END IF;
2263
2264 okc_subclass_pvt.delete_subclass_top_line(
2265 p_api_version,
2266 p_init_msg_list,
2267 x_return_status,
2268 x_msg_count,
2269 x_msg_data,
2270 p_stlv_rec);
2271 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2272 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2273 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2274 raise OKC_API.G_EXCEPTION_ERROR;
2275 END IF;
2276
2277 -- Call user hook for AFTER
2278 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2279 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2280 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2281 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2282 raise OKC_API.G_EXCEPTION_ERROR;
2283 END IF;
2284 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2285 EXCEPTION
2286 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2287 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2288 (l_api_name,
2289 G_PKG_NAME,
2290 'OKC_API.G_RET_STS_ERROR',
2291 x_msg_count,
2292 x_msg_data,
2293 '_PUB');
2294 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2295 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2296 (l_api_name,
2297 G_PKG_NAME,
2298 'OKC_API.G_RET_STS_UNEXP_ERROR',
2299 x_msg_count,
2300 x_msg_data,
2301 '_PUB');
2302 WHEN OTHERS THEN
2303 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2304 (l_api_name,
2305 G_PKG_NAME,
2306 'OTHERS',
2307 x_msg_count,
2308 x_msg_data,
2309 '_PUB');
2310 END delete_subclass_top_line;
2311
2312 PROCEDURE delete_subclass_top_line(
2313 p_api_version IN NUMBER,
2314 p_init_msg_list IN VARCHAR2 ,
2315 x_return_status OUT NOCOPY VARCHAR2,
2316 x_msg_count OUT NOCOPY NUMBER,
2317 x_msg_data OUT NOCOPY VARCHAR2,
2318 p_stlv_tbl IN stlv_tbl_type) IS
2319 i NUMBER := 0;
2320 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2321 BEGIN
2322 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2323 IF p_stlv_tbl.COUNT > 0 THEN
2324 i := p_stlv_tbl.FIRST;
2325 LOOP
2326 delete_subclass_top_line(
2327 p_api_version,
2328 p_init_msg_list,
2329 l_return_status,
2330 x_msg_count,
2331 x_msg_data,
2332 p_stlv_tbl(i));
2333 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2334 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2335 x_return_status := l_return_status;
2336 raise G_EXCEPTION_HALT_VALIDATION;
2337 ELSE
2338 x_return_status := l_return_status;
2339 END IF;
2340 END IF;
2341 EXIT WHEN (i = p_stlv_tbl.LAST);
2342 i := p_stlv_tbl.NEXT(i);
2343 END LOOP;
2344 END IF;
2345 EXCEPTION
2346 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2347 NULL;
2348 WHEN OTHERS THEN
2349 OKC_API.set_message(p_app_name => g_app_name,
2350 p_msg_name => g_unexpected_error,
2351 p_token1 => g_sqlcode_token,
2352 p_token1_value => sqlcode,
2353 p_token2 => g_sqlerrm_token,
2354 p_token2_value => sqlerrm);
2355 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2356 END delete_subclass_top_line;
2357
2358 PROCEDURE lock_subclass_top_line(
2359 p_api_version IN NUMBER,
2360 p_init_msg_list IN VARCHAR2 ,
2361 x_return_status OUT NOCOPY VARCHAR2,
2362 x_msg_count OUT NOCOPY NUMBER,
2363 x_msg_data OUT NOCOPY VARCHAR2,
2364 p_stlv_rec IN stlv_rec_type) IS
2365 BEGIN
2366 okc_subclass_pvt.lock_subclass_top_line(
2367 p_api_version,
2368 p_init_msg_list,
2369 x_return_status,
2370 x_msg_count,
2371 x_msg_data,
2372 p_stlv_rec);
2373 END lock_subclass_top_line;
2374
2375 PROCEDURE lock_subclass_top_line(
2376 p_api_version IN NUMBER,
2377 p_init_msg_list IN VARCHAR2 ,
2378 x_return_status OUT NOCOPY VARCHAR2,
2379 x_msg_count OUT NOCOPY NUMBER,
2380 x_msg_data OUT NOCOPY VARCHAR2,
2381 p_stlv_tbl IN stlv_tbl_type) IS
2382 BEGIN
2383 okc_subclass_pvt.lock_subclass_top_line(
2384 p_api_version,
2385 p_init_msg_list,
2386 x_return_status,
2387 x_msg_count,
2388 x_msg_data,
2389 p_stlv_tbl);
2390 END lock_subclass_top_line;
2391
2392 PROCEDURE validate_subclass_top_line(
2393 p_api_version IN NUMBER,
2394 p_init_msg_list IN VARCHAR2 ,
2395 x_return_status OUT NOCOPY VARCHAR2,
2396 x_msg_count OUT NOCOPY NUMBER,
2397 x_msg_data OUT NOCOPY VARCHAR2,
2398 p_stlv_rec IN stlv_rec_type) IS
2399 BEGIN
2400 okc_subclass_pvt.validate_subclass_top_line(
2401 p_api_version,
2402 p_init_msg_list,
2403 x_return_status,
2404 x_msg_count,
2405 x_msg_data,
2406 p_stlv_rec);
2407 END validate_subclass_top_line;
2408
2409 PROCEDURE validate_subclass_top_line(
2410 p_api_version IN NUMBER,
2411 p_init_msg_list IN VARCHAR2 ,
2412 x_return_status OUT NOCOPY VARCHAR2,
2413 x_msg_count OUT NOCOPY NUMBER,
2414 x_msg_data OUT NOCOPY VARCHAR2,
2415 p_stlv_tbl IN stlv_tbl_type) IS
2416 BEGIN
2417 okc_subclass_pvt.validate_subclass_top_line(
2418 p_api_version,
2419 p_init_msg_list,
2420 x_return_status,
2421 x_msg_count,
2422 x_msg_data,
2423 p_stlv_tbl);
2424 END validate_subclass_top_line;
2425
2426 PROCEDURE create_line_style_roles(
2427 p_api_version IN NUMBER,
2428 p_init_msg_list IN VARCHAR2 ,
2429 x_return_status OUT NOCOPY VARCHAR2,
2430 x_msg_count OUT NOCOPY NUMBER,
2431 x_msg_data OUT NOCOPY VARCHAR2,
2432 p_lsrv_rec IN lsrv_rec_type,
2433 x_lsrv_rec OUT NOCOPY lsrv_rec_type) IS
2434 l_api_name CONSTANT VARCHAR2(30) := 'create_line_style_roles';
2435 l_return_status VARCHAR2(1);
2436 l_lsrv_rec lsrv_rec_type := p_lsrv_rec;
2437 BEGIN
2438 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2439 p_init_msg_list,
2440 '_PUB',
2441 x_return_status);
2442 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2443 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2444 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2445 raise OKC_API.G_EXCEPTION_ERROR;
2446 END IF;
2447 -- Call user hook for BEFORE
2448 g_lsrv_rec := l_lsrv_rec;
2449 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2450 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2451 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2452 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2453 raise OKC_API.G_EXCEPTION_ERROR;
2454 END IF;
2455 l_lsrv_rec := migrate_lsrv(l_lsrv_rec, g_lsrv_rec);
2456
2457 okc_subclass_pvt.create_line_style_roles(
2458 p_api_version,
2459 p_init_msg_list,
2460 x_return_status,
2461 x_msg_count,
2462 x_msg_data,
2463 l_lsrv_rec,
2464 x_lsrv_rec);
2465 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2466 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2467 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2468 raise OKC_API.G_EXCEPTION_ERROR;
2469 END IF;
2470
2471 -- Call user hook for AFTER
2472 g_lsrv_rec := x_lsrv_rec;
2473 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2474 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2475 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2476 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2477 raise OKC_API.G_EXCEPTION_ERROR;
2478 END IF;
2479 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2480 EXCEPTION
2481 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2482 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2483 (l_api_name,
2484 G_PKG_NAME,
2485 'OKC_API.G_RET_STS_ERROR',
2486 x_msg_count,
2487 x_msg_data,
2488 '_PUB');
2489 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2490 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2491 (l_api_name,
2492 G_PKG_NAME,
2493 'OKC_API.G_RET_STS_UNEXP_ERROR',
2494 x_msg_count,
2495 x_msg_data,
2496 '_PUB');
2497 WHEN OTHERS THEN
2498 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2499 (l_api_name,
2500 G_PKG_NAME,
2501 'OTHERS',
2502 x_msg_count,
2503 x_msg_data,
2504 '_PUB');
2505 END create_line_style_roles;
2506
2507 PROCEDURE create_line_style_roles(
2508 p_api_version IN NUMBER,
2509 p_init_msg_list IN VARCHAR2 ,
2510 x_return_status OUT NOCOPY VARCHAR2,
2511 x_msg_count OUT NOCOPY NUMBER,
2512 x_msg_data OUT NOCOPY VARCHAR2,
2513 p_lsrv_tbl IN lsrv_tbl_type,
2514 x_lsrv_tbl OUT NOCOPY lsrv_tbl_type) IS
2515 i NUMBER := 0;
2516 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2517 BEGIN
2518 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2519 IF p_lsrv_tbl.COUNT > 0 THEN
2520 i := p_lsrv_tbl.FIRST;
2521 LOOP
2522 create_line_style_roles(
2523 p_api_version,
2524 p_init_msg_list,
2525 l_return_status,
2526 x_msg_count,
2527 x_msg_data,
2528 p_lsrv_tbl(i),
2529 x_lsrv_tbl(i));
2530 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2531 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2532 x_return_status := l_return_status;
2533 raise G_EXCEPTION_HALT_VALIDATION;
2534 ELSE
2535 x_return_status := l_return_status;
2536 END IF;
2537 END IF;
2538 EXIT WHEN (i = p_lsrv_tbl.LAST);
2539 i := p_lsrv_tbl.NEXT(i);
2540 END LOOP;
2541 END IF;
2542 EXCEPTION
2543 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2544 NULL;
2545 WHEN OTHERS THEN
2546 OKC_API.set_message(p_app_name => g_app_name,
2547 p_msg_name => g_unexpected_error,
2548 p_token1 => g_sqlcode_token,
2549 p_token1_value => sqlcode,
2550 p_token2 => g_sqlerrm_token,
2551 p_token2_value => sqlerrm);
2552 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2553 END create_line_style_roles;
2554
2555 PROCEDURE update_line_style_roles(
2556 p_api_version IN NUMBER,
2557 p_init_msg_list IN VARCHAR2 ,
2558 x_return_status OUT NOCOPY VARCHAR2,
2559 x_msg_count OUT NOCOPY NUMBER,
2560 x_msg_data OUT NOCOPY VARCHAR2,
2561 p_lsrv_rec IN lsrv_rec_type,
2562 x_lsrv_rec OUT NOCOPY lsrv_rec_type) IS
2563 l_api_name CONSTANT VARCHAR2(30) := 'update_line_style_roles';
2564 l_return_status VARCHAR2(1);
2565 l_lsrv_rec lsrv_rec_type := p_lsrv_rec;
2566 BEGIN
2567 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2568 p_init_msg_list,
2569 '_PUB',
2570 x_return_status);
2571 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2572 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2573 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2574 raise OKC_API.G_EXCEPTION_ERROR;
2575 END IF;
2576 -- Call user hook for BEFORE
2577 g_lsrv_rec := l_lsrv_rec;
2578 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2579 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2580 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2581 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2582 raise OKC_API.G_EXCEPTION_ERROR;
2583 END IF;
2584 l_lsrv_rec := migrate_lsrv(l_lsrv_rec, g_lsrv_rec);
2585
2586 okc_subclass_pvt.update_line_style_roles(
2587 p_api_version,
2588 p_init_msg_list,
2589 x_return_status,
2590 x_msg_count,
2591 x_msg_data,
2592 l_lsrv_rec,
2593 x_lsrv_rec);
2594 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2595 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2596 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2597 raise OKC_API.G_EXCEPTION_ERROR;
2598 END IF;
2599
2600 -- Call user hook for AFTER
2601 g_lsrv_rec := x_lsrv_rec;
2602 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2603 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2604 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2605 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2606 raise OKC_API.G_EXCEPTION_ERROR;
2607 END IF;
2608 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2609 EXCEPTION
2610 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2611 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2612 (l_api_name,
2613 G_PKG_NAME,
2614 'OKC_API.G_RET_STS_ERROR',
2615 x_msg_count,
2616 x_msg_data,
2617 '_PUB');
2618 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2619 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2620 (l_api_name,
2621 G_PKG_NAME,
2622 'OKC_API.G_RET_STS_UNEXP_ERROR',
2623 x_msg_count,
2624 x_msg_data,
2625 '_PUB');
2626 WHEN OTHERS THEN
2627 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2628 (l_api_name,
2629 G_PKG_NAME,
2630 'OTHERS',
2631 x_msg_count,
2632 x_msg_data,
2633 '_PUB');
2634 END update_line_style_roles;
2635
2636 PROCEDURE update_line_style_roles(
2637 p_api_version IN NUMBER,
2638 p_init_msg_list IN VARCHAR2 ,
2639 x_return_status OUT NOCOPY VARCHAR2,
2640 x_msg_count OUT NOCOPY NUMBER,
2641 x_msg_data OUT NOCOPY VARCHAR2,
2642 p_lsrv_tbl IN lsrv_tbl_type,
2643 x_lsrv_tbl OUT NOCOPY lsrv_tbl_type) IS
2644 i NUMBER := 0;
2645 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2646 BEGIN
2647 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2648 IF p_lsrv_tbl.COUNT > 0 THEN
2649 i := p_lsrv_tbl.FIRST;
2650 LOOP
2651 update_line_style_roles(
2652 p_api_version,
2653 p_init_msg_list,
2654 l_return_status,
2655 x_msg_count,
2656 x_msg_data,
2657 p_lsrv_tbl(i),
2658 x_lsrv_tbl(i));
2659 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2660 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2661 x_return_status := l_return_status;
2662 raise G_EXCEPTION_HALT_VALIDATION;
2663 ELSE
2664 x_return_status := l_return_status;
2665 END IF;
2666 END IF;
2667 EXIT WHEN (i = p_lsrv_tbl.LAST);
2668 i := p_lsrv_tbl.NEXT(i);
2669 END LOOP;
2670 END IF;
2671 EXCEPTION
2672 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2673 NULL;
2674 WHEN OTHERS THEN
2675 OKC_API.set_message(p_app_name => g_app_name,
2676 p_msg_name => g_unexpected_error,
2677 p_token1 => g_sqlcode_token,
2678 p_token1_value => sqlcode,
2679 p_token2 => g_sqlerrm_token,
2680 p_token2_value => sqlerrm);
2681 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2682 END update_line_style_roles;
2683
2684 PROCEDURE delete_line_style_roles(
2685 p_api_version IN NUMBER,
2686 p_init_msg_list IN VARCHAR2 ,
2687 x_return_status OUT NOCOPY VARCHAR2,
2688 x_msg_count OUT NOCOPY NUMBER,
2689 x_msg_data OUT NOCOPY VARCHAR2,
2690 p_lsrv_rec IN lsrv_rec_type) IS
2691 l_api_name CONSTANT VARCHAR2(30) := 'delete_line_style_roles';
2692 l_return_status VARCHAR2(1);
2693 l_lsrv_rec lsrv_rec_type := p_lsrv_rec;
2694 BEGIN
2695 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2696 p_init_msg_list,
2697 '_PUB',
2698 x_return_status);
2699 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2700 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2701 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2702 raise OKC_API.G_EXCEPTION_ERROR;
2703 END IF;
2704 -- Call user hook for BEFORE
2705 g_lsrv_rec := l_lsrv_rec;
2706 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2707 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2708 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2709 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2710 raise OKC_API.G_EXCEPTION_ERROR;
2711 END IF;
2712
2713 okc_subclass_pvt.delete_line_style_roles(
2714 p_api_version,
2715 p_init_msg_list,
2716 x_return_status,
2717 x_msg_count,
2718 x_msg_data,
2719 p_lsrv_rec);
2720 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2721 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2722 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2723 raise OKC_API.G_EXCEPTION_ERROR;
2724 END IF;
2725
2726 -- Call user hook for AFTER
2727 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2728 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2729 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2730 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2731 raise OKC_API.G_EXCEPTION_ERROR;
2732 END IF;
2733 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2734 EXCEPTION
2735 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2736 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2737 (l_api_name,
2738 G_PKG_NAME,
2739 'OKC_API.G_RET_STS_ERROR',
2740 x_msg_count,
2741 x_msg_data,
2742 '_PUB');
2743 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2744 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2745 (l_api_name,
2746 G_PKG_NAME,
2747 'OKC_API.G_RET_STS_UNEXP_ERROR',
2748 x_msg_count,
2749 x_msg_data,
2750 '_PUB');
2751 WHEN OTHERS THEN
2752 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2753 (l_api_name,
2754 G_PKG_NAME,
2755 'OTHERS',
2756 x_msg_count,
2757 x_msg_data,
2758 '_PUB');
2759 END delete_line_style_roles;
2760
2761 PROCEDURE delete_line_style_roles(
2762 p_api_version IN NUMBER,
2763 p_init_msg_list IN VARCHAR2 ,
2764 x_return_status OUT NOCOPY VARCHAR2,
2765 x_msg_count OUT NOCOPY NUMBER,
2766 x_msg_data OUT NOCOPY VARCHAR2,
2767 p_lsrv_tbl IN lsrv_tbl_type) IS
2768 i NUMBER := 0;
2769 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2770 BEGIN
2771 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2772 IF p_lsrv_tbl.COUNT > 0 THEN
2773 i := p_lsrv_tbl.FIRST;
2774 LOOP
2775 delete_line_style_roles(
2776 p_api_version,
2777 p_init_msg_list,
2778 l_return_status,
2779 x_msg_count,
2780 x_msg_data,
2781 p_lsrv_tbl(i));
2782 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2783 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2784 x_return_status := l_return_status;
2785 raise G_EXCEPTION_HALT_VALIDATION;
2786 ELSE
2787 x_return_status := l_return_status;
2788 END IF;
2789 END IF;
2790 EXIT WHEN (i = p_lsrv_tbl.LAST);
2791 i := p_lsrv_tbl.NEXT(i);
2792 END LOOP;
2793 END IF;
2794 EXCEPTION
2795 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2796 NULL;
2797 WHEN OTHERS THEN
2798 OKC_API.set_message(p_app_name => g_app_name,
2799 p_msg_name => g_unexpected_error,
2800 p_token1 => g_sqlcode_token,
2801 p_token1_value => sqlcode,
2802 p_token2 => g_sqlerrm_token,
2803 p_token2_value => sqlerrm);
2804 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2805 END delete_line_style_roles;
2806
2807 PROCEDURE lock_line_style_roles(
2808 p_api_version IN NUMBER,
2809 p_init_msg_list IN VARCHAR2 ,
2810 x_return_status OUT NOCOPY VARCHAR2,
2811 x_msg_count OUT NOCOPY NUMBER,
2812 x_msg_data OUT NOCOPY VARCHAR2,
2813 p_lsrv_rec IN lsrv_rec_type) IS
2814 BEGIN
2815 okc_subclass_pvt.lock_line_style_roles(
2816 p_api_version,
2817 p_init_msg_list,
2818 x_return_status,
2819 x_msg_count,
2820 x_msg_data,
2821 p_lsrv_rec);
2822 END lock_line_style_roles;
2823
2824 PROCEDURE lock_line_style_roles(
2825 p_api_version IN NUMBER,
2826 p_init_msg_list IN VARCHAR2 ,
2827 x_return_status OUT NOCOPY VARCHAR2,
2828 x_msg_count OUT NOCOPY NUMBER,
2829 x_msg_data OUT NOCOPY VARCHAR2,
2830 p_lsrv_tbl IN lsrv_tbl_type) IS
2831 BEGIN
2832 okc_subclass_pvt.lock_line_style_roles(
2833 p_api_version,
2834 p_init_msg_list,
2835 x_return_status,
2836 x_msg_count,
2837 x_msg_data,
2838 p_lsrv_tbl);
2839 END lock_line_style_roles;
2840
2841 PROCEDURE validate_line_style_roles(
2842 p_api_version IN NUMBER,
2843 p_init_msg_list IN VARCHAR2 ,
2844 x_return_status OUT NOCOPY VARCHAR2,
2845 x_msg_count OUT NOCOPY NUMBER,
2846 x_msg_data OUT NOCOPY VARCHAR2,
2847 p_lsrv_rec IN lsrv_rec_type) IS
2848 BEGIN
2849 okc_subclass_pvt.validate_line_style_roles(
2850 p_api_version,
2851 p_init_msg_list,
2852 x_return_status,
2853 x_msg_count,
2854 x_msg_data,
2855 p_lsrv_rec);
2856 END validate_line_style_roles;
2857
2858 PROCEDURE validate_line_style_roles(
2859 p_api_version IN NUMBER,
2860 p_init_msg_list IN VARCHAR2 ,
2861 x_return_status OUT NOCOPY VARCHAR2,
2862 x_msg_count OUT NOCOPY NUMBER,
2863 x_msg_data OUT NOCOPY VARCHAR2,
2864 p_lsrv_tbl IN lsrv_tbl_type) IS
2865 BEGIN
2866 okc_subclass_pvt.validate_line_style_roles(
2867 p_api_version,
2868 p_init_msg_list,
2869 x_return_status,
2870 x_msg_count,
2871 x_msg_data,
2872 p_lsrv_tbl);
2873 END validate_line_style_roles;
2874
2875 PROCEDURE create_lse_rule_groups(
2876 p_api_version IN NUMBER,
2877 p_init_msg_list IN VARCHAR2 ,
2878 x_return_status OUT NOCOPY VARCHAR2,
2879 x_msg_count OUT NOCOPY NUMBER,
2880 x_msg_data OUT NOCOPY VARCHAR2,
2881 p_lrgv_rec IN lrgv_rec_type,
2882 x_lrgv_rec OUT NOCOPY lrgv_rec_type) IS
2883 l_api_name CONSTANT VARCHAR2(30) := 'create_lse_rule_groups';
2884 l_return_status VARCHAR2(1);
2885 l_lrgv_rec lrgv_rec_type := p_lrgv_rec;
2886 BEGIN
2887 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2888 p_init_msg_list,
2889 '_PUB',
2890 x_return_status);
2891 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2892 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2893 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2894 raise OKC_API.G_EXCEPTION_ERROR;
2895 END IF;
2896 -- Call user hook for BEFORE
2897 g_lrgv_rec := l_lrgv_rec;
2898 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2899 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2900 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2901 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2902 raise OKC_API.G_EXCEPTION_ERROR;
2903 END IF;
2904 l_lrgv_rec := migrate_lrgv(l_lrgv_rec, g_lrgv_rec);
2905
2906 okc_subclass_pvt.create_lse_rule_groups(
2907 p_api_version,
2908 p_init_msg_list,
2909 x_return_status,
2910 x_msg_count,
2911 x_msg_data,
2912 l_lrgv_rec,
2913 x_lrgv_rec);
2914 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2915 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2916 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2917 raise OKC_API.G_EXCEPTION_ERROR;
2918 END IF;
2919
2920 -- Call user hook for AFTER
2921 g_lrgv_rec := x_lrgv_rec;
2922 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2923 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2924 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2925 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2926 raise OKC_API.G_EXCEPTION_ERROR;
2927 END IF;
2928 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2929 EXCEPTION
2930 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2931 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2932 (l_api_name,
2933 G_PKG_NAME,
2934 'OKC_API.G_RET_STS_ERROR',
2935 x_msg_count,
2936 x_msg_data,
2937 '_PUB');
2938 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2939 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2940 (l_api_name,
2941 G_PKG_NAME,
2942 'OKC_API.G_RET_STS_UNEXP_ERROR',
2943 x_msg_count,
2944 x_msg_data,
2945 '_PUB');
2946 WHEN OTHERS THEN
2947 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2948 (l_api_name,
2949 G_PKG_NAME,
2950 'OTHERS',
2951 x_msg_count,
2952 x_msg_data,
2953 '_PUB');
2954 END create_lse_rule_groups;
2955
2956 PROCEDURE create_lse_rule_groups(
2957 p_api_version IN NUMBER,
2958 p_init_msg_list IN VARCHAR2 ,
2959 x_return_status OUT NOCOPY VARCHAR2,
2960 x_msg_count OUT NOCOPY NUMBER,
2961 x_msg_data OUT NOCOPY VARCHAR2,
2962 p_lrgv_tbl IN lrgv_tbl_type,
2963 x_lrgv_tbl OUT NOCOPY lrgv_tbl_type) IS
2964 i NUMBER := 0;
2965 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2966 BEGIN
2967 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2968 IF p_lrgv_tbl.COUNT > 0 THEN
2969 i := p_lrgv_tbl.FIRST;
2970 LOOP
2971 create_lse_rule_groups(
2972 p_api_version,
2973 p_init_msg_list,
2974 l_return_status,
2975 x_msg_count,
2976 x_msg_data,
2977 p_lrgv_tbl(i),
2978 x_lrgv_tbl(i));
2979 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2980 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2981 x_return_status := l_return_status;
2982 raise G_EXCEPTION_HALT_VALIDATION;
2983 ELSE
2984 x_return_status := l_return_status;
2985 END IF;
2986 END IF;
2987 EXIT WHEN (i = p_lrgv_tbl.LAST);
2988 i := p_lrgv_tbl.NEXT(i);
2989 END LOOP;
2990 END IF;
2991 EXCEPTION
2992 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2993 NULL;
2994 WHEN OTHERS THEN
2995 OKC_API.set_message(p_app_name => g_app_name,
2996 p_msg_name => g_unexpected_error,
2997 p_token1 => g_sqlcode_token,
2998 p_token1_value => sqlcode,
2999 p_token2 => g_sqlerrm_token,
3000 p_token2_value => sqlerrm);
3001 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3002 END create_lse_rule_groups;
3003
3004 PROCEDURE update_lse_rule_groups(
3005 p_api_version IN NUMBER,
3006 p_init_msg_list IN VARCHAR2 ,
3007 x_return_status OUT NOCOPY VARCHAR2,
3008 x_msg_count OUT NOCOPY NUMBER,
3009 x_msg_data OUT NOCOPY VARCHAR2,
3010 p_lrgv_rec IN lrgv_rec_type,
3011 x_lrgv_rec OUT NOCOPY lrgv_rec_type) IS
3012 l_api_name CONSTANT VARCHAR2(30) := 'update_lse_rule_groups';
3013 l_return_status VARCHAR2(1);
3014 l_lrgv_rec lrgv_rec_type := p_lrgv_rec;
3015 BEGIN
3016 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3017 p_init_msg_list,
3018 '_PUB',
3019 x_return_status);
3020 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3021 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3022 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3023 raise OKC_API.G_EXCEPTION_ERROR;
3024 END IF;
3025 -- Call user hook for BEFORE
3026 g_lrgv_rec := l_lrgv_rec;
3027 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3028 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3029 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3030 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3031 raise OKC_API.G_EXCEPTION_ERROR;
3032 END IF;
3033 l_lrgv_rec := migrate_lrgv(l_lrgv_rec, g_lrgv_rec);
3034
3035 okc_subclass_pvt.update_lse_rule_groups(
3036 p_api_version,
3037 p_init_msg_list,
3038 x_return_status,
3039 x_msg_count,
3040 x_msg_data,
3041 l_lrgv_rec,
3042 x_lrgv_rec);
3043 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3044 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3045 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3046 raise OKC_API.G_EXCEPTION_ERROR;
3047 END IF;
3048
3049 -- Call user hook for AFTER
3050 g_lrgv_rec := x_lrgv_rec;
3051 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3052 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3053 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3054 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3055 raise OKC_API.G_EXCEPTION_ERROR;
3056 END IF;
3057 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3058 EXCEPTION
3059 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3060 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3061 (l_api_name,
3062 G_PKG_NAME,
3063 'OKC_API.G_RET_STS_ERROR',
3064 x_msg_count,
3065 x_msg_data,
3066 '_PUB');
3067 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3068 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3069 (l_api_name,
3070 G_PKG_NAME,
3071 'OKC_API.G_RET_STS_UNEXP_ERROR',
3072 x_msg_count,
3073 x_msg_data,
3074 '_PUB');
3075 WHEN OTHERS THEN
3076 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3077 (l_api_name,
3078 G_PKG_NAME,
3079 'OTHERS',
3080 x_msg_count,
3081 x_msg_data,
3082 '_PUB');
3083 END update_lse_rule_groups;
3084
3085 PROCEDURE update_lse_rule_groups(
3086 p_api_version IN NUMBER,
3087 p_init_msg_list IN VARCHAR2 ,
3088 x_return_status OUT NOCOPY VARCHAR2,
3089 x_msg_count OUT NOCOPY NUMBER,
3090 x_msg_data OUT NOCOPY VARCHAR2,
3091 p_lrgv_tbl IN lrgv_tbl_type,
3092 x_lrgv_tbl OUT NOCOPY lrgv_tbl_type) IS
3093 i NUMBER := 0;
3094 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3095 BEGIN
3096 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3097 IF p_lrgv_tbl.COUNT > 0 THEN
3098 i := p_lrgv_tbl.FIRST;
3099 LOOP
3100 update_lse_rule_groups(
3101 p_api_version,
3102 p_init_msg_list,
3103 l_return_status,
3104 x_msg_count,
3105 x_msg_data,
3106 p_lrgv_tbl(i),
3107 x_lrgv_tbl(i));
3108 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3109 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3110 x_return_status := l_return_status;
3111 raise G_EXCEPTION_HALT_VALIDATION;
3112 ELSE
3113 x_return_status := l_return_status;
3114 END IF;
3115 END IF;
3116 EXIT WHEN (i = p_lrgv_tbl.LAST);
3117 i := p_lrgv_tbl.NEXT(i);
3118 END LOOP;
3119 END IF;
3120 EXCEPTION
3121 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3122 NULL;
3123 WHEN OTHERS THEN
3124 OKC_API.set_message(p_app_name => g_app_name,
3125 p_msg_name => g_unexpected_error,
3126 p_token1 => g_sqlcode_token,
3127 p_token1_value => sqlcode,
3128 p_token2 => g_sqlerrm_token,
3129 p_token2_value => sqlerrm);
3130 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3131 END update_lse_rule_groups;
3132
3133 PROCEDURE delete_lse_rule_groups(
3134 p_api_version IN NUMBER,
3135 p_init_msg_list IN VARCHAR2 ,
3136 x_return_status OUT NOCOPY VARCHAR2,
3137 x_msg_count OUT NOCOPY NUMBER,
3138 x_msg_data OUT NOCOPY VARCHAR2,
3139 p_lrgv_rec IN lrgv_rec_type) IS
3140 l_api_name CONSTANT VARCHAR2(30) := 'delete_lse_rule_groups';
3141 l_return_status VARCHAR2(1);
3142 l_lrgv_rec lrgv_rec_type := p_lrgv_rec;
3143 BEGIN
3144 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3145 p_init_msg_list,
3146 '_PUB',
3147 x_return_status);
3148 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3149 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3150 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3151 raise OKC_API.G_EXCEPTION_ERROR;
3152 END IF;
3153 -- Call user hook for BEFORE
3154 g_lrgv_rec := l_lrgv_rec;
3155 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3156 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3157 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3158 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3159 raise OKC_API.G_EXCEPTION_ERROR;
3160 END IF;
3161
3162 okc_subclass_pvt.delete_lse_rule_groups(
3163 p_api_version,
3164 p_init_msg_list,
3165 x_return_status,
3166 x_msg_count,
3167 x_msg_data,
3168 p_lrgv_rec);
3169 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3170 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3171 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3172 raise OKC_API.G_EXCEPTION_ERROR;
3173 END IF;
3174
3175 -- Call user hook for AFTER
3176 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3177 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3178 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3179 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3180 raise OKC_API.G_EXCEPTION_ERROR;
3181 END IF;
3182 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3183 EXCEPTION
3184 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3185 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3186 (l_api_name,
3187 G_PKG_NAME,
3188 'OKC_API.G_RET_STS_ERROR',
3189 x_msg_count,
3190 x_msg_data,
3191 '_PUB');
3192 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3193 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3194 (l_api_name,
3195 G_PKG_NAME,
3196 'OKC_API.G_RET_STS_UNEXP_ERROR',
3197 x_msg_count,
3198 x_msg_data,
3199 '_PUB');
3200 WHEN OTHERS THEN
3201 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3202 (l_api_name,
3203 G_PKG_NAME,
3204 'OTHERS',
3205 x_msg_count,
3206 x_msg_data,
3207 '_PUB');
3208 END delete_lse_rule_groups;
3209
3210 PROCEDURE delete_lse_rule_groups(
3211 p_api_version IN NUMBER,
3212 p_init_msg_list IN VARCHAR2 ,
3213 x_return_status OUT NOCOPY VARCHAR2,
3214 x_msg_count OUT NOCOPY NUMBER,
3215 x_msg_data OUT NOCOPY VARCHAR2,
3216 p_lrgv_tbl IN lrgv_tbl_type) IS
3217 i NUMBER := 0;
3218 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3219 BEGIN
3220 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3221 IF p_lrgv_tbl.COUNT > 0 THEN
3222 i := p_lrgv_tbl.FIRST;
3223 LOOP
3224 delete_lse_rule_groups(
3225 p_api_version,
3226 p_init_msg_list,
3227 l_return_status,
3228 x_msg_count,
3229 x_msg_data,
3230 p_lrgv_tbl(i));
3231 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3232 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3233 x_return_status := l_return_status;
3234 raise G_EXCEPTION_HALT_VALIDATION;
3235 ELSE
3236 x_return_status := l_return_status;
3237 END IF;
3238 END IF;
3239 EXIT WHEN (i = p_lrgv_tbl.LAST);
3240 i := p_lrgv_tbl.NEXT(i);
3241 END LOOP;
3242 END IF;
3243 EXCEPTION
3244 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3245 NULL;
3246 WHEN OTHERS THEN
3247 OKC_API.set_message(p_app_name => g_app_name,
3248 p_msg_name => g_unexpected_error,
3249 p_token1 => g_sqlcode_token,
3250 p_token1_value => sqlcode,
3251 p_token2 => g_sqlerrm_token,
3252 p_token2_value => sqlerrm);
3253 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3254 END delete_lse_rule_groups;
3255
3256 PROCEDURE lock_lse_rule_groups(
3257 p_api_version IN NUMBER,
3258 p_init_msg_list IN VARCHAR2 ,
3259 x_return_status OUT NOCOPY VARCHAR2,
3260 x_msg_count OUT NOCOPY NUMBER,
3261 x_msg_data OUT NOCOPY VARCHAR2,
3262 p_lrgv_rec IN lrgv_rec_type) IS
3263 BEGIN
3264 okc_subclass_pvt.lock_lse_rule_groups(
3265 p_api_version,
3266 p_init_msg_list,
3267 x_return_status,
3268 x_msg_count,
3269 x_msg_data,
3270 p_lrgv_rec);
3271 END lock_lse_rule_groups;
3272
3273 PROCEDURE lock_lse_rule_groups(
3274 p_api_version IN NUMBER,
3275 p_init_msg_list IN VARCHAR2 ,
3276 x_return_status OUT NOCOPY VARCHAR2,
3277 x_msg_count OUT NOCOPY NUMBER,
3278 x_msg_data OUT NOCOPY VARCHAR2,
3279 p_lrgv_tbl IN lrgv_tbl_type) IS
3280 BEGIN
3281 okc_subclass_pvt.lock_lse_rule_groups(
3282 p_api_version,
3283 p_init_msg_list,
3284 x_return_status,
3285 x_msg_count,
3286 x_msg_data,
3287 p_lrgv_tbl);
3288 END lock_lse_rule_groups;
3289
3290 PROCEDURE validate_lse_rule_groups(
3291 p_api_version IN NUMBER,
3292 p_init_msg_list IN VARCHAR2 ,
3293 x_return_status OUT NOCOPY VARCHAR2,
3294 x_msg_count OUT NOCOPY NUMBER,
3295 x_msg_data OUT NOCOPY VARCHAR2,
3296 p_lrgv_rec IN lrgv_rec_type) IS
3297 BEGIN
3298 okc_subclass_pvt.validate_lse_rule_groups(
3299 p_api_version,
3300 p_init_msg_list,
3301 x_return_status,
3302 x_msg_count,
3303 x_msg_data,
3304 p_lrgv_rec);
3305 END validate_lse_rule_groups;
3306
3307 PROCEDURE validate_lse_rule_groups(
3308 p_api_version IN NUMBER,
3309 p_init_msg_list IN VARCHAR2 ,
3310 x_return_status OUT NOCOPY VARCHAR2,
3311 x_msg_count OUT NOCOPY NUMBER,
3312 x_msg_data OUT NOCOPY VARCHAR2,
3313 p_lrgv_tbl IN lrgv_tbl_type) IS
3314 BEGIN
3315 okc_subclass_pvt.validate_lse_rule_groups(
3316 p_api_version,
3317 p_init_msg_list,
3318 x_return_status,
3319 x_msg_count,
3320 x_msg_data,
3321 p_lrgv_tbl);
3322 END validate_lse_rule_groups;
3323
3324 PROCEDURE create_subclass_resps(
3325 p_api_version IN NUMBER,
3326 p_init_msg_list IN VARCHAR2 ,
3327 x_return_status OUT NOCOPY VARCHAR2,
3328 x_msg_count OUT NOCOPY NUMBER,
3329 x_msg_data OUT NOCOPY VARCHAR2,
3330 p_srav_rec IN srav_rec_type,
3331 x_srav_rec OUT NOCOPY srav_rec_type) IS
3332 l_api_name CONSTANT VARCHAR2(30) := 'create_subclass_resps';
3333 l_return_status VARCHAR2(1);
3334 l_srav_rec srav_rec_type := p_srav_rec;
3335 BEGIN
3336 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3337 p_init_msg_list,
3338 '_PUB',
3339 x_return_status);
3340 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3341 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3342 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3343 raise OKC_API.G_EXCEPTION_ERROR;
3344 END IF;
3345 -- Call user hook for BEFORE
3346 g_srav_rec := l_srav_rec;
3347 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3348 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3349 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3350 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3351 raise OKC_API.G_EXCEPTION_ERROR;
3352 END IF;
3353 l_srav_rec := migrate_srav(l_srav_rec, g_srav_rec);
3354
3355 okc_subclass_pvt.create_subclass_resps(
3356 p_api_version,
3357 p_init_msg_list,
3358 x_return_status,
3359 x_msg_count,
3360 x_msg_data,
3361 l_srav_rec,
3362 x_srav_rec);
3363 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3364 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3365 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3366 raise OKC_API.G_EXCEPTION_ERROR;
3367 END IF;
3368
3369 -- Call user hook for AFTER
3370 g_srav_rec := x_srav_rec;
3371 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3372 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3373 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3374 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3375 raise OKC_API.G_EXCEPTION_ERROR;
3376 END IF;
3377 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3378 EXCEPTION
3379 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3380 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3381 (l_api_name,
3382 G_PKG_NAME,
3383 'OKC_API.G_RET_STS_ERROR',
3384 x_msg_count,
3385 x_msg_data,
3386 '_PUB');
3387 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3388 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3389 (l_api_name,
3390 G_PKG_NAME,
3391 'OKC_API.G_RET_STS_UNEXP_ERROR',
3392 x_msg_count,
3393 x_msg_data,
3394 '_PUB');
3395 WHEN OTHERS THEN
3396 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3397 (l_api_name,
3398 G_PKG_NAME,
3399 'OTHERS',
3400 x_msg_count,
3401 x_msg_data,
3402 '_PUB');
3403 END create_subclass_resps;
3404
3405 PROCEDURE create_subclass_resps(
3406 p_api_version IN NUMBER,
3407 p_init_msg_list IN VARCHAR2 ,
3408 x_return_status OUT NOCOPY VARCHAR2,
3409 x_msg_count OUT NOCOPY NUMBER,
3410 x_msg_data OUT NOCOPY VARCHAR2,
3411 p_srav_tbl IN srav_tbl_type,
3412 x_srav_tbl OUT NOCOPY srav_tbl_type) IS
3413 i NUMBER := 0;
3414 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3415 BEGIN
3416 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3417 IF p_srav_tbl.COUNT > 0 THEN
3418 i := p_srav_tbl.FIRST;
3419 LOOP
3420 create_subclass_resps(
3421 p_api_version,
3422 p_init_msg_list,
3423 l_return_status,
3424 x_msg_count,
3425 x_msg_data,
3426 p_srav_tbl(i),
3427 x_srav_tbl(i));
3428 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3429 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3430 x_return_status := l_return_status;
3431 raise G_EXCEPTION_HALT_VALIDATION;
3432 ELSE
3433 x_return_status := l_return_status;
3434 END IF;
3435 END IF;
3436 EXIT WHEN (i = p_srav_tbl.LAST);
3437 i := p_srav_tbl.NEXT(i);
3438 END LOOP;
3439 END IF;
3440 EXCEPTION
3441 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3442 NULL;
3443 WHEN OTHERS THEN
3444 OKC_API.set_message(p_app_name => g_app_name,
3445 p_msg_name => g_unexpected_error,
3446 p_token1 => g_sqlcode_token,
3447 p_token1_value => sqlcode,
3448 p_token2 => g_sqlerrm_token,
3449 p_token2_value => sqlerrm);
3450 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3451 END create_subclass_resps;
3452
3453 PROCEDURE update_subclass_resps(
3454 p_api_version IN NUMBER,
3455 p_init_msg_list IN VARCHAR2 ,
3456 x_return_status OUT NOCOPY VARCHAR2,
3457 x_msg_count OUT NOCOPY NUMBER,
3458 x_msg_data OUT NOCOPY VARCHAR2,
3459 p_srav_rec IN srav_rec_type,
3460 x_srav_rec OUT NOCOPY srav_rec_type) IS
3461 l_api_name CONSTANT VARCHAR2(30) := 'update_subclass_resps';
3462 l_return_status VARCHAR2(1);
3463 l_srav_rec srav_rec_type := p_srav_rec;
3464 BEGIN
3465 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3466 p_init_msg_list,
3467 '_PUB',
3468 x_return_status);
3469 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3470 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3471 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3472 raise OKC_API.G_EXCEPTION_ERROR;
3473 END IF;
3474 -- Call user hook for BEFORE
3475 g_srav_rec := l_srav_rec;
3476 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3477 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3478 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3479 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3480 raise OKC_API.G_EXCEPTION_ERROR;
3481 END IF;
3482 l_srav_rec := migrate_srav(l_srav_rec, g_srav_rec);
3483
3484 okc_subclass_pvt.update_subclass_resps(
3485 p_api_version,
3486 p_init_msg_list,
3487 x_return_status,
3488 x_msg_count,
3489 x_msg_data,
3490 l_srav_rec,
3491 x_srav_rec);
3492 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3493 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3494 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3495 raise OKC_API.G_EXCEPTION_ERROR;
3496 END IF;
3497
3498 -- Call user hook for AFTER
3499 g_srav_rec := x_srav_rec;
3500 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3501 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3502 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3503 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3504 raise OKC_API.G_EXCEPTION_ERROR;
3505 END IF;
3506 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3507 EXCEPTION
3508 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3509 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3510 (l_api_name,
3511 G_PKG_NAME,
3512 'OKC_API.G_RET_STS_ERROR',
3513 x_msg_count,
3514 x_msg_data,
3515 '_PUB');
3516 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3517 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3518 (l_api_name,
3519 G_PKG_NAME,
3520 'OKC_API.G_RET_STS_UNEXP_ERROR',
3521 x_msg_count,
3522 x_msg_data,
3523 '_PUB');
3524 WHEN OTHERS THEN
3525 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3526 (l_api_name,
3527 G_PKG_NAME,
3528 'OTHERS',
3529 x_msg_count,
3530 x_msg_data,
3531 '_PUB');
3532 END update_subclass_resps;
3533
3534 PROCEDURE update_subclass_resps(
3535 p_api_version IN NUMBER,
3536 p_init_msg_list IN VARCHAR2 ,
3537 x_return_status OUT NOCOPY VARCHAR2,
3538 x_msg_count OUT NOCOPY NUMBER,
3539 x_msg_data OUT NOCOPY VARCHAR2,
3540 p_srav_tbl IN srav_tbl_type,
3541 x_srav_tbl OUT NOCOPY srav_tbl_type) IS
3542 i NUMBER := 0;
3543 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3544 BEGIN
3545 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3546 IF p_srav_tbl.COUNT > 0 THEN
3547 i := p_srav_tbl.FIRST;
3548 LOOP
3549 update_subclass_resps(
3550 p_api_version,
3551 p_init_msg_list,
3552 l_return_status,
3553 x_msg_count,
3554 x_msg_data,
3555 p_srav_tbl(i),
3556 x_srav_tbl(i));
3557 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3558 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3559 x_return_status := l_return_status;
3560 raise G_EXCEPTION_HALT_VALIDATION;
3561 ELSE
3562 x_return_status := l_return_status;
3563 END IF;
3564 END IF;
3565 EXIT WHEN (i = p_srav_tbl.LAST);
3566 i := p_srav_tbl.NEXT(i);
3567 END LOOP;
3568 END IF;
3569 EXCEPTION
3570 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3571 NULL;
3572 WHEN OTHERS THEN
3573 OKC_API.set_message(p_app_name => g_app_name,
3574 p_msg_name => g_unexpected_error,
3575 p_token1 => g_sqlcode_token,
3576 p_token1_value => sqlcode,
3577 p_token2 => g_sqlerrm_token,
3578 p_token2_value => sqlerrm);
3579 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3580 END update_subclass_resps;
3581
3582 PROCEDURE delete_subclass_resps(
3583 p_api_version IN NUMBER,
3584 p_init_msg_list IN VARCHAR2 ,
3585 x_return_status OUT NOCOPY VARCHAR2,
3586 x_msg_count OUT NOCOPY NUMBER,
3587 x_msg_data OUT NOCOPY VARCHAR2,
3588 p_srav_rec IN srav_rec_type) IS
3589 l_api_name CONSTANT VARCHAR2(30) := 'delete_subclass_resps';
3590 l_return_status VARCHAR2(1);
3591 l_srav_rec srav_rec_type := p_srav_rec;
3592 BEGIN
3593 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3594 p_init_msg_list,
3595 '_PUB',
3596 x_return_status);
3597 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3598 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3599 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3600 raise OKC_API.G_EXCEPTION_ERROR;
3601 END IF;
3602 -- Call user hook for BEFORE
3603 g_srav_rec := l_srav_rec;
3604 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3605 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3606 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3607 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3608 raise OKC_API.G_EXCEPTION_ERROR;
3609 END IF;
3610
3611 okc_subclass_pvt.delete_subclass_resps(
3612 p_api_version,
3613 p_init_msg_list,
3614 x_return_status,
3615 x_msg_count,
3616 x_msg_data,
3617 p_srav_rec);
3618 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3619 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3620 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3621 raise OKC_API.G_EXCEPTION_ERROR;
3622 END IF;
3623
3624 -- Call user hook for AFTER
3625 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3626 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3627 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3628 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3629 raise OKC_API.G_EXCEPTION_ERROR;
3630 END IF;
3631 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3632 EXCEPTION
3633 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3634 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3635 (l_api_name,
3636 G_PKG_NAME,
3637 'OKC_API.G_RET_STS_ERROR',
3638 x_msg_count,
3639 x_msg_data,
3640 '_PUB');
3641 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3642 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3643 (l_api_name,
3644 G_PKG_NAME,
3645 'OKC_API.G_RET_STS_UNEXP_ERROR',
3646 x_msg_count,
3647 x_msg_data,
3648 '_PUB');
3649 WHEN OTHERS THEN
3650 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3651 (l_api_name,
3652 G_PKG_NAME,
3653 'OTHERS',
3654 x_msg_count,
3655 x_msg_data,
3656 '_PUB');
3657 END delete_subclass_resps;
3658
3659 PROCEDURE delete_subclass_resps(
3660 p_api_version IN NUMBER,
3661 p_init_msg_list IN VARCHAR2 ,
3662 x_return_status OUT NOCOPY VARCHAR2,
3663 x_msg_count OUT NOCOPY NUMBER,
3664 x_msg_data OUT NOCOPY VARCHAR2,
3665 p_srav_tbl IN srav_tbl_type) IS
3666 i NUMBER := 0;
3667 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3668 BEGIN
3669 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3670 IF p_srav_tbl.COUNT > 0 THEN
3671 i := p_srav_tbl.FIRST;
3672 LOOP
3673 delete_subclass_resps(
3674 p_api_version,
3675 p_init_msg_list,
3676 l_return_status,
3677 x_msg_count,
3678 x_msg_data,
3679 p_srav_tbl(i));
3680 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3681 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3682 x_return_status := l_return_status;
3683 raise G_EXCEPTION_HALT_VALIDATION;
3684 ELSE
3685 x_return_status := l_return_status;
3686 END IF;
3687 END IF;
3688 EXIT WHEN (i = p_srav_tbl.LAST);
3689 i := p_srav_tbl.NEXT(i);
3690 END LOOP;
3691 END IF;
3692 EXCEPTION
3693 WHEN G_EXCEPTION_HALT_VALIDATION THEN
3694 NULL;
3695 WHEN OTHERS THEN
3696 OKC_API.set_message(p_app_name => g_app_name,
3697 p_msg_name => g_unexpected_error,
3698 p_token1 => g_sqlcode_token,
3699 p_token1_value => sqlcode,
3700 p_token2 => g_sqlerrm_token,
3701 p_token2_value => sqlerrm);
3702 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3703 END delete_subclass_resps;
3704
3705 PROCEDURE lock_subclass_resps(
3706 p_api_version IN NUMBER,
3707 p_init_msg_list IN VARCHAR2 ,
3708 x_return_status OUT NOCOPY VARCHAR2,
3709 x_msg_count OUT NOCOPY NUMBER,
3710 x_msg_data OUT NOCOPY VARCHAR2,
3711 p_srav_rec IN srav_rec_type) IS
3712 BEGIN
3713 okc_subclass_pvt.lock_subclass_resps(
3714 p_api_version,
3715 p_init_msg_list,
3716 x_return_status,
3717 x_msg_count,
3718 x_msg_data,
3719 p_srav_rec);
3720 END lock_subclass_resps;
3721
3722 PROCEDURE lock_subclass_resps(
3723 p_api_version IN NUMBER,
3724 p_init_msg_list IN VARCHAR2 ,
3725 x_return_status OUT NOCOPY VARCHAR2,
3726 x_msg_count OUT NOCOPY NUMBER,
3727 x_msg_data OUT NOCOPY VARCHAR2,
3728 p_srav_tbl IN srav_tbl_type) IS
3729 BEGIN
3730 okc_subclass_pvt.lock_subclass_resps(
3731 p_api_version,
3732 p_init_msg_list,
3733 x_return_status,
3734 x_msg_count,
3735 x_msg_data,
3736 p_srav_tbl);
3737 END lock_subclass_resps;
3738
3739 PROCEDURE validate_subclass_resps(
3740 p_api_version IN NUMBER,
3741 p_init_msg_list IN VARCHAR2 ,
3742 x_return_status OUT NOCOPY VARCHAR2,
3743 x_msg_count OUT NOCOPY NUMBER,
3744 x_msg_data OUT NOCOPY VARCHAR2,
3745 p_srav_rec IN srav_rec_type) IS
3746 BEGIN
3747 okc_subclass_pvt.validate_subclass_resps(
3748 p_api_version,
3749 p_init_msg_list,
3750 x_return_status,
3751 x_msg_count,
3752 x_msg_data,
3753 p_srav_rec);
3754 END validate_subclass_resps;
3755
3756 PROCEDURE validate_subclass_resps(
3757 p_api_version IN NUMBER,
3758 p_init_msg_list IN VARCHAR2 ,
3759 x_return_status OUT NOCOPY VARCHAR2,
3760 x_msg_count OUT NOCOPY NUMBER,
3761 x_msg_data OUT NOCOPY VARCHAR2,
3762 p_srav_tbl IN srav_tbl_type) IS
3763 BEGIN
3764 okc_subclass_pvt.validate_subclass_resps(
3765 p_api_version,
3766 p_init_msg_list,
3767 x_return_status,
3768 x_msg_count,
3769 x_msg_data,
3770 p_srav_tbl);
3771 END validate_subclass_resps;
3772
3773 PROCEDURE copy_category(
3774 p_api_version IN NUMBER,
3775 p_init_msg_list IN VARCHAR2 ,
3776 x_return_status OUT NOCOPY VARCHAR2,
3777 x_msg_count OUT NOCOPY NUMBER,
3778 x_msg_data OUT NOCOPY VARCHAR2,
3779 p_copy_from_scs_code IN VARCHAR2,
3780 p_new_scs_name IN VARCHAR2,
3781 p_new_scs_desc IN VARCHAR2,
3782 x_scsv_rec OUT NOCOPY scsv_rec_type ) IS
3783
3784 l_api_name CONSTANT VARCHAR2(30) := 'copy_category';
3785 l_return_status VARCHAR2(1);
3786
3787 BEGIN
3788
3789 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3790 p_init_msg_list,
3791 '_PUB',
3792 x_return_status);
3793
3794 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3795 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3796 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3797 raise OKC_API.G_EXCEPTION_ERROR;
3798 END IF;
3799
3800 -- Call user hook for BEFORE
3801
3802 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3803
3804 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3805 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3806 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3807 raise OKC_API.G_EXCEPTION_ERROR;
3808 END IF;
3809
3810
3811 okc_subclass_pvt.copy_category(
3812 p_api_version,
3813 p_init_msg_list,
3814 x_return_status,
3815 x_msg_count,
3816 x_msg_data,
3817 p_copy_from_scs_code,
3818 p_new_scs_name,
3819 p_new_scs_desc,
3820 x_scsv_rec);
3821
3822 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3823 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3824 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3825 raise OKC_API.G_EXCEPTION_ERROR;
3826 END IF;
3827
3828 -- Call user hook for AFTER
3829
3830 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3831
3832 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3833 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3834 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3835 raise OKC_API.G_EXCEPTION_ERROR;
3836 END IF;
3837
3838 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3839
3840 EXCEPTION
3841 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3842 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3843 (l_api_name,
3844 G_PKG_NAME,
3845 'OKC_API.G_RET_STS_ERROR',
3846 x_msg_count,
3847 x_msg_data,
3848 '_PUB');
3849
3850 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3851 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3852 (l_api_name,
3853 G_PKG_NAME,
3854 'OKC_API.G_RET_STS_UNEXP_ERROR',
3855 x_msg_count,
3856 x_msg_data,
3857 '_PUB');
3858
3859 WHEN OTHERS THEN
3860 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3861 (l_api_name,
3862 G_PKG_NAME,
3863 'OTHERS',
3864 x_msg_count,
3865 x_msg_data,
3866 '_PUB');
3867 END copy_category;
3868 END okc_subclass_pub;