[Home] [Help]
PACKAGE BODY: APPS.OKC_CONTRACT_GROUP_PUB
Source
1 package body okc_contract_group_pub as
2 /* $Header: OKCPCGPB.pls 120.0 2005/05/25 18:57:50 appldev noship $ */
3 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
4
5 FUNCTION migrate_cgpv(p_cgpv_rec1 IN cgpv_rec_type,
6 p_cgpv_rec2 IN cgpv_rec_type)
7 RETURN cgpv_rec_type IS
8 l_cgpv_rec cgpv_rec_type;
9 BEGIN
10 l_cgpv_rec.id := p_cgpv_rec1.id;
11 l_cgpv_rec.object_version_number := p_cgpv_rec1.object_version_number;
12 l_cgpv_rec.created_by := p_cgpv_rec1.created_by;
13 l_cgpv_rec.creation_date := p_cgpv_rec1.creation_date;
14 l_cgpv_rec.last_updated_by := p_cgpv_rec1.last_updated_by;
15 l_cgpv_rec.last_update_date := p_cgpv_rec1.last_update_date;
16 l_cgpv_rec.user_id := p_cgpv_rec1.user_id;
17 l_cgpv_rec.last_update_login := p_cgpv_rec1.last_update_login;
18 l_cgpv_rec.sfwt_flag := p_cgpv_rec2.sfwt_flag;
19 l_cgpv_rec.name := p_cgpv_rec2.name;
20 l_cgpv_rec.public_yn := p_cgpv_rec2.public_yn;
21 l_cgpv_rec.short_description := p_cgpv_rec2.short_description;
22 l_cgpv_rec.attribute_category := p_cgpv_rec2.attribute_category;
23 l_cgpv_rec.attribute1 := p_cgpv_rec2.attribute1;
24 l_cgpv_rec.attribute2 := p_cgpv_rec2.attribute2;
25 l_cgpv_rec.attribute3 := p_cgpv_rec2.attribute3;
26 l_cgpv_rec.attribute4 := p_cgpv_rec2.attribute4;
27 l_cgpv_rec.attribute5 := p_cgpv_rec2.attribute5;
28 l_cgpv_rec.attribute6 := p_cgpv_rec2.attribute6;
29 l_cgpv_rec.attribute7 := p_cgpv_rec2.attribute7;
30 l_cgpv_rec.attribute8 := p_cgpv_rec2.attribute8;
31 l_cgpv_rec.attribute9 := p_cgpv_rec2.attribute9;
32 l_cgpv_rec.attribute10 := p_cgpv_rec2.attribute10;
33 l_cgpv_rec.attribute11 := p_cgpv_rec2.attribute11;
34 l_cgpv_rec.attribute12 := p_cgpv_rec2.attribute12;
35 l_cgpv_rec.attribute13 := p_cgpv_rec2.attribute13;
36 l_cgpv_rec.attribute14 := p_cgpv_rec2.attribute14;
37 l_cgpv_rec.attribute15 := p_cgpv_rec2.attribute15;
38 RETURN (l_cgpv_rec);
39 END migrate_cgpv;
40
41 FUNCTION migrate_cgpv(p_cgpv_tbl1 IN cgpv_tbl_type,
42 p_cgpv_tbl2 IN cgpv_tbl_type)
43 RETURN cgpv_tbl_type IS
44 l_cgpv_tbl cgpv_tbl_type;
45 i NUMBER := 0;
46 j NUMBER := 0;
47 BEGIN
48 -- If the user hook deleted some records or added some new records in the table,
49 -- discard the change and simply copy the original table.
50 IF p_cgpv_tbl1.COUNT <> p_cgpv_tbl2.COUNT THEN
51 l_cgpv_tbl := p_cgpv_tbl1;
52 ELSE
53 IF (p_cgpv_tbl1.COUNT > 0) THEN
54 i := p_cgpv_tbl1.FIRST;
55 j := p_cgpv_tbl2.FIRST;
56 LOOP
57 l_cgpv_tbl(i) := migrate_cgpv(p_cgpv_tbl1(i), p_cgpv_tbl2(j));
58 EXIT WHEN (i = p_cgpv_tbl1.LAST);
59 i := p_cgpv_tbl1.NEXT(i);
60 j := p_cgpv_tbl2.NEXT(j);
61 END LOOP;
62 END IF;
63 END IF;
64 RETURN (l_cgpv_tbl);
65 END migrate_cgpv;
66
67 FUNCTION migrate_cgcv(p_cgcv_rec1 IN cgcv_rec_type,
68 p_cgcv_rec2 IN cgcv_rec_type)
69 RETURN cgcv_rec_type IS
70 l_cgcv_rec cgcv_rec_type;
71 BEGIN
72 l_cgcv_rec.id := p_cgcv_rec1.id;
73 l_cgcv_rec.object_version_number := p_cgcv_rec1.object_version_number;
74 l_cgcv_rec.created_by := p_cgcv_rec1.created_by;
75 l_cgcv_rec.creation_date := p_cgcv_rec1.creation_date;
76 l_cgcv_rec.last_updated_by := p_cgcv_rec1.last_updated_by;
77 l_cgcv_rec.last_update_date := p_cgcv_rec1.last_update_date;
78 l_cgcv_rec.last_update_login := p_cgcv_rec1.last_update_login;
79 l_cgcv_rec.cgp_parent_id := p_cgcv_rec2.cgp_parent_id;
80 l_cgcv_rec.included_chr_id := p_cgcv_rec2.included_chr_id;
81 l_cgcv_rec.included_cgp_id := p_cgcv_rec2.included_cgp_id;
82 l_cgcv_rec.scs_code := p_cgcv_rec2.scs_code;
83 RETURN (l_cgcv_rec);
84 END migrate_cgcv;
85
86 FUNCTION migrate_cgcv(p_cgcv_tbl1 IN cgcv_tbl_type,
87 p_cgcv_tbl2 IN cgcv_tbl_type)
88 RETURN cgcv_tbl_type IS
89 l_cgcv_tbl cgcv_tbl_type;
90 i NUMBER := 0;
91 j NUMBER := 0;
92 BEGIN
93 IF p_cgcv_tbl1.COUNT <> p_cgcv_tbl2.COUNT THEN
94 l_cgcv_tbl := p_cgcv_tbl1;
95 ELSE
96 IF (p_cgcv_tbl1.COUNT > 0) THEN
97 i := p_cgcv_tbl1.FIRST;
98 j := p_cgcv_tbl2.FIRST;
99 LOOP
100 l_cgcv_tbl(i) := migrate_cgcv(p_cgcv_tbl1(i), p_cgcv_tbl2(j));
101 EXIT WHEN (i = p_cgcv_tbl1.LAST);
102 i := p_cgcv_tbl1.NEXT(i);
103 j := p_cgcv_tbl2.NEXT(j);
104 END LOOP;
105 END IF;
106 END IF;
107 RETURN (l_cgcv_tbl);
108 END migrate_cgcv;
109
110 PROCEDURE add_language IS
111 BEGIN
112 okc_contract_group_pvt.add_language;
113 END;
114
115 PROCEDURE create_ctr_group(
116 p_api_version IN NUMBER,
117 p_init_msg_list IN VARCHAR2 ,
118 x_return_status OUT NOCOPY VARCHAR2,
119 x_msg_count OUT NOCOPY NUMBER,
120 x_msg_data OUT NOCOPY VARCHAR2,
121 p_cgpv_rec IN cgpv_rec_type,
122 x_cgpv_rec OUT NOCOPY cgpv_rec_type,
123 p_cgcv_tbl IN cgcv_tbl_type,
124 x_cgcv_tbl OUT NOCOPY cgcv_tbl_type) IS
125 BEGIN
126 okc_contract_group_pvt.create_ctr_group(
127 p_api_version,
128 p_init_msg_list,
129 x_return_status,
130 x_msg_count,
131 x_msg_data,
132 p_cgpv_rec,
133 x_cgpv_rec,
134 p_cgcv_tbl,
135 x_cgcv_tbl);
136 END create_ctr_group;
137
138 PROCEDURE update_ctr_group(
139 p_api_version IN NUMBER,
140 p_init_msg_list IN VARCHAR2 ,
141 x_return_status OUT NOCOPY VARCHAR2,
142 x_msg_count OUT NOCOPY NUMBER,
143 x_msg_data OUT NOCOPY VARCHAR2,
144 p_cgpv_rec IN cgpv_rec_type,
145 x_cgpv_rec OUT NOCOPY cgpv_rec_type,
146 p_cgcv_tbl IN cgcv_tbl_type,
147 x_cgcv_tbl OUT NOCOPY cgcv_tbl_type) IS
148 BEGIN
149 okc_contract_group_pvt.update_ctr_group(
150 p_api_version,
151 p_init_msg_list,
152 x_return_status,
153 x_msg_count,
154 x_msg_data,
155 p_cgpv_rec,
156 x_cgpv_rec,
157 p_cgcv_tbl,
158 x_cgcv_tbl);
159 END update_ctr_group;
160
161 PROCEDURE validate_ctr_group(
162 p_api_version IN NUMBER,
163 p_init_msg_list IN VARCHAR2 ,
164 x_return_status OUT NOCOPY VARCHAR2,
165 x_msg_count OUT NOCOPY NUMBER,
166 x_msg_data OUT NOCOPY VARCHAR2,
167 p_cgpv_rec IN cgpv_rec_type,
168 p_cgcv_tbl IN cgcv_tbl_type) IS
169 BEGIN
170 okc_contract_group_pvt.validate_ctr_group(
171 p_api_version,
172 p_init_msg_list,
173 x_return_status,
174 x_msg_count,
175 x_msg_data,
176 p_cgpv_rec,
177 p_cgcv_tbl);
178 END validate_ctr_group;
179
180 PROCEDURE create_contract_group(
181 p_api_version IN NUMBER,
182 p_init_msg_list IN VARCHAR2 ,
183 x_return_status OUT NOCOPY VARCHAR2,
184 x_msg_count OUT NOCOPY NUMBER,
185 x_msg_data OUT NOCOPY VARCHAR2,
186 p_cgpv_rec IN cgpv_rec_type,
187 x_cgpv_rec OUT NOCOPY cgpv_rec_type) IS
188 l_api_name CONSTANT VARCHAR2(30) := 'create_contract_group';
189 l_return_status VARCHAR2(1);
190 l_cgpv_rec cgpv_rec_type := p_cgpv_rec;
191 BEGIN
192 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
193 p_init_msg_list,
194 '_PUB',
195 x_return_status);
196 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
197 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
198 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
199 raise OKC_API.G_EXCEPTION_ERROR;
200 END IF;
201 -- Call user hook for BEFORE
202 g_cgpv_rec := l_cgpv_rec;
203 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
204 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
205 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
206 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
207 raise OKC_API.G_EXCEPTION_ERROR;
208 END IF;
209 l_cgpv_rec := migrate_cgpv(l_cgpv_rec, g_cgpv_rec);
210
211 okc_contract_group_pvt.create_contract_group(
212 p_api_version,
213 p_init_msg_list,
214 x_return_status,
215 x_msg_count,
216 x_msg_data,
217 l_cgpv_rec,
218 x_cgpv_rec);
219 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
220 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
221 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
222 raise OKC_API.G_EXCEPTION_ERROR;
223 END IF;
224
225 -- Call user hook for AFTER
226 g_cgpv_rec := x_cgpv_rec;
227 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
228 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
229 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
230 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
231 raise OKC_API.G_EXCEPTION_ERROR;
232 END IF;
233 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
234 EXCEPTION
235 WHEN OKC_API.G_EXCEPTION_ERROR THEN
236 x_return_status := OKC_API.HANDLE_EXCEPTIONS
237 (l_api_name,
238 G_PKG_NAME,
239 'OKC_API.G_RET_STS_ERROR',
240 x_msg_count,
241 x_msg_data,
242 '_PUB');
243 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
244 x_return_status := OKC_API.HANDLE_EXCEPTIONS
245 (l_api_name,
246 G_PKG_NAME,
247 'OKC_API.G_RET_STS_UNEXP_ERROR',
248 x_msg_count,
249 x_msg_data,
250 '_PUB');
251 WHEN OTHERS THEN
252 x_return_status := OKC_API.HANDLE_EXCEPTIONS
253 (l_api_name,
254 G_PKG_NAME,
255 'OTHERS',
256 x_msg_count,
257 x_msg_data,
258 '_PUB');
259 END create_contract_group;
260
261 PROCEDURE create_contract_group(
262 p_api_version IN NUMBER,
263 p_init_msg_list IN VARCHAR2 ,
264 x_return_status OUT NOCOPY VARCHAR2,
265 x_msg_count OUT NOCOPY NUMBER,
266 x_msg_data OUT NOCOPY VARCHAR2,
267 p_cgpv_tbl IN cgpv_tbl_type,
268 x_cgpv_tbl OUT NOCOPY cgpv_tbl_type) IS
269 i NUMBER := 0;
270 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
271 BEGIN
272 x_return_status := OKC_API.G_RET_STS_SUCCESS;
273 IF p_cgpv_tbl.COUNT > 0 THEN
274 i := p_cgpv_tbl.FIRST;
275 LOOP
276 create_contract_group(
277 p_api_version,
278 p_init_msg_list,
279 l_return_status,
280 x_msg_count,
281 x_msg_data,
282 p_cgpv_tbl(i),
283 x_cgpv_tbl(i));
284 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
285 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
286 x_return_status := l_return_status;
287 raise G_EXCEPTION_HALT_VALIDATION;
288 ELSE
289 x_return_status := l_return_status;
290 END IF;
291 END IF;
292 EXIT WHEN (i = p_cgpv_tbl.LAST);
293 i := p_cgpv_tbl.NEXT(i);
294 END LOOP;
295 END IF;
296 EXCEPTION
297 WHEN G_EXCEPTION_HALT_VALIDATION THEN
298 NULL;
299 WHEN OTHERS THEN
300 OKC_API.set_message(p_app_name => g_app_name,
301 p_msg_name => g_unexpected_error,
302 p_token1 => g_sqlcode_token,
303 p_token1_value => sqlcode,
304 p_token2 => g_sqlerrm_token,
305 p_token2_value => sqlerrm);
306 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
307 END create_contract_group;
308
309 PROCEDURE update_contract_group(
310 p_api_version IN NUMBER,
311 p_init_msg_list IN VARCHAR2 ,
312 x_return_status OUT NOCOPY VARCHAR2,
313 x_msg_count OUT NOCOPY NUMBER,
314 x_msg_data OUT NOCOPY VARCHAR2,
315 p_cgpv_rec IN cgpv_rec_type,
316 x_cgpv_rec OUT NOCOPY cgpv_rec_type) IS
317 l_api_name CONSTANT VARCHAR2(30) := 'update_contract_group';
318 l_return_status VARCHAR2(1);
319 l_cgpv_rec cgpv_rec_type := p_cgpv_rec;
320 BEGIN
321 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
322 p_init_msg_list,
323 '_PUB',
324 x_return_status);
325 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
326 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
327 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
328 raise OKC_API.G_EXCEPTION_ERROR;
329 END IF;
330 -- Call user hook for BEFORE
331 g_cgpv_rec := l_cgpv_rec;
332 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
333 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
334 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
335 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
336 raise OKC_API.G_EXCEPTION_ERROR;
337 END IF;
338 l_cgpv_rec := migrate_cgpv(l_cgpv_rec, g_cgpv_rec);
339
340 okc_contract_group_pvt.update_contract_group(
341 p_api_version,
342 p_init_msg_list,
343 x_return_status,
344 x_msg_count,
345 x_msg_data,
346 l_cgpv_rec,
347 x_cgpv_rec);
348 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
349 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
350 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
351 raise OKC_API.G_EXCEPTION_ERROR;
352 END IF;
353
354 -- Call user hook for AFTER
355 g_cgpv_rec := x_cgpv_rec;
356 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
357 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
358 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
359 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
360 raise OKC_API.G_EXCEPTION_ERROR;
361 END IF;
362 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
363 EXCEPTION
364 WHEN OKC_API.G_EXCEPTION_ERROR THEN
365 x_return_status := OKC_API.HANDLE_EXCEPTIONS
366 (l_api_name,
367 G_PKG_NAME,
368 'OKC_API.G_RET_STS_ERROR',
369 x_msg_count,
370 x_msg_data,
371 '_PUB');
372 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
373 x_return_status := OKC_API.HANDLE_EXCEPTIONS
374 (l_api_name,
375 G_PKG_NAME,
376 'OKC_API.G_RET_STS_UNEXP_ERROR',
377 x_msg_count,
378 x_msg_data,
379 '_PUB');
380 WHEN OTHERS THEN
381 x_return_status := OKC_API.HANDLE_EXCEPTIONS
382 (l_api_name,
383 G_PKG_NAME,
384 'OTHERS',
385 x_msg_count,
386 x_msg_data,
387 '_PUB');
388 END update_contract_group;
389
390 PROCEDURE update_contract_group(
391 p_api_version IN NUMBER,
392 p_init_msg_list IN VARCHAR2 ,
393 x_return_status OUT NOCOPY VARCHAR2,
394 x_msg_count OUT NOCOPY NUMBER,
395 x_msg_data OUT NOCOPY VARCHAR2,
396 p_cgpv_tbl IN cgpv_tbl_type,
397 x_cgpv_tbl OUT NOCOPY cgpv_tbl_type) IS
398 i NUMBER := 0;
399 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
400 BEGIN
401 x_return_status := OKC_API.G_RET_STS_SUCCESS;
402 IF p_cgpv_tbl.COUNT > 0 THEN
403 i := p_cgpv_tbl.FIRST;
404 LOOP
405 update_contract_group(
406 p_api_version,
407 p_init_msg_list,
408 l_return_status,
409 x_msg_count,
410 x_msg_data,
411 p_cgpv_tbl(i),
412 x_cgpv_tbl(i));
413 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
414 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
415 x_return_status := l_return_status;
416 raise G_EXCEPTION_HALT_VALIDATION;
417 ELSE
418 x_return_status := l_return_status;
419 END IF;
420 END IF;
421 EXIT WHEN (i = p_cgpv_tbl.LAST);
422 i := p_cgpv_tbl.NEXT(i);
423 END LOOP;
424 END IF;
425 EXCEPTION
426 WHEN G_EXCEPTION_HALT_VALIDATION THEN
427 NULL;
428 WHEN OTHERS THEN
429 OKC_API.set_message(p_app_name => g_app_name,
430 p_msg_name => g_unexpected_error,
431 p_token1 => g_sqlcode_token,
432 p_token1_value => sqlcode,
433 p_token2 => g_sqlerrm_token,
434 p_token2_value => sqlerrm);
435 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
436 END update_contract_group;
437
438 PROCEDURE delete_contract_group(
439 p_api_version IN NUMBER,
440 p_init_msg_list IN VARCHAR2 ,
441 x_return_status OUT NOCOPY VARCHAR2,
442 x_msg_count OUT NOCOPY NUMBER,
443 x_msg_data OUT NOCOPY VARCHAR2,
444 p_cgpv_rec IN cgpv_rec_type) IS
445 l_api_name CONSTANT VARCHAR2(30) := 'delete_contract_group';
446 l_return_status VARCHAR2(1);
447 l_cgpv_rec cgpv_rec_type := p_cgpv_rec;
448 BEGIN
449 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
450 p_init_msg_list,
451 '_PUB',
452 x_return_status);
453 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
454 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
455 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
456 raise OKC_API.G_EXCEPTION_ERROR;
457 END IF;
458 -- Call user hook for BEFORE
459 g_cgpv_rec := l_cgpv_rec;
460 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
461 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
462 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
463 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
464 raise OKC_API.G_EXCEPTION_ERROR;
465 END IF;
466
467 okc_contract_group_pvt.delete_contract_group(
468 p_api_version,
469 p_init_msg_list,
470 x_return_status,
471 x_msg_count,
472 x_msg_data,
473 p_cgpv_rec);
474 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
475 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
476 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
477 raise OKC_API.G_EXCEPTION_ERROR;
478 END IF;
479
480 -- Call user hook for AFTER
481 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
482 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
483 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
484 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
485 raise OKC_API.G_EXCEPTION_ERROR;
486 END IF;
487 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
488 EXCEPTION
489 WHEN OKC_API.G_EXCEPTION_ERROR THEN
490 x_return_status := OKC_API.HANDLE_EXCEPTIONS
491 (l_api_name,
492 G_PKG_NAME,
493 'OKC_API.G_RET_STS_ERROR',
494 x_msg_count,
495 x_msg_data,
496 '_PUB');
497 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
498 x_return_status := OKC_API.HANDLE_EXCEPTIONS
499 (l_api_name,
500 G_PKG_NAME,
501 'OKC_API.G_RET_STS_UNEXP_ERROR',
502 x_msg_count,
503 x_msg_data,
504 '_PUB');
505 WHEN OTHERS THEN
506 x_return_status := OKC_API.HANDLE_EXCEPTIONS
507 (l_api_name,
508 G_PKG_NAME,
509 'OTHERS',
510 x_msg_count,
511 x_msg_data,
512 '_PUB');
513 END delete_contract_group;
514
515 PROCEDURE delete_contract_group(
516 p_api_version IN NUMBER,
517 p_init_msg_list IN VARCHAR2 ,
518 x_return_status OUT NOCOPY VARCHAR2,
519 x_msg_count OUT NOCOPY NUMBER,
520 x_msg_data OUT NOCOPY VARCHAR2,
521 p_cgpv_tbl IN cgpv_tbl_type) IS
522 i NUMBER := 0;
523 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
524 BEGIN
525 x_return_status := OKC_API.G_RET_STS_SUCCESS;
526 IF p_cgpv_tbl.COUNT > 0 THEN
527 i := p_cgpv_tbl.FIRST;
528 LOOP
529 delete_contract_group(
530 p_api_version,
531 p_init_msg_list,
532 l_return_status,
533 x_msg_count,
534 x_msg_data,
535 p_cgpv_tbl(i));
536 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
537 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
538 x_return_status := l_return_status;
539 raise G_EXCEPTION_HALT_VALIDATION;
540 ELSE
541 x_return_status := l_return_status;
542 END IF;
543 END IF;
544 EXIT WHEN (i = p_cgpv_tbl.LAST);
545 i := p_cgpv_tbl.NEXT(i);
546 END LOOP;
547 END IF;
548 EXCEPTION
549 WHEN G_EXCEPTION_HALT_VALIDATION THEN
550 NULL;
551 WHEN OTHERS THEN
552 OKC_API.set_message(p_app_name => g_app_name,
553 p_msg_name => g_unexpected_error,
554 p_token1 => g_sqlcode_token,
555 p_token1_value => sqlcode,
556 p_token2 => g_sqlerrm_token,
557 p_token2_value => sqlerrm);
558 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
559 END delete_contract_group;
560
561 PROCEDURE lock_contract_group(
562 p_api_version IN NUMBER,
563 p_init_msg_list IN VARCHAR2 ,
564 x_return_status OUT NOCOPY VARCHAR2,
565 x_msg_count OUT NOCOPY NUMBER,
566 x_msg_data OUT NOCOPY VARCHAR2,
567 p_cgpv_rec IN cgpv_rec_type) IS
568 BEGIN
569 okc_contract_group_pvt.lock_contract_group(
570 p_api_version,
571 p_init_msg_list,
572 x_return_status,
573 x_msg_count,
574 x_msg_data,
575 p_cgpv_rec);
576 END lock_contract_group;
577
578 PROCEDURE lock_contract_group(
579 p_api_version IN NUMBER,
580 p_init_msg_list IN VARCHAR2 ,
581 x_return_status OUT NOCOPY VARCHAR2,
582 x_msg_count OUT NOCOPY NUMBER,
583 x_msg_data OUT NOCOPY VARCHAR2,
584 p_cgpv_tbl IN cgpv_tbl_type) IS
585 i NUMBER := 0;
586 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
587 BEGIN
588 x_return_status := OKC_API.G_RET_STS_SUCCESS;
589 IF p_cgpv_tbl.COUNT > 0 THEN
590 i := p_cgpv_tbl.FIRST;
591 LOOP
592 lock_contract_group(
593 p_api_version,
594 p_init_msg_list,
595 l_return_status,
596 x_msg_count,
597 x_msg_data,
598 p_cgpv_tbl(i));
599 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
600 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
601 x_return_status := l_return_status;
602 raise G_EXCEPTION_HALT_VALIDATION;
603 ELSE
604 x_return_status := l_return_status;
605 END IF;
606 END IF;
607 EXIT WHEN (i = p_cgpv_tbl.LAST);
608 i := p_cgpv_tbl.NEXT(i);
609 END LOOP;
610 END IF;
611 EXCEPTION
612 WHEN G_EXCEPTION_HALT_VALIDATION THEN
613 NULL;
614 WHEN OTHERS THEN
615 OKC_API.set_message(p_app_name => g_app_name,
616 p_msg_name => g_unexpected_error,
617 p_token1 => g_sqlcode_token,
618 p_token1_value => sqlcode,
619 p_token2 => g_sqlerrm_token,
620 p_token2_value => sqlerrm);
621 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
622 END lock_contract_group;
623
624 PROCEDURE validate_contract_group(
625 p_api_version IN NUMBER,
626 p_init_msg_list IN VARCHAR2 ,
627 x_return_status OUT NOCOPY VARCHAR2,
628 x_msg_count OUT NOCOPY NUMBER,
629 x_msg_data OUT NOCOPY VARCHAR2,
630 p_cgpv_rec IN cgpv_rec_type) IS
631 l_api_name CONSTANT VARCHAR2(30) := 'validate_contract_group';
632 l_return_status VARCHAR2(1);
633 l_cgpv_rec cgpv_rec_type := p_cgpv_rec;
634 BEGIN
635 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
636 p_init_msg_list,
637 '_PUB',
638 x_return_status);
639 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
640 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
641 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
642 raise OKC_API.G_EXCEPTION_ERROR;
643 END IF;
644 -- Call user hook for BEFORE
645 g_cgpv_rec := l_cgpv_rec;
646 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
647 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
648 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
649 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
650 raise OKC_API.G_EXCEPTION_ERROR;
651 END IF;
652
653 okc_contract_group_pvt.validate_contract_group(
654 p_api_version,
655 p_init_msg_list,
656 x_return_status,
657 x_msg_count,
658 x_msg_data,
659 p_cgpv_rec);
660 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
661 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
662 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
663 raise OKC_API.G_EXCEPTION_ERROR;
664 END IF;
665
666 -- Call user hook for AFTER
667 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
668 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
669 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
670 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
671 raise OKC_API.G_EXCEPTION_ERROR;
672 END IF;
673 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
674 EXCEPTION
675 WHEN OKC_API.G_EXCEPTION_ERROR THEN
676 x_return_status := OKC_API.HANDLE_EXCEPTIONS
677 (l_api_name,
678 G_PKG_NAME,
679 'OKC_API.G_RET_STS_ERROR',
680 x_msg_count,
681 x_msg_data,
682 '_PUB');
683 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
684 x_return_status := OKC_API.HANDLE_EXCEPTIONS
685 (l_api_name,
686 G_PKG_NAME,
687 'OKC_API.G_RET_STS_UNEXP_ERROR',
688 x_msg_count,
689 x_msg_data,
690 '_PUB');
691 WHEN OTHERS THEN
692 x_return_status := OKC_API.HANDLE_EXCEPTIONS
693 (l_api_name,
694 G_PKG_NAME,
695 'OTHERS',
696 x_msg_count,
697 x_msg_data,
698 '_PUB');
699 END validate_contract_group;
700
701 PROCEDURE validate_contract_group(
702 p_api_version IN NUMBER,
703 p_init_msg_list IN VARCHAR2 ,
704 x_return_status OUT NOCOPY VARCHAR2,
705 x_msg_count OUT NOCOPY NUMBER,
706 x_msg_data OUT NOCOPY VARCHAR2,
707 p_cgpv_tbl IN cgpv_tbl_type) IS
708 i NUMBER := 0;
709 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
710 BEGIN
711 x_return_status := OKC_API.G_RET_STS_SUCCESS;
712 IF p_cgpv_tbl.COUNT > 0 THEN
713 i := p_cgpv_tbl.FIRST;
714 LOOP
715 validate_contract_group(
716 p_api_version,
717 p_init_msg_list,
718 l_return_status,
719 x_msg_count,
720 x_msg_data,
721 p_cgpv_tbl(i));
722 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
723 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
724 x_return_status := l_return_status;
725 raise G_EXCEPTION_HALT_VALIDATION;
726 ELSE
727 x_return_status := l_return_status;
728 END IF;
729 END IF;
730 EXIT WHEN (i = p_cgpv_tbl.LAST);
731 i := p_cgpv_tbl.NEXT(i);
732 END LOOP;
733 END IF;
734 EXCEPTION
735 WHEN G_EXCEPTION_HALT_VALIDATION THEN
736 NULL;
737 WHEN OTHERS THEN
738 OKC_API.set_message(p_app_name => g_app_name,
739 p_msg_name => g_unexpected_error,
740 p_token1 => g_sqlcode_token,
741 p_token1_value => sqlcode,
742 p_token2 => g_sqlerrm_token,
743 p_token2_value => sqlerrm);
744 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
745 END validate_contract_group;
746
747 PROCEDURE create_contract_grpngs(
748 p_api_version IN NUMBER,
749 p_init_msg_list IN VARCHAR2 ,
750 x_return_status OUT NOCOPY VARCHAR2,
751 x_msg_count OUT NOCOPY NUMBER,
752 x_msg_data OUT NOCOPY VARCHAR2,
753 p_cgcv_rec IN cgcv_rec_type,
754 x_cgcv_rec OUT NOCOPY cgcv_rec_type) IS
755 l_api_name CONSTANT VARCHAR2(30) := 'create_contract_grpngs';
756 l_return_status VARCHAR2(1);
757 l_cgcv_rec cgcv_rec_type := p_cgcv_rec;
758 BEGIN
759 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
760 p_init_msg_list,
761 '_PUB',
762 x_return_status);
763 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
764 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
765 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
766 raise OKC_API.G_EXCEPTION_ERROR;
767 END IF;
768 -- Call user hook for BEFORE
769 g_cgcv_rec := l_cgcv_rec;
770 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
771 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
772 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
773 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
774 raise OKC_API.G_EXCEPTION_ERROR;
775 END IF;
776 l_cgcv_rec := migrate_cgcv(l_cgcv_rec, g_cgcv_rec);
777
778 okc_contract_group_pvt.create_contract_grpngs(
779 p_api_version,
780 p_init_msg_list,
781 x_return_status,
782 x_msg_count,
783 x_msg_data,
784 l_cgcv_rec,
785 x_cgcv_rec);
786 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
787 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
788 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
789 raise OKC_API.G_EXCEPTION_ERROR;
790 END IF;
791
792 -- Call user hook for AFTER
793 g_cgcv_rec := x_cgcv_rec;
794 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
795 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
796 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
797 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
798 raise OKC_API.G_EXCEPTION_ERROR;
799 END IF;
800 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
801 EXCEPTION
802 WHEN OKC_API.G_EXCEPTION_ERROR THEN
803 x_return_status := OKC_API.HANDLE_EXCEPTIONS
804 (l_api_name,
805 G_PKG_NAME,
806 'OKC_API.G_RET_STS_ERROR',
807 x_msg_count,
808 x_msg_data,
809 '_PUB');
810 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
811 x_return_status := OKC_API.HANDLE_EXCEPTIONS
812 (l_api_name,
813 G_PKG_NAME,
814 'OKC_API.G_RET_STS_UNEXP_ERROR',
815 x_msg_count,
816 x_msg_data,
817 '_PUB');
818 WHEN OTHERS THEN
819 x_return_status := OKC_API.HANDLE_EXCEPTIONS
820 (l_api_name,
821 G_PKG_NAME,
822 'OTHERS',
823 x_msg_count,
824 x_msg_data,
825 '_PUB');
826 END create_contract_grpngs;
827
828 PROCEDURE create_contract_grpngs(
829 p_api_version IN NUMBER,
830 p_init_msg_list IN VARCHAR2 ,
831 x_return_status OUT NOCOPY VARCHAR2,
832 x_msg_count OUT NOCOPY NUMBER,
833 x_msg_data OUT NOCOPY VARCHAR2,
834 p_cgcv_tbl IN cgcv_tbl_type,
835 x_cgcv_tbl OUT NOCOPY cgcv_tbl_type) IS
836 i NUMBER := 0;
837 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
838 BEGIN
839 x_return_status := OKC_API.G_RET_STS_SUCCESS;
840 IF p_cgcv_tbl.COUNT > 0 THEN
841 i := p_cgcv_tbl.FIRST;
842 LOOP
843 create_contract_grpngs(
844 p_api_version,
845 p_init_msg_list,
846 l_return_status,
847 x_msg_count,
848 x_msg_data,
849 p_cgcv_tbl(i),
850 x_cgcv_tbl(i));
851 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
852 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
853 x_return_status := l_return_status;
854 raise G_EXCEPTION_HALT_VALIDATION;
855 ELSE
856 x_return_status := l_return_status;
857 END IF;
858 END IF;
859 EXIT WHEN (i = p_cgcv_tbl.LAST);
860 i := p_cgcv_tbl.NEXT(i);
861 END LOOP;
862 END IF;
863 EXCEPTION
864 WHEN G_EXCEPTION_HALT_VALIDATION THEN
865 NULL;
866 WHEN OTHERS THEN
867 OKC_API.set_message(p_app_name => g_app_name,
868 p_msg_name => g_unexpected_error,
869 p_token1 => g_sqlcode_token,
870 p_token1_value => sqlcode,
871 p_token2 => g_sqlerrm_token,
872 p_token2_value => sqlerrm);
873 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
874 END create_contract_grpngs;
875
876 PROCEDURE update_contract_grpngs(
877 p_api_version IN NUMBER,
878 p_init_msg_list IN VARCHAR2 ,
879 x_return_status OUT NOCOPY VARCHAR2,
880 x_msg_count OUT NOCOPY NUMBER,
881 x_msg_data OUT NOCOPY VARCHAR2,
882 p_cgcv_rec IN cgcv_rec_type,
883 x_cgcv_rec OUT NOCOPY cgcv_rec_type) IS
884 l_api_name CONSTANT VARCHAR2(30) := 'update_contract_grpngs';
885 l_return_status VARCHAR2(1);
886 l_cgcv_rec cgcv_rec_type := p_cgcv_rec;
887 BEGIN
888 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
889 p_init_msg_list,
890 '_PUB',
891 x_return_status);
892 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
893 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
894 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
895 raise OKC_API.G_EXCEPTION_ERROR;
896 END IF;
897 -- Call user hook for BEFORE
898 g_cgcv_rec := l_cgcv_rec;
899 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
900 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
901 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
902 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
903 raise OKC_API.G_EXCEPTION_ERROR;
904 END IF;
905 l_cgcv_rec := migrate_cgcv(l_cgcv_rec, g_cgcv_rec);
906
907 okc_contract_group_pvt.update_contract_grpngs(
908 p_api_version,
909 p_init_msg_list,
910 x_return_status,
911 x_msg_count,
912 x_msg_data,
913 l_cgcv_rec,
914 x_cgcv_rec);
915 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
916 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
917 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
918 raise OKC_API.G_EXCEPTION_ERROR;
919 END IF;
920
921 -- Call user hook for AFTER
922 g_cgcv_rec := x_cgcv_rec;
923 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
924 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
925 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
926 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
927 raise OKC_API.G_EXCEPTION_ERROR;
928 END IF;
929 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
930 EXCEPTION
931 WHEN OKC_API.G_EXCEPTION_ERROR THEN
932 x_return_status := OKC_API.HANDLE_EXCEPTIONS
933 (l_api_name,
934 G_PKG_NAME,
935 'OKC_API.G_RET_STS_ERROR',
936 x_msg_count,
937 x_msg_data,
938 '_PUB');
939 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
940 x_return_status := OKC_API.HANDLE_EXCEPTIONS
941 (l_api_name,
942 G_PKG_NAME,
943 'OKC_API.G_RET_STS_UNEXP_ERROR',
944 x_msg_count,
945 x_msg_data,
946 '_PUB');
947 WHEN OTHERS THEN
948 x_return_status := OKC_API.HANDLE_EXCEPTIONS
949 (l_api_name,
950 G_PKG_NAME,
951 'OTHERS',
952 x_msg_count,
953 x_msg_data,
954 '_PUB');
955 END update_contract_grpngs;
956
957 PROCEDURE update_contract_grpngs(
958 p_api_version IN NUMBER,
959 p_init_msg_list IN VARCHAR2 ,
960 x_return_status OUT NOCOPY VARCHAR2,
961 x_msg_count OUT NOCOPY NUMBER,
962 x_msg_data OUT NOCOPY VARCHAR2,
963 p_cgcv_tbl IN cgcv_tbl_type,
964 x_cgcv_tbl OUT NOCOPY cgcv_tbl_type) IS
965 i NUMBER := 0;
966 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
967 BEGIN
968 x_return_status := OKC_API.G_RET_STS_SUCCESS;
969 IF p_cgcv_tbl.COUNT > 0 THEN
970 i := p_cgcv_tbl.FIRST;
971 LOOP
972 update_contract_grpngs(
973 p_api_version,
974 p_init_msg_list,
975 l_return_status,
976 x_msg_count,
977 x_msg_data,
978 p_cgcv_tbl(i),
979 x_cgcv_tbl(i));
980 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
981 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
982 x_return_status := l_return_status;
983 raise G_EXCEPTION_HALT_VALIDATION;
984 ELSE
985 x_return_status := l_return_status;
986 END IF;
987 END IF;
988 EXIT WHEN (i = p_cgcv_tbl.LAST);
989 i := p_cgcv_tbl.NEXT(i);
990 END LOOP;
991 END IF;
992 EXCEPTION
993 WHEN G_EXCEPTION_HALT_VALIDATION THEN
994 NULL;
995 WHEN OTHERS THEN
996 OKC_API.set_message(p_app_name => g_app_name,
997 p_msg_name => g_unexpected_error,
998 p_token1 => g_sqlcode_token,
999 p_token1_value => sqlcode,
1000 p_token2 => g_sqlerrm_token,
1001 p_token2_value => sqlerrm);
1002 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1003 END update_contract_grpngs;
1004
1005 PROCEDURE delete_contract_grpngs(
1006 p_api_version IN NUMBER,
1007 p_init_msg_list IN VARCHAR2 ,
1008 x_return_status OUT NOCOPY VARCHAR2,
1009 x_msg_count OUT NOCOPY NUMBER,
1010 x_msg_data OUT NOCOPY VARCHAR2,
1011 p_cgcv_rec IN cgcv_rec_type) IS
1012 l_api_name CONSTANT VARCHAR2(30) := 'delete_contract_grpngs';
1013 l_return_status VARCHAR2(1);
1014 l_cgcv_rec cgcv_rec_type := p_cgcv_rec;
1015 BEGIN
1016 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1017 p_init_msg_list,
1018 '_PUB',
1019 x_return_status);
1020 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1021 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1022 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1023 raise OKC_API.G_EXCEPTION_ERROR;
1024 END IF;
1025 -- Call user hook for BEFORE
1026 g_cgcv_rec := l_cgcv_rec;
1027 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1028 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1029 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1030 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1031 raise OKC_API.G_EXCEPTION_ERROR;
1032 END IF;
1033
1034 okc_contract_group_pvt.delete_contract_grpngs(
1035 p_api_version,
1036 p_init_msg_list,
1037 x_return_status,
1038 x_msg_count,
1039 x_msg_data,
1040 l_cgcv_rec);
1041 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1042 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1043 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1044 raise OKC_API.G_EXCEPTION_ERROR;
1045 END IF;
1046
1047 -- Call user hook for AFTER
1048 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1049 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1050 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1051 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1052 raise OKC_API.G_EXCEPTION_ERROR;
1053 END IF;
1054 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1055 EXCEPTION
1056 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1057 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1058 (l_api_name,
1059 G_PKG_NAME,
1060 'OKC_API.G_RET_STS_ERROR',
1061 x_msg_count,
1062 x_msg_data,
1063 '_PUB');
1064 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1065 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1066 (l_api_name,
1067 G_PKG_NAME,
1068 'OKC_API.G_RET_STS_UNEXP_ERROR',
1069 x_msg_count,
1070 x_msg_data,
1071 '_PUB');
1072 WHEN OTHERS THEN
1073 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1074 (l_api_name,
1075 G_PKG_NAME,
1076 'OTHERS',
1077 x_msg_count,
1078 x_msg_data,
1079 '_PUB');
1080 END delete_contract_grpngs;
1081
1082 PROCEDURE delete_contract_grpngs(
1083 p_api_version IN NUMBER,
1084 p_init_msg_list IN VARCHAR2 ,
1085 x_return_status OUT NOCOPY VARCHAR2,
1086 x_msg_count OUT NOCOPY NUMBER,
1087 x_msg_data OUT NOCOPY VARCHAR2,
1088 p_cgcv_tbl IN cgcv_tbl_type) IS
1089 i NUMBER := 0;
1090 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1091 BEGIN
1092 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1093 IF p_cgcv_tbl.COUNT > 0 THEN
1094 i := p_cgcv_tbl.FIRST;
1095 LOOP
1096 delete_contract_grpngs(
1097 p_api_version,
1098 p_init_msg_list,
1099 l_return_status,
1100 x_msg_count,
1101 x_msg_data,
1102 p_cgcv_tbl(i));
1103 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1104 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1105 x_return_status := l_return_status;
1106 raise G_EXCEPTION_HALT_VALIDATION;
1107 ELSE
1108 x_return_status := l_return_status;
1109 END IF;
1110 END IF;
1111 EXIT WHEN (i = p_cgcv_tbl.LAST);
1112 i := p_cgcv_tbl.NEXT(i);
1113 END LOOP;
1114 END IF;
1115 EXCEPTION
1116 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1117 NULL;
1118 WHEN OTHERS THEN
1119 OKC_API.set_message(p_app_name => g_app_name,
1120 p_msg_name => g_unexpected_error,
1121 p_token1 => g_sqlcode_token,
1122 p_token1_value => sqlcode,
1123 p_token2 => g_sqlerrm_token,
1124 p_token2_value => sqlerrm);
1125 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1126 END delete_contract_grpngs;
1127
1128 PROCEDURE lock_contract_grpngs(
1129 p_api_version IN NUMBER,
1130 p_init_msg_list IN VARCHAR2 ,
1131 x_return_status OUT NOCOPY VARCHAR2,
1132 x_msg_count OUT NOCOPY NUMBER,
1133 x_msg_data OUT NOCOPY VARCHAR2,
1134 p_cgcv_rec IN cgcv_rec_type) IS
1135 BEGIN
1136 okc_contract_group_pvt.lock_contract_grpngs(
1137 p_api_version,
1138 p_init_msg_list,
1139 x_return_status,
1140 x_msg_count,
1141 x_msg_data,
1142 p_cgcv_rec);
1143 END lock_contract_grpngs;
1144
1145 PROCEDURE lock_contract_grpngs(
1146 p_api_version IN NUMBER,
1147 p_init_msg_list IN VARCHAR2 ,
1148 x_return_status OUT NOCOPY VARCHAR2,
1149 x_msg_count OUT NOCOPY NUMBER,
1150 x_msg_data OUT NOCOPY VARCHAR2,
1151 p_cgcv_tbl IN cgcv_tbl_type) IS
1152 i NUMBER := 0;
1153 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1154 BEGIN
1155 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1156 IF p_cgcv_tbl.COUNT > 0 THEN
1157 i := p_cgcv_tbl.FIRST;
1158 LOOP
1159 lock_contract_grpngs(
1160 p_api_version,
1161 p_init_msg_list,
1162 l_return_status,
1163 x_msg_count,
1164 x_msg_data,
1165 p_cgcv_tbl(i));
1166 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1167 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1168 x_return_status := l_return_status;
1169 raise G_EXCEPTION_HALT_VALIDATION;
1170 ELSE
1171 x_return_status := l_return_status;
1172 END IF;
1173 END IF;
1174 EXIT WHEN (i = p_cgcv_tbl.LAST);
1175 i := p_cgcv_tbl.NEXT(i);
1176 END LOOP;
1177 END IF;
1178 EXCEPTION
1179 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1180 NULL;
1181 WHEN OTHERS THEN
1182 OKC_API.set_message(p_app_name => g_app_name,
1183 p_msg_name => g_unexpected_error,
1184 p_token1 => g_sqlcode_token,
1185 p_token1_value => sqlcode,
1186 p_token2 => g_sqlerrm_token,
1187 p_token2_value => sqlerrm);
1188 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1189 END lock_contract_grpngs;
1190
1191 PROCEDURE validate_contract_grpngs(
1192 p_api_version IN NUMBER,
1193 p_init_msg_list IN VARCHAR2 ,
1194 x_return_status OUT NOCOPY VARCHAR2,
1195 x_msg_count OUT NOCOPY NUMBER,
1196 x_msg_data OUT NOCOPY VARCHAR2,
1197 p_cgcv_rec IN cgcv_rec_type) IS
1198 l_api_name CONSTANT VARCHAR2(30) := 'validate_contract_grpngs';
1199 l_return_status VARCHAR2(1);
1200 l_cgcv_rec cgcv_rec_type := p_cgcv_rec;
1201 BEGIN
1202 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1203 p_init_msg_list,
1204 '_PUB',
1205 x_return_status);
1206 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1207 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1208 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1209 raise OKC_API.G_EXCEPTION_ERROR;
1210 END IF;
1211 -- Call user hook for BEFORE
1212 g_cgcv_rec := l_cgcv_rec;
1213 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1214 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1215 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1216 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1217 raise OKC_API.G_EXCEPTION_ERROR;
1218 END IF;
1219
1220 okc_contract_group_pvt.validate_contract_grpngs(
1221 p_api_version,
1222 p_init_msg_list,
1223 x_return_status,
1224 x_msg_count,
1225 x_msg_data,
1226 l_cgcv_rec);
1227 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1228 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1229 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1230 raise OKC_API.G_EXCEPTION_ERROR;
1231 END IF;
1232
1233 -- Call user hook for AFTER
1234 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1235 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1236 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1237 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1238 raise OKC_API.G_EXCEPTION_ERROR;
1239 END IF;
1240 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1241 EXCEPTION
1242 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1243 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1244 (l_api_name,
1245 G_PKG_NAME,
1246 'OKC_API.G_RET_STS_ERROR',
1247 x_msg_count,
1248 x_msg_data,
1249 '_PUB');
1250 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1251 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1252 (l_api_name,
1253 G_PKG_NAME,
1254 'OKC_API.G_RET_STS_UNEXP_ERROR',
1255 x_msg_count,
1256 x_msg_data,
1257 '_PUB');
1258 WHEN OTHERS THEN
1259 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1260 (l_api_name,
1261 G_PKG_NAME,
1262 'OTHERS',
1263 x_msg_count,
1264 x_msg_data,
1265 '_PUB');
1266 END validate_contract_grpngs;
1267
1268 PROCEDURE validate_contract_grpngs(
1269 p_api_version IN NUMBER,
1270 p_init_msg_list IN VARCHAR2 ,
1271 x_return_status OUT NOCOPY VARCHAR2,
1272 x_msg_count OUT NOCOPY NUMBER,
1273 x_msg_data OUT NOCOPY VARCHAR2,
1274 p_cgcv_tbl IN cgcv_tbl_type) IS
1275 i NUMBER := 0;
1276 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1277 BEGIN
1278 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1279 IF p_cgcv_tbl.COUNT > 0 THEN
1280 i := p_cgcv_tbl.FIRST;
1281 LOOP
1282 validate_contract_grpngs(
1283 p_api_version,
1284 p_init_msg_list,
1285 l_return_status,
1286 x_msg_count,
1287 x_msg_data,
1288 p_cgcv_tbl(i));
1289 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1290 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1291 x_return_status := l_return_status;
1292 raise G_EXCEPTION_HALT_VALIDATION;
1293 ELSE
1294 x_return_status := l_return_status;
1295 END IF;
1296 END IF;
1297 EXIT WHEN (i = p_cgcv_tbl.LAST);
1298 i := p_cgcv_tbl.NEXT(i);
1299 END LOOP;
1300 END IF;
1301 EXCEPTION
1302 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1303 NULL;
1304 WHEN OTHERS THEN
1305 OKC_API.set_message(p_app_name => g_app_name,
1306 p_msg_name => g_unexpected_error,
1307 p_token1 => g_sqlcode_token,
1308 p_token1_value => sqlcode,
1309 p_token2 => g_sqlerrm_token,
1310 p_token2_value => sqlerrm);
1311 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1312 END validate_contract_grpngs;
1313
1314 PROCEDURE Validate_Name(x_return_status OUT NOCOPY VARCHAR2,
1315 p_cgpv_rec IN cgpv_rec_type) IS
1316 BEGIN
1317 okc_contract_group_pvt.Validate_name(x_return_status, p_cgpv_rec);
1318 END Validate_Name;
1319
1320 PROCEDURE Validate_Name(x_return_status OUT NOCOPY VARCHAR2,
1321 p_cgpv_tbl IN cgpv_tbl_type) IS
1322 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1323 i NUMBER := 0;
1324 BEGIN
1325 OKC_API.init_msg_list(OKC_API.G_TRUE);
1326 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1327 IF p_cgpv_tbl.COUNT > 0 THEN
1328 i := p_cgpv_tbl.FIRST;
1329 LOOP
1330 Validate_name(l_return_status, p_cgpv_tbl(i));
1331 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1332 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1333 x_return_status := l_return_status;
1334 raise G_EXCEPTION_HALT_VALIDATION;
1335 ELSE
1336 x_return_status := l_return_status;
1337 END IF;
1338 END IF;
1339 EXIT WHEN (i = p_cgpv_tbl.LAST);
1340 i := p_cgpv_tbl.NEXT(i);
1341 END LOOP;
1342 END IF;
1343 EXCEPTION
1344 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1345 NULL;
1346 WHEN OTHERS THEN
1347 OKC_API.set_message(p_app_name => g_app_name,
1348 p_msg_name => g_unexpected_error,
1349 p_token1 => g_sqlcode_token,
1350 p_token1_value => sqlcode,
1351 p_token2 => g_sqlerrm_token,
1352 p_token2_value => sqlerrm);
1353 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1354 END Validate_Name;
1355
1356 PROCEDURE Validate_Public_YN(x_return_status OUT NOCOPY VARCHAR2,
1357 p_cgpv_rec IN cgpv_rec_type) IS
1358 BEGIN
1359 okc_contract_group_pvt.Validate_Public_YN(x_return_status, p_cgpv_rec);
1360 END Validate_Public_YN;
1361
1362 PROCEDURE Validate_Public_YN(x_return_status OUT NOCOPY VARCHAR2,
1363 p_cgpv_tbl IN cgpv_tbl_type) IS
1364 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1365 i NUMBER := 0;
1366 BEGIN
1367 OKC_API.init_msg_list(OKC_API.G_TRUE);
1368 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1369 IF p_cgpv_tbl.COUNT > 0 THEN
1370 i := p_cgpv_tbl.FIRST;
1371 LOOP
1372 Validate_Public_YN(l_return_status, p_cgpv_tbl(i));
1373 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1374 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1375 x_return_status := l_return_status;
1376 raise G_EXCEPTION_HALT_VALIDATION;
1377 ELSE
1378 x_return_status := l_return_status;
1379 END IF;
1380 END IF;
1381 EXIT WHEN (i = p_cgpv_tbl.LAST);
1382 i := p_cgpv_tbl.NEXT(i);
1383 END LOOP;
1384 END IF;
1385 EXCEPTION
1386 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1387 NULL;
1388 WHEN OTHERS THEN
1389 OKC_API.set_message(p_app_name => g_app_name,
1390 p_msg_name => g_unexpected_error,
1391 p_token1 => g_sqlcode_token,
1392 p_token1_value => sqlcode,
1393 p_token2 => g_sqlerrm_token,
1394 p_token2_value => sqlerrm);
1395 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1396 END Validate_Public_YN;
1397
1398 PROCEDURE Validate_Short_Description(x_return_status OUT NOCOPY VARCHAR2,
1399 p_cgpv_rec IN cgpv_rec_type) IS
1400 BEGIN
1401 okc_contract_group_pvt.Validate_Short_Description(x_return_status, p_cgpv_rec);
1402 END Validate_Short_Description;
1403
1404 PROCEDURE Validate_Short_Description(x_return_status OUT NOCOPY VARCHAR2,
1405 p_cgpv_tbl IN cgpv_tbl_type) IS
1406 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1407 i NUMBER := 0;
1408 BEGIN
1409 OKC_API.init_msg_list(OKC_API.G_FALSE);
1410 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1411 IF p_cgpv_tbl.COUNT > 0 THEN
1412 i := p_cgpv_tbl.FIRST;
1413 LOOP
1414 Validate_Short_Description(l_return_status, p_cgpv_tbl(i));
1415 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1416 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1417 x_return_status := l_return_status;
1418 raise G_EXCEPTION_HALT_VALIDATION;
1419 ELSE
1420 x_return_status := l_return_status;
1421 END IF;
1422 END IF;
1423 EXIT WHEN (i = p_cgpv_tbl.LAST);
1424 i := p_cgpv_tbl.NEXT(i);
1425 END LOOP;
1426 END IF;
1427 EXCEPTION
1428 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1429 NULL;
1430 WHEN OTHERS THEN
1431 OKC_API.set_message(p_app_name => g_app_name,
1432 p_msg_name => g_unexpected_error,
1433 p_token1 => g_sqlcode_token,
1434 p_token1_value => sqlcode,
1435 p_token2 => g_sqlerrm_token,
1436 p_token2_value => sqlerrm);
1437 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1438 END Validate_Short_Description;
1439
1440 FUNCTION Validate_Record(p_cgpv_rec IN cgpv_rec_type)
1441 RETURN VARCHAR2 IS
1442 BEGIN
1443 Return(okc_contract_group_pvt.Validate_Record(p_cgpv_rec));
1444 END;
1445
1446 FUNCTION Validate_Record(p_cgpv_tbl IN cgpv_tbl_type)
1447 RETURN VARCHAR2 IS
1448 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1449 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1450 i NUMBER := 0;
1451 BEGIN
1452 OKC_API.init_msg_list(OKC_API.G_TRUE);
1453 IF p_cgpv_tbl.COUNT > 0 THEN
1454 i := p_cgpv_tbl.FIRST;
1455 LOOP
1456 l_return_status := Validate_Record(p_cgpv_tbl(i));
1457 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1458 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1459 x_return_status := l_return_status;
1460 raise G_EXCEPTION_HALT_VALIDATION;
1461 ELSE
1462 x_return_status := l_return_status;
1463 END IF;
1464 END IF;
1465 EXIT WHEN (i = p_cgpv_tbl.LAST);
1466 i := p_cgpv_tbl.NEXT(i);
1467 END LOOP;
1468 END IF;
1469 Return(x_return_status);
1470 EXCEPTION
1471 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1472 Return(x_return_status);
1473 WHEN OTHERS THEN
1474 OKC_API.set_message(p_app_name => g_app_name,
1475 p_msg_name => g_unexpected_error,
1476 p_token1 => g_sqlcode_token,
1477 p_token1_value => sqlcode,
1478 p_token2 => g_sqlerrm_token,
1479 p_token2_value => sqlerrm);
1480 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1481 Return(x_return_status);
1482 END Validate_Record;
1483
1484 PROCEDURE Set_Search_String(
1485 p_srch_str IN VARCHAR2,
1486 x_return_status OUT NOCOPY VARCHAR2) IS
1487 BEGIN
1488 okc_cgc_pvt.Set_Search_String(p_srch_str, x_return_status);
1489 END;
1490
1491 PROCEDURE Get_Queried_Contracts(
1492 p_cgp_parent_id IN NUMBER,
1493 x_qry_k_tbl OUT NOCOPY qry_k_tbl,
1494 x_return_status OUT NOCOPY VARCHAR2) IS
1495 BEGIN
1496 okc_cgc_pvt.Get_Queried_Contracts(p_cgp_parent_id, x_qry_k_tbl, x_return_status);
1497 END;
1498
1499 END OKC_CONTRACT_GROUP_PUB;