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