[Home] [Help]
PACKAGE BODY: APPS.OKL_CONTRACT_PUB
Source
1 PACKAGE BODY okl_contract_pub AS
2 /* $Header: OKLPKHRB.pls 120.2 2005/06/29 16:55:13 apaul noship $ */
3 -- GLOBAL VARIABLES
4 G_NO_PARENT_RECORD CONSTANT VARCHAR2(200) := 'OKL_NO_PARENT_RECORD';
5 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UNEXPECTED_ERROR';
6
7
8
9 G_PARENT_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKL_API.G_PARENT_TABLE_TOKEN;
10 G_CHILD_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKL_API.G_CHILD_TABLE_TOKEN;
11 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
12 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
13 G_REQUIRED_VALUE CONSTANT VARCHAR2(200) := OKL_API.G_REQUIRED_VALUE;
14 G_INVALID_VALUE CONSTANT VARCHAR2(200) := OKL_API.G_INVALID_VALUE;
15 G_COL_NAME_TOKEN CONSTANT VARCHAR2(200) := OKL_API.G_COL_NAME_TOKEN;
16 G_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKL_API.G_CHILD_TABLE_TOKEN;
17
18 G_EXCEPTION_HALT_VALIDATION exception;
19
20 NO_CONTRACT_FOUND exception;
21
22 G_NO_UPDATE_ALLOWED_EXCEPTION exception;
23 G_NO_UPDATE_ALLOWED CONSTANT VARCHAR2(200) := 'OKL_NO_UPDATE_ALLOWED';
24 G_EXCEPTION_HALT_PROCESS exception;
25
26 G_API_TYPE CONSTANT VARCHAR2(4) := '_PUB';
27
28 -- Start of comments
29 --
30 -- Procedure Name : create_contract_header
31 -- Description : creates contract header for shadowed contract
32 -- Business Rules :
33 -- Parameters :
34 -- Version : 1.0
35 -- End of comments
36 PROCEDURE create_contract_header(
37 p_api_version IN NUMBER,
38 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
39 x_return_status OUT NOCOPY VARCHAR2,
40 x_msg_count OUT NOCOPY NUMBER,
41 x_msg_data OUT NOCOPY VARCHAR2,
42 p_chrv_rec IN okl_okc_migration_pvt.chrv_rec_type,
43 p_khrv_rec IN khrv_rec_type,
44 x_chrv_rec OUT NOCOPY okl_okc_migration_pvt.chrv_rec_type,
45 x_khrv_rec OUT NOCOPY khrv_rec_type) IS
46
47 l_chrv_rec okl_okc_migration_pvt.chrv_rec_type;
48 l_khrv_rec khrv_rec_type;
49 l_okc_chrv_rec okl_okc_migration_pvt.chrv_rec_type;
50 l_okc_chrv_rec_out okl_okc_migration_pvt.chrv_rec_type;
51
52 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CONTRACT_HEADER';
53 l_api_version CONSTANT NUMBER := 1;
54 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
55 BEGIN
56 --code added for CUHK
57 -- call START_ACTIVITY to create savepoint, check compatibility
58 -- and initialize message list
59 x_return_status := OKL_API.START_ACTIVITY(
60 p_api_name => l_api_name,
61 p_pkg_name => g_pkg_name,
62 p_init_msg_list => p_init_msg_list,
63 l_api_version => l_api_version,
64 p_api_version => p_api_version,
65 p_api_type => g_api_type,
66 x_return_status => x_return_status);
67
68 -- check if activity started successfully
69 If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
70 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
71 Elsif (x_return_status = OKL_API.G_RET_STS_ERROR) then
72 raise OKL_API.G_EXCEPTION_ERROR;
73 End If;
74
75 l_khrv_rec := p_khrv_rec;
76 l_chrv_rec := p_chrv_rec;
77 g_khrv_rec := l_khrv_rec;
78 g_chrv_rec := l_chrv_rec;
79 --Call pre Vertical Hook :
80
81 l_khrv_rec.id := p_khrv_rec.id;
82 l_khrv_rec.object_version_number := p_khrv_rec.object_version_number;
83 l_chrv_rec.id := p_chrv_rec.id;
84 l_chrv_rec.object_version_number := p_chrv_rec.object_version_number;
85
86
87 okl_contract_pvt.create_contract_header(
88 p_api_version => p_api_version,
89 p_init_msg_list => p_init_msg_list,
90 x_return_status => x_return_status,
91 x_msg_count => x_msg_count,
92 x_msg_data => x_msg_data,
93 p_chrv_rec => l_chrv_rec,
94 p_khrv_rec => l_khrv_rec,
95 x_chrv_rec => x_chrv_rec,
96 x_khrv_rec => x_khrv_rec);
97
98 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
99 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
100 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
101 raise OKL_API.G_EXCEPTION_ERROR;
102 END IF;
103
104
105 l_khrv_rec := x_khrv_rec;
106 l_chrv_rec := x_chrv_rec;
107 g_khrv_rec := l_khrv_rec;
108 g_chrv_rec := l_chrv_rec;
109
110 --Call After Vertical Hook
111 --Call After User Hook
112
113 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
114 x_msg_data => x_msg_data);
115 Exception
116 when OKL_API.G_EXCEPTION_ERROR then
117 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
118 p_api_name => l_api_name,
119 p_pkg_name => g_pkg_name,
120 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
121 x_msg_count => x_msg_count,
122 x_msg_data => x_msg_data,
123 p_api_type => g_api_type);
124
125 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
126 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
127 p_api_name => l_api_name,
128 p_pkg_name => g_pkg_name,
129 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
130 x_msg_count => x_msg_count,
131 x_msg_data => x_msg_data,
132 p_api_type => g_api_type);
133
134 when OTHERS then
135 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
136 p_api_name => l_api_name,
137 p_pkg_name => g_pkg_name,
138 p_exc_name => 'OTHERS',
139 x_msg_count => x_msg_count,
140 x_msg_data => x_msg_data,
141 p_api_type => g_api_type);
142 END create_contract_header;
143
144
145 -- Start of comments
146 --
147 -- Procedure Name : create_contract_header
148 -- Description : creates contract header for shadowed contract
149 -- Business Rules :
150 -- Parameters :
151 -- Version : 1.0
152 -- End of comments
153 PROCEDURE create_contract_header(
154 p_api_version IN NUMBER,
155 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
156 x_return_status OUT NOCOPY VARCHAR2,
157 x_msg_count OUT NOCOPY NUMBER,
158 x_msg_data OUT NOCOPY VARCHAR2,
159 p_chrv_tbl IN okl_okc_migration_pvt.chrv_tbl_type,
160 p_khrv_tbl IN khrv_tbl_type,
161 x_chrv_tbl OUT NOCOPY okl_okc_migration_pvt.chrv_tbl_type,
162 x_khrv_tbl OUT NOCOPY khrv_tbl_type) IS
163
164 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CONTRACT_HEADER';
165 l_api_version CONSTANT NUMBER := 1.0;
166 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
167 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
168 i NUMBER;
169 l_khrv_tbl khrv_tbl_type := p_khrv_tbl;
170 BEGIN
171 /*
172 -- call START_ACTIVITY to create savepoint, check compatibility
173 -- and initialize message list
174 l_return_status := OKL_API.START_ACTIVITY(
175 p_api_name => l_api_name,
176 p_pkg_name => g_pkg_name,
177 p_init_msg_list => p_init_msg_list,
178 l_api_version => l_api_version,
179 p_api_version => p_api_version,
180 p_api_type => g_api_type,
181 x_return_status => x_return_status);
182
183 -- check if activity started successfully
184 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
185 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
186 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
187 raise OKL_API.G_EXCEPTION_ERROR;
188 End If;
189 */
190 If (p_chrv_tbl.COUNT > 0) Then
191 i := p_chrv_tbl.FIRST;
192 LOOP
193 -- call procedure in complex API for a record
194 create_contract_header(
195 p_api_version => p_api_version,
196 p_init_msg_list => p_init_msg_list,
197 x_return_status => x_return_status,
198 x_msg_count => x_msg_count,
199 x_msg_data => x_msg_data,
200 p_chrv_rec => p_chrv_tbl(i),
201 p_khrv_rec => l_khrv_tbl(i),
202 x_chrv_rec => x_chrv_tbl(i),
203 x_khrv_rec => x_khrv_tbl(i));
204
205 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
206 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
207 l_overall_status := x_return_status;
208 End If;
209 End If;
210
211 EXIT WHEN (i = p_chrv_tbl.LAST);
212 i := p_chrv_tbl.NEXT(i);
213 END LOOP;
214
215 -- return overall status
216 x_return_status := l_overall_status;
217 End If;
218
219 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
220 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
221 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
222 raise OKL_API.G_EXCEPTION_ERROR;
223 End If;
224 /*
225 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
226 x_msg_data => x_msg_data);
227 */
228 EXCEPTION
229 WHEN G_EXCEPTION_HALT_VALIDATION THEN
230 NULL;
231 when OKL_API.G_EXCEPTION_ERROR then
232 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
233 p_api_name => l_api_name,
234 p_pkg_name => g_pkg_name,
235 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
236 x_msg_count => x_msg_count,
237 x_msg_data => x_msg_data,
238 p_api_type => g_api_type);
239
240 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
241 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
242 p_api_name => l_api_name,
243 p_pkg_name => g_pkg_name,
244 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
245 x_msg_count => x_msg_count,
246 x_msg_data => x_msg_data,
247 p_api_type => g_api_type);
248
249 when OTHERS then
250 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
251 p_api_name => l_api_name,
252 p_pkg_name => g_pkg_name,
253 p_exc_name => 'OTHERS',
254 x_msg_count => x_msg_count,
255 x_msg_data => x_msg_data,
256 p_api_type => g_api_type);
257 END create_contract_header;
258
259 -- Start of comments
260 --
261 -- Procedure Name : update_contract_header
262 -- Description : updates contract header for shadowed contract
263 -- Business Rules :
264 -- Parameters :
265 -- Version : 1.0
266 -- End of comments
267 PROCEDURE update_contract_header(
268 p_api_version IN NUMBER,
269 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
270 x_return_status OUT NOCOPY VARCHAR2,
271 x_msg_count OUT NOCOPY NUMBER,
272 x_msg_data OUT NOCOPY VARCHAR2,
273 p_restricted_update IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
274 p_chrv_rec IN okl_okc_migration_pvt.chrv_rec_type,
275 p_khrv_rec IN khrv_rec_type,
276 x_chrv_rec OUT NOCOPY okl_okc_migration_pvt.chrv_rec_type,
277 x_khrv_rec OUT NOCOPY khrv_rec_type) IS
278
279 l_chrv_rec okl_okc_migration_pvt.chrv_rec_type;
280 l_khrv_rec khrv_rec_type;
281
282 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CONTRACT_HEADER';
283 l_api_version CONSTANT NUMBER := 1.0;
284 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
285
286 BEGIN
287 --code added for CUHK
288 -- call START_ACTIVITY to create savepoint, check compatibility
289 -- and initialize message list
290 x_return_status := OKL_API.START_ACTIVITY(
291 p_api_name => l_api_name,
292 p_pkg_name => g_pkg_name,
293 p_init_msg_list => p_init_msg_list,
294 l_api_version => l_api_version,
295 p_api_version => p_api_version,
296 p_api_type => g_api_type,
297 x_return_status => x_return_status);
298
299 -- check if activity started successfully
300 If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
301 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
302 Elsif (x_return_status = OKL_API.G_RET_STS_ERROR) then
303 raise OKL_API.G_EXCEPTION_ERROR;
304 End If;
305
306 l_khrv_rec := p_khrv_rec;
307 l_chrv_rec := p_chrv_rec;
308 g_khrv_rec := l_khrv_rec;
309 g_chrv_rec := l_chrv_rec;
310
311 --Call pre Vertical Hook :
312
313 l_khrv_rec.id := p_khrv_rec.id;
314 l_khrv_rec.object_version_number := p_khrv_rec.object_version_number;
315 l_chrv_rec.id := p_chrv_rec.id;
316 l_chrv_rec.object_version_number := p_chrv_rec.object_version_number;
317
318 --Base API Logic
319 okl_contract_pvt.update_contract_header(
320 p_api_version => p_api_version,
321 p_init_msg_list => p_init_msg_list,
322 x_return_status => x_return_status,
323 x_msg_count => x_msg_count,
324 x_msg_data => x_msg_data,
325 p_restricted_update => p_restricted_update,
326 p_chrv_rec => l_chrv_rec,
327 p_khrv_rec => l_khrv_rec,
328 x_chrv_rec => x_chrv_rec,
329 x_khrv_rec => x_khrv_rec);
330
331 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
332 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
333 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
334 raise OKL_API.G_EXCEPTION_ERROR;
335 END IF;
336
337 l_khrv_rec := x_khrv_rec;
338 l_chrv_rec := x_chrv_rec;
339 g_khrv_rec := l_khrv_rec;
340 g_chrv_rec := l_chrv_rec;
341
342
343 --Call After Vertical Hook
344 --Call After User Hook
345
346 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
347 x_msg_data => x_msg_data);
348
349 Exception
350 when OKL_API.G_EXCEPTION_ERROR then
351 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
352 p_api_name => l_api_name,
353 p_pkg_name => g_pkg_name,
354 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
355 x_msg_count => x_msg_count,
356 x_msg_data => x_msg_data,
357 p_api_type => g_api_type);
358
359 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
360 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
361 p_api_name => l_api_name,
362 p_pkg_name => g_pkg_name,
363 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
364 x_msg_count => x_msg_count,
365 x_msg_data => x_msg_data,
366 p_api_type => g_api_type);
367
368 when OTHERS then
369 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
370 p_api_name => l_api_name,
371 p_pkg_name => g_pkg_name,
372 p_exc_name => 'OTHERS',
373 x_msg_count => x_msg_count,
374 x_msg_data => x_msg_data,
375 p_api_type => g_api_type);
376 END update_contract_header;
377
378
379 -- Start of comments
380 --
381 -- Procedure Name : update_contract_header
382 -- Description : creates contract header for shadowed contract
383 -- Business Rules :
384 -- Parameters :
385 -- Version : 1.0
386 -- End of comments
387 PROCEDURE update_contract_header(
388 p_api_version IN NUMBER,
389 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
390 x_return_status OUT NOCOPY VARCHAR2,
391 x_msg_count OUT NOCOPY NUMBER,
392 x_msg_data OUT NOCOPY VARCHAR2,
393 p_restricted_update IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
394 p_chrv_tbl IN okl_okc_migration_pvt.chrv_tbl_type,
395 p_khrv_tbl IN khrv_tbl_type,
396 x_chrv_tbl OUT NOCOPY okl_okc_migration_pvt.chrv_tbl_type,
397 x_khrv_tbl OUT NOCOPY khrv_tbl_type) IS
398
399 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CONTRACT_HEADER';
400 l_api_version CONSTANT NUMBER := 1.0;
401 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
402 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
403 i NUMBER;
404 l_khrv_tbl khrv_tbl_type := p_khrv_tbl;
405 BEGIN
406 /*
407 -- call START_ACTIVITY to create savepoint, check compatibility
408 -- and initialize message list
409 l_return_status := OKL_API.START_ACTIVITY(
410 p_api_name => l_api_name,
411 p_pkg_name => g_pkg_name,
412 p_init_msg_list => p_init_msg_list,
413 l_api_version => l_api_version,
414 p_api_version => p_api_version,
415 p_api_type => g_api_type,
416 x_return_status => x_return_status);
417
418 -- check if activity started successfully
419 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
420 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
421 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
422 raise OKL_API.G_EXCEPTION_ERROR;
423 End If;
424 */
425 If (p_chrv_tbl.COUNT > 0) Then
426 i := p_chrv_tbl.FIRST;
427 LOOP
428 -- call procedure in complex API for a record
429 update_contract_header(
430 p_api_version => p_api_version,
431 p_init_msg_list => p_init_msg_list,
432 x_return_status => x_return_status,
433 x_msg_count => x_msg_count,
434 x_msg_data => x_msg_data,
435 p_restricted_update => p_restricted_update,
436 p_chrv_rec => p_chrv_tbl(i),
437 p_khrv_rec => l_khrv_tbl(i),
438 x_chrv_rec => x_chrv_tbl(i),
439 x_khrv_rec => x_khrv_tbl(i));
440
441 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
442 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
443 l_overall_status := x_return_status;
444 End If;
445 End If;
446
447 EXIT WHEN (i = p_chrv_tbl.LAST);
448 i := p_chrv_tbl.NEXT(i);
449 END LOOP;
450
451 -- return overall status
452 x_return_status := l_overall_status;
453 End If;
454
455 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
456 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
457 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
458 raise OKL_API.G_EXCEPTION_ERROR;
459 End If;
460 /*
461 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
462 x_msg_data => x_msg_data);
463 */
464 EXCEPTION
465 WHEN G_EXCEPTION_HALT_VALIDATION THEN
466 NULL;
467 WHEN OTHERS THEN
468 -- store SQL error message on message stack
469 ROLLBACK TO update_contract_header_pub;
470 x_return_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
471 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'update_contract_header');
472 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
473 p_count => x_msg_count,
474 p_data => x_msg_data);
475 END update_contract_header;
476 --------------------------------------------------------------------------------
477 -- Start of comments
478 --
479 -- Procedure Name : update_contract_header
480 -- Description : update contract header to be called from stream update as
481 -- we do not have to flip status
482 -- Business Rules :
483 -- Parameters :
484 -- Version : 1.0
485 -- End of comments
486 --
487 --------------------------------------------------------------------------------
488 PROCEDURE update_contract_header(
489 p_api_version IN NUMBER,
490 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
491 x_return_status OUT NOCOPY VARCHAR2,
492 x_msg_count OUT NOCOPY NUMBER,
493 x_msg_data OUT NOCOPY VARCHAR2,
494 p_restricted_update IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
495 p_chrv_rec IN okl_okc_migration_pvt.chrv_rec_type,
496 p_khrv_rec IN khrv_rec_type,
497 p_edit_mode IN VARCHAR2,
498 x_chrv_rec OUT NOCOPY okl_okc_migration_pvt.chrv_rec_type,
499 x_khrv_rec OUT NOCOPY khrv_rec_type) IS
500
501 l_chrv_rec okl_okc_migration_pvt.chrv_rec_type;
502 l_khrv_rec khrv_rec_type;
503 l_edit_mode Varchar2(1);
504
505 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CONTRACT_HEADER';
506 l_api_version CONSTANT NUMBER := 1.0;
507 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
508
509 BEGIN
510 -- call START_ACTIVITY to create savepoint, check compatibility
511 -- and initialize message list
512 x_return_status := OKL_API.START_ACTIVITY(
513 p_api_name => l_api_name,
514 p_pkg_name => g_pkg_name,
515 p_init_msg_list => p_init_msg_list,
516 l_api_version => l_api_version,
517 p_api_version => p_api_version,
518 p_api_type => g_api_type,
519 x_return_status => x_return_status);
520
521 -- check if activity started successfully
522 If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
523 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
524 Elsif (x_return_status = OKL_API.G_RET_STS_ERROR) then
525 raise OKL_API.G_EXCEPTION_ERROR;
526 End If;
527
528 l_khrv_rec := p_khrv_rec;
529 l_chrv_rec := p_chrv_rec;
530 l_edit_mode := p_edit_mode;
531 g_khrv_rec := l_khrv_rec;
532 g_chrv_rec := l_chrv_rec;
533
534
535 --Call pre Vertical Hook :
536
537 l_khrv_rec.id := p_khrv_rec.id;
538 l_khrv_rec.object_version_number := p_khrv_rec.object_version_number;
539 l_chrv_rec.id := p_chrv_rec.id;
540 l_chrv_rec.object_version_number := p_chrv_rec.object_version_number;
541
542 --Base API Logic
543 okl_contract_pvt.update_contract_header(
544 p_api_version => p_api_version,
545 p_init_msg_list => p_init_msg_list,
546 x_return_status => x_return_status,
547 x_msg_count => x_msg_count,
548 x_msg_data => x_msg_data,
549 p_restricted_update => p_restricted_update,
550 p_chrv_rec => l_chrv_rec,
551 p_khrv_rec => l_khrv_rec,
552 p_edit_mode => p_edit_mode,
553 x_chrv_rec => x_chrv_rec,
554 x_khrv_rec => x_khrv_rec);
555
556 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
557 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
558 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
559 raise OKL_API.G_EXCEPTION_ERROR;
560 END IF;
561
562 l_khrv_rec := x_khrv_rec;
563 l_chrv_rec := x_chrv_rec;
564 l_edit_mode := p_edit_mode;
565 g_khrv_rec := l_khrv_rec;
566 g_chrv_rec := l_chrv_rec;
567
568
569 --Call After Vertical Hook
570
571 --Call After User Hook
572
573 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
574 x_msg_data => x_msg_data);
575
576 Exception
577 when OKL_API.G_EXCEPTION_ERROR then
578 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
579 p_api_name => l_api_name,
580 p_pkg_name => g_pkg_name,
581 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
582 x_msg_count => x_msg_count,
583 x_msg_data => x_msg_data,
584 p_api_type => g_api_type);
585
586 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
587 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
588 p_api_name => l_api_name,
589 p_pkg_name => g_pkg_name,
590 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
591 x_msg_count => x_msg_count,
592 x_msg_data => x_msg_data,
593 p_api_type => g_api_type);
594
595 when OTHERS then
596 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
597 p_api_name => l_api_name,
598 p_pkg_name => g_pkg_name,
599 p_exc_name => 'OTHERS',
600 x_msg_count => x_msg_count,
601 x_msg_data => x_msg_data,
602 p_api_type => g_api_type);
603 END update_contract_header;
604
605
606 -- Start of comments
607 --
608 -- Procedure Name : delete_contract
609 -- Description : deletes lease contract
610 -- Business Rules :
611 -- Parameters :
612 -- Version : 1.0
613 -- End of comments
614 PROCEDURE delete_contract(
615 p_api_version IN NUMBER,
616 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
617 x_return_status OUT NOCOPY VARCHAR2,
618 x_msg_count OUT NOCOPY NUMBER,
619 x_msg_data OUT NOCOPY VARCHAR2,
620 p_contract_id IN okc_k_headers_b.id%type) IS
621
622 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CONTRACT';
623 l_api_version CONSTANT NUMBER := 1.0;
624 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
625 BEGIN
626 -- call START_ACTIVITY to create savepoint, check compatibility
627 -- and initialize message list
628 x_return_status := OKL_API.START_ACTIVITY(
629 p_api_name => l_api_name,
630 p_pkg_name => g_pkg_name,
631 p_init_msg_list => p_init_msg_list,
632 l_api_version => l_api_version,
633 p_api_version => p_api_version,
634 p_api_type => g_api_type,
635 x_return_status => x_return_status);
636
637 -- check if activity started successfully
638 If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
639 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
640 Elsif (x_return_status = OKL_API.G_RET_STS_ERROR) then
641 raise OKL_API.G_EXCEPTION_ERROR;
642 End If;
643
644 okl_contract_pvt.delete_contract(
645 p_api_version => p_api_version,
646 p_init_msg_list => p_init_msg_list,
647 x_return_status => x_return_status,
648 x_msg_count => x_msg_count,
649 x_msg_data => x_msg_data,
650 p_contract_id => p_contract_id);
651
652 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
653 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
654 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
655 raise OKL_API.G_EXCEPTION_ERROR;
656 END IF;
657
658 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
659 x_msg_data => x_msg_data);
660 EXCEPTION
661 when OKL_API.G_EXCEPTION_ERROR then
662 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
663 p_api_name => l_api_name,
664 p_pkg_name => g_pkg_name,
665 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
666 x_msg_count => x_msg_count,
667 x_msg_data => x_msg_data,
668 p_api_type => g_api_type);
669
670 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
671 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
672 p_api_name => l_api_name,
673 p_pkg_name => g_pkg_name,
674 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
675 x_msg_count => x_msg_count,
676 x_msg_data => x_msg_data,
677 p_api_type => g_api_type);
678
679 when OTHERS then
680 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
681 p_api_name => l_api_name,
682 p_pkg_name => g_pkg_name,
683 p_exc_name => 'OTHERS',
684 x_msg_count => x_msg_count,
685 x_msg_data => x_msg_data,
686 p_api_type => g_api_type);
687 END delete_contract;
688
689
690 -- Start of comments
691 --
692 -- Procedure Name : delete_contract_header
693 -- Description : deletes contract header for shadowed contract
694 -- Business Rules :
695 -- Parameters :
696 -- Version : 1.0
697 -- End of comments
698 PROCEDURE delete_contract_header(
699 p_api_version IN NUMBER,
700 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
701 x_return_status OUT NOCOPY VARCHAR2,
702 x_msg_count OUT NOCOPY NUMBER,
703 x_msg_data OUT NOCOPY VARCHAR2,
704 p_chrv_rec IN okl_okc_migration_pvt.chrv_rec_type,
705 p_khrv_rec IN khrv_rec_type) IS
706
707 l_chrv_rec okl_okc_migration_pvt.chrv_rec_type;
708 l_khrv_rec khrv_rec_type;
709
710 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CONTRACT_HEADER';
711 l_api_version CONSTANT NUMBER := 1.0;
712 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
713 BEGIN
714 -- call START_ACTIVITY to create savepoint, check compatibility
715 -- and initialize message list
716 x_return_status := OKL_API.START_ACTIVITY(
717 p_api_name => l_api_name,
718 p_pkg_name => g_pkg_name,
719 p_init_msg_list => p_init_msg_list,
720 l_api_version => l_api_version,
721 p_api_version => p_api_version,
722 p_api_type => g_api_type,
723 x_return_status => x_return_status);
724
725 -- check if activity started successfully
726 If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
727 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
728 Elsif (x_return_status = OKL_API.G_RET_STS_ERROR) then
729 raise OKL_API.G_EXCEPTION_ERROR;
730 End If;
731
732 l_khrv_rec := p_khrv_rec;
733 l_chrv_rec := p_chrv_rec;
734
735 --Call pre Vertical Hook :
736
737 okl_contract_pvt.delete_contract_header(
738 p_api_version => p_api_version,
739 p_init_msg_list => p_init_msg_list,
740 x_return_status => x_return_status,
741 x_msg_count => x_msg_count,
742 x_msg_data => x_msg_data,
743 p_chrv_rec => l_chrv_rec,
744 p_khrv_rec => l_khrv_rec);
745
746 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
747 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
748 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
749 raise OKL_API.G_EXCEPTION_ERROR;
750 END IF;
751
752 l_khrv_rec := p_khrv_rec;
753 l_chrv_rec := p_chrv_rec;
754
755 --Call After Vertical Hook
756 --Call After User Hook
757
758
759 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
760 x_msg_data => x_msg_data);
761 EXCEPTION
762 when OKL_API.G_EXCEPTION_ERROR then
763 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
764 p_api_name => l_api_name,
765 p_pkg_name => g_pkg_name,
766 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
767 x_msg_count => x_msg_count,
768 x_msg_data => x_msg_data,
769 p_api_type => g_api_type);
770
771 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
772 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
773 p_api_name => l_api_name,
774 p_pkg_name => g_pkg_name,
775 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
776 x_msg_count => x_msg_count,
777 x_msg_data => x_msg_data,
778 p_api_type => g_api_type);
779
780 when OTHERS then
781 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
782 p_api_name => l_api_name,
783 p_pkg_name => g_pkg_name,
784 p_exc_name => 'OTHERS',
785 x_msg_count => x_msg_count,
786 x_msg_data => x_msg_data,
787 p_api_type => g_api_type);
788 END delete_contract_header;
789
790
791 -- Start of comments
792 --
793 -- Procedure Name : delete_contract_header
794 -- Description : deletes contract header for shadowed contract
795 -- Business Rules :
796 -- Parameters :
797 -- Version : 1.0
798 -- End of comments
799 PROCEDURE delete_contract_header(
800 p_api_version IN NUMBER,
801 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
802 x_return_status OUT NOCOPY VARCHAR2,
803 x_msg_count OUT NOCOPY NUMBER,
804 x_msg_data OUT NOCOPY VARCHAR2,
805 p_chrv_tbl IN okl_okc_migration_pvt.chrv_tbl_type,
806 p_khrv_tbl IN khrv_tbl_type) IS
807
808 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CONTRACT_HEADER';
809 l_api_version CONSTANT NUMBER := 1.0;
810 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
811 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
812 i NUMBER;
813 l_khrv_tbl khrv_tbl_type := p_khrv_tbl;
814 BEGIN
815 /*
816 -- call START_ACTIVITY to create savepoint, check compatibility
817 -- and initialize message list
818 l_return_status := OKL_API.START_ACTIVITY(
819 p_api_name => l_api_name,
820 p_pkg_name => g_pkg_name,
821 p_init_msg_list => p_init_msg_list,
822 l_api_version => l_api_version,
823 p_api_version => p_api_version,
824 p_api_type => g_api_type,
825 x_return_status => x_return_status);
826
827 -- check if activity started successfully
828 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
829 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
830 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
831 raise OKL_API.G_EXCEPTION_ERROR;
832 End If;
833 */
834 If (p_chrv_tbl.COUNT > 0) Then
835 i := p_chrv_tbl.FIRST;
836 LOOP
837 -- call procedure in complex API for a record
838 delete_contract_header(
839 p_api_version => p_api_version,
840 p_init_msg_list => p_init_msg_list,
841 x_return_status => x_return_status,
842 x_msg_count => x_msg_count,
843 x_msg_data => x_msg_data,
844 p_chrv_rec => p_chrv_tbl(i),
845 p_khrv_rec => l_khrv_tbl(i));
846
847 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
848 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
849 l_overall_status := x_return_status;
850 End If;
851 End If;
852
853 EXIT WHEN (i = p_chrv_tbl.LAST);
854 i := p_chrv_tbl.NEXT(i);
855 END LOOP;
856
857 -- return overall status
858 x_return_status := l_overall_status;
859 End If;
860
861 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
862 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
863 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
864 raise OKL_API.G_EXCEPTION_ERROR;
865 End If;
866 /*
867 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
868 x_msg_data => x_msg_data);
869 */
870 EXCEPTION
871 when OKL_API.G_EXCEPTION_ERROR then
872 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
873 p_api_name => l_api_name,
874 p_pkg_name => g_pkg_name,
875 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
876 x_msg_count => x_msg_count,
877 x_msg_data => x_msg_data,
878 p_api_type => g_api_type);
879
880 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
881 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
882 p_api_name => l_api_name,
883 p_pkg_name => g_pkg_name,
884 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
885 x_msg_count => x_msg_count,
886 x_msg_data => x_msg_data,
887 p_api_type => g_api_type);
888
889 when OTHERS then
890 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
891 p_api_name => l_api_name,
892 p_pkg_name => g_pkg_name,
893 p_exc_name => 'OTHERS',
894 x_msg_count => x_msg_count,
895 x_msg_data => x_msg_data,
896 p_api_type => g_api_type);
897
898 END delete_contract_header;
899
900 -- Start of comments
901 --
902 -- Procedure Name : lock_contract_header
903 -- Description : locks contract header for shadowed contract
904 -- Business Rules :
905 -- Parameters :
906 -- Version : 1.0
907 -- End of comments
908 PROCEDURE lock_contract_header(
909 p_api_version IN NUMBER,
910 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
911 x_return_status OUT NOCOPY VARCHAR2,
912 x_msg_count OUT NOCOPY NUMBER,
913 x_msg_data OUT NOCOPY VARCHAR2,
914 p_chrv_rec IN okl_okc_migration_pvt.chrv_rec_type,
915 p_khrv_rec IN khrv_rec_type) IS
916
917 l_chrv_rec okl_okc_migration_pvt.chrv_rec_type;
918 l_khrv_rec khrv_rec_type;
919
920 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_CONTRACT_HEADER';
921 l_api_version CONSTANT NUMBER := 1.0;
922 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
923 BEGIN
924
925 -- call START_ACTIVITY to create savepoint, check compatibility
926 -- and initialize message list
927 x_return_status := OKL_API.START_ACTIVITY(
928 p_api_name => l_api_name,
929 p_pkg_name => g_pkg_name,
930 p_init_msg_list => p_init_msg_list,
931 l_api_version => l_api_version,
932 p_api_version => p_api_version,
933 p_api_type => g_api_type,
934 x_return_status => x_return_status);
935
936 -- check if activity started successfully
937 If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
938 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
939 Elsif (x_return_status = OKL_API.G_RET_STS_ERROR) then
940 raise OKL_API.G_EXCEPTION_ERROR;
941 End If;
942
943
944 okl_contract_pvt.lock_contract_header(
945 p_api_version => p_api_version,
946 p_init_msg_list => p_init_msg_list,
947 x_return_status => x_return_status,
948 x_msg_count => x_msg_count,
949 x_msg_data => x_msg_data,
950 p_chrv_rec => l_chrv_rec,
951 p_khrv_rec => l_khrv_rec);
952
953 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
954 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
955 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
956 raise OKL_API.G_EXCEPTION_ERROR;
957 END IF;
958
959
960 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
961 x_msg_data => x_msg_data);
962 EXCEPTION
963 when OKL_API.G_EXCEPTION_ERROR then
964 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
965 p_api_name => l_api_name,
966 p_pkg_name => g_pkg_name,
967 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
968 x_msg_count => x_msg_count,
969 x_msg_data => x_msg_data,
970 p_api_type => g_api_type);
971
972 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
973 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
974 p_api_name => l_api_name,
975 p_pkg_name => g_pkg_name,
976 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
977 x_msg_count => x_msg_count,
978 x_msg_data => x_msg_data,
979 p_api_type => g_api_type);
980
981 when OTHERS then
982 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
983 p_api_name => l_api_name,
984 p_pkg_name => g_pkg_name,
985 p_exc_name => 'OTHERS',
986 x_msg_count => x_msg_count,
987 x_msg_data => x_msg_data,
988 p_api_type => g_api_type);
989 END lock_contract_header;
990
991
992 -- Start of comments
993 --
994 -- Procedure Name : lock_contract_header
995 -- Description : locks contract header for shadowed contract
996 -- Business Rules :
997 -- Parameters :
998 -- Version : 1.0
999 -- End of comments
1000 PROCEDURE lock_contract_header(
1001 p_api_version IN NUMBER,
1002 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1003 x_return_status OUT NOCOPY VARCHAR2,
1004 x_msg_count OUT NOCOPY NUMBER,
1005 x_msg_data OUT NOCOPY VARCHAR2,
1006 p_chrv_tbl IN okl_okc_migration_pvt.chrv_tbl_type,
1007 p_khrv_tbl IN khrv_tbl_type) IS
1008
1009 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_CONTRACT_HEADER';
1010 l_api_version CONSTANT NUMBER := 1.0;
1011 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1012 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1013 i NUMBER;
1014 l_khrv_tbl khrv_tbl_type := p_khrv_tbl;
1015 BEGIN
1016 /*
1017 -- call START_ACTIVITY to create savepoint, check compatibility
1018 -- and initialize message list
1019 l_return_status := OKL_API.START_ACTIVITY(
1020 p_api_name => l_api_name,
1021 p_pkg_name => g_pkg_name,
1022 p_init_msg_list => p_init_msg_list,
1023 l_api_version => l_api_version,
1024 p_api_version => p_api_version,
1025 p_api_type => g_api_type,
1026 x_return_status => x_return_status);
1027
1028 -- check if activity started successfully
1029 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1030 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1031 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1032 raise OKL_API.G_EXCEPTION_ERROR;
1033 End If;
1034 */
1035 If (p_chrv_tbl.COUNT > 0) Then
1036 i := p_chrv_tbl.FIRST;
1037 LOOP
1038 -- call procedure in complex API for a record
1039 lock_contract_header(
1040 p_api_version => p_api_version,
1041 p_init_msg_list => p_init_msg_list,
1042 x_return_status => x_return_status,
1043 x_msg_count => x_msg_count,
1044 x_msg_data => x_msg_data,
1045 p_chrv_rec => p_chrv_tbl(i),
1046 p_khrv_rec => l_khrv_tbl(i));
1047
1048 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
1049 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
1050 l_overall_status := x_return_status;
1051 End If;
1052 End If;
1053
1054 EXIT WHEN (i = p_chrv_tbl.LAST);
1055 i := p_chrv_tbl.NEXT(i);
1056 END LOOP;
1057
1058 -- return overall status
1059 x_return_status := l_overall_status;
1060 End If;
1061
1062 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1063 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1064 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1065 raise OKL_API.G_EXCEPTION_ERROR;
1066 End If;
1067 /*
1068 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1069 x_msg_data => x_msg_data);
1070 */
1071 EXCEPTION
1072 when OKL_API.G_EXCEPTION_ERROR then
1073 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1074 p_api_name => l_api_name,
1075 p_pkg_name => g_pkg_name,
1076 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1077 x_msg_count => x_msg_count,
1078 x_msg_data => x_msg_data,
1079 p_api_type => g_api_type);
1080
1081 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1082 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1083 p_api_name => l_api_name,
1084 p_pkg_name => g_pkg_name,
1085 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1086 x_msg_count => x_msg_count,
1087 x_msg_data => x_msg_data,
1088 p_api_type => g_api_type);
1089
1090 when OTHERS then
1091 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1092 p_api_name => l_api_name,
1093 p_pkg_name => g_pkg_name,
1094 p_exc_name => 'OTHERS',
1095 x_msg_count => x_msg_count,
1096 x_msg_data => x_msg_data,
1097 p_api_type => g_api_type);
1098
1099 END lock_contract_header;
1100
1101 -- -----------------------------------------------------------------------------
1102 -- Start of comments
1103 --
1104 -- Procedure Name : validate_contract_header
1105 -- Description : validates contract header for shadowed contract
1106 -- Business Rules :
1107 -- Parameters :
1108 -- Version : 1.0
1109 -- End of comments
1110 PROCEDURE validate_contract_header(
1111 p_api_version IN NUMBER,
1112 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1113 x_return_status OUT NOCOPY VARCHAR2,
1114 x_msg_count OUT NOCOPY NUMBER,
1115 x_msg_data OUT NOCOPY VARCHAR2,
1116 p_chrv_rec IN okl_okc_migration_pvt.chrv_rec_type,
1117 p_khrv_rec IN khrv_rec_type) IS
1118
1119 l_chrv_rec okl_okc_migration_pvt.chrv_rec_type;
1120 l_khrv_rec khrv_rec_type;
1121
1122 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_CONTRACT_HEADER';
1123 l_api_version CONSTANT NUMBER := 1.0;
1124 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1125 BEGIN
1126
1127 -- dbms_output.put_line('Start validation');
1128 -- call START_ACTIVITY to create savepoint, check compatibility
1129 -- and initialize message list
1130 x_return_status := OKL_API.START_ACTIVITY(
1131 p_api_name => l_api_name,
1132 p_pkg_name => g_pkg_name,
1133 p_init_msg_list => p_init_msg_list,
1134 l_api_version => l_api_version,
1135 p_api_version => p_api_version,
1136 p_api_type => g_api_type,
1137 x_return_status => x_return_status);
1138
1139 -- check if activity started successfully
1140 If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1141 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1142 Elsif (x_return_status = OKL_API.G_RET_STS_ERROR) then
1143 raise OKL_API.G_EXCEPTION_ERROR;
1144 End If;
1145
1146 l_khrv_rec := p_khrv_rec;
1147 l_chrv_rec := p_chrv_rec;
1148
1149 --Call pre Vertical Hook :
1150
1151 okl_contract_pvt.validate_contract_header(
1152 p_api_version => p_api_version,
1153 p_init_msg_list => p_init_msg_list,
1154 x_return_status => x_return_status,
1155 x_msg_count => x_msg_count,
1156 x_msg_data => x_msg_data,
1157 p_chrv_rec => l_chrv_rec,
1158 p_khrv_rec => l_khrv_rec);
1159
1160 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1161 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1162 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1163 raise OKL_API.G_EXCEPTION_ERROR;
1164 END IF;
1165
1166 l_khrv_rec := p_khrv_rec;
1167 l_chrv_rec := p_chrv_rec;
1168
1169 --Call After Vertical Hook
1170 --Call After User Hook
1171
1172
1173 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1174 x_msg_data => x_msg_data);
1175
1176 EXCEPTION
1177 when OKL_API.G_EXCEPTION_ERROR then
1178 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1179 p_api_name => l_api_name,
1180 p_pkg_name => g_pkg_name,
1181 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1182 x_msg_count => x_msg_count,
1183 x_msg_data => x_msg_data,
1184 p_api_type => g_api_type);
1185
1186 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1187 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1188 p_api_name => l_api_name,
1189 p_pkg_name => g_pkg_name,
1190 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1191 x_msg_count => x_msg_count,
1192 x_msg_data => x_msg_data,
1193 p_api_type => g_api_type);
1194
1195 when OTHERS then
1196 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1197 p_api_name => l_api_name,
1198 p_pkg_name => g_pkg_name,
1199 p_exc_name => 'OTHERS',
1200 x_msg_count => x_msg_count,
1201 x_msg_data => x_msg_data,
1202 p_api_type => g_api_type);
1203 END validate_contract_header;
1204
1205
1206 -- Start of comments
1207 --
1208 -- Procedure Name : validate_contract_header
1209 -- Description : validates contract header for shadowed contract
1210 -- Business Rules :
1211 -- Parameters :
1212 -- Version : 1.0
1213 -- End of comments
1214 PROCEDURE validate_contract_header(
1215 p_api_version IN NUMBER,
1216 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1217 x_return_status OUT NOCOPY VARCHAR2,
1218 x_msg_count OUT NOCOPY NUMBER,
1219 x_msg_data OUT NOCOPY VARCHAR2,
1220 p_chrv_tbl IN okl_okc_migration_pvt.chrv_tbl_type,
1221 p_khrv_tbl IN khrv_tbl_type) IS
1222
1223 l_api_name CONSTANT VARCHAR2(30) := 'validate_CONTRACT_HEADER';
1224 l_api_version CONSTANT NUMBER := 1.0;
1225 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1226 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1227 i NUMBER;
1228 l_khrv_tbl khrv_tbl_type := p_khrv_tbl;
1229 BEGIN
1230 /*
1231 -- call START_ACTIVITY to create savepoint, check compatibility
1232 -- and initialize message list
1233 l_return_status := OKL_API.START_ACTIVITY(
1234 p_api_name => l_api_name,
1235 p_pkg_name => g_pkg_name,
1236 p_init_msg_list => p_init_msg_list,
1237 l_api_version => l_api_version,
1238 p_api_version => p_api_version,
1239 p_api_type => g_api_type,
1240 x_return_status => x_return_status);
1241
1242 -- check if activity started successfully
1243 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1244 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1245 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1246 raise OKL_API.G_EXCEPTION_ERROR;
1247 End If;
1248 */
1249 If (p_chrv_tbl.COUNT > 0) Then
1250 i := p_chrv_tbl.FIRST;
1251 LOOP
1252 -- call procedure in complex API for a record
1253 validate_contract_header(
1254 p_api_version => p_api_version,
1255 p_init_msg_list => p_init_msg_list,
1256 x_return_status => x_return_status,
1257 x_msg_count => x_msg_count,
1258 x_msg_data => x_msg_data,
1259 p_chrv_rec => p_chrv_tbl(i),
1260 p_khrv_rec => l_khrv_tbl(i));
1261
1262 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
1263 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
1264 l_overall_status := x_return_status;
1265 End If;
1266 End If;
1267
1268 EXIT WHEN (i = p_chrv_tbl.LAST);
1269 i := p_chrv_tbl.NEXT(i);
1270 END LOOP;
1271
1272 -- return overall status
1273 x_return_status := l_overall_status;
1274 End If;
1275
1276 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1277 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1278 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1279 raise OKL_API.G_EXCEPTION_ERROR;
1280 End If;
1281 /*
1282 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1283 x_msg_data => x_msg_data);
1284 */
1285 EXCEPTION
1286 when OKL_API.G_EXCEPTION_ERROR then
1287 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1288 p_api_name => l_api_name,
1289 p_pkg_name => g_pkg_name,
1290 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1291 x_msg_count => x_msg_count,
1292 x_msg_data => x_msg_data,
1293 p_api_type => g_api_type);
1294
1295 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1296 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1297 p_api_name => l_api_name,
1298 p_pkg_name => g_pkg_name,
1299 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1300 x_msg_count => x_msg_count,
1301 x_msg_data => x_msg_data,
1302 p_api_type => g_api_type);
1303
1304 when OTHERS then
1305 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1306 p_api_name => l_api_name,
1307 p_pkg_name => g_pkg_name,
1308 p_exc_name => 'OTHERS',
1309 x_msg_count => x_msg_count,
1310 x_msg_data => x_msg_data,
1311 p_api_type => g_api_type);
1312
1313 END validate_contract_header;
1314
1315 -- -----------------------------------------------------------------------------
1316 -- Contract Line Related Procedure
1317 -- -----------------------------------------------------------------------------
1318
1319 -- Start of comments
1320 --
1321 -- Procedure Name : create_contract_line
1322 -- Description : creates contract line for shadowed contract
1323 -- Business Rules :
1324 -- Parameters :
1325 -- Version : 1.0
1326 -- End of comments
1327 PROCEDURE create_contract_line(
1328 p_api_version IN NUMBER,
1329 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1330 x_return_status OUT NOCOPY VARCHAR2,
1331 x_msg_count OUT NOCOPY NUMBER,
1332 x_msg_data OUT NOCOPY VARCHAR2,
1333 p_clev_rec IN okl_okc_migration_pvt.clev_rec_type,
1334 p_klev_rec IN klev_rec_type,
1335 x_clev_rec OUT NOCOPY okl_okc_migration_pvt.clev_rec_type,
1336 x_klev_rec OUT NOCOPY klev_rec_type) IS
1337
1338 l_clev_rec okl_okc_migration_pvt.clev_rec_type;
1339 l_klev_rec klev_rec_type;
1340
1341 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CONTRACT_LINE';
1342 l_api_version CONSTANT NUMBER := 1.0;
1343 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1344 BEGIN
1345
1346 -- call START_ACTIVITY to create savepoint, check compatibility
1347 -- and initialize message list
1348 l_return_status := OKL_API.START_ACTIVITY(
1349 p_api_name => l_api_name,
1350 p_pkg_name => g_pkg_name,
1351 p_init_msg_list => p_init_msg_list,
1352 l_api_version => l_api_version,
1353 p_api_version => p_api_version,
1354 p_api_type => g_api_type,
1355 x_return_status => x_return_status);
1356
1357 -- check if activity started successfully
1358 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1359 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1360 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1361 raise OKL_API.G_EXCEPTION_ERROR;
1362 End If;
1363
1364 l_klev_rec := p_klev_rec;
1365 l_clev_rec := p_clev_rec;
1366 g_klev_rec := l_klev_rec;
1367 g_clev_rec := l_clev_rec;
1368
1369 --Call pre Vertical Hook :
1370
1371 l_klev_rec.id := p_klev_rec.id;
1372 l_klev_rec.object_version_number := p_klev_rec.object_version_number;
1373 l_clev_rec.id := p_clev_rec.id;
1374 l_clev_rec.object_version_number := p_clev_rec.object_version_number;
1375
1376 okl_contract_pvt.create_contract_line(
1377 p_api_version => p_api_version,
1378 p_init_msg_list => p_init_msg_list,
1379 x_return_status => x_return_status,
1380 x_msg_count => x_msg_count,
1381 x_msg_data => x_msg_data,
1382 p_clev_rec => l_clev_rec,
1383 p_klev_rec => l_klev_rec,
1384 x_clev_rec => x_clev_rec,
1385 x_klev_rec => x_klev_rec);
1386
1387 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1388 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1389 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1390 raise OKL_API.G_EXCEPTION_ERROR;
1391 END IF;
1392
1393 l_klev_rec := x_klev_rec;
1394 l_clev_rec := x_clev_rec;
1395 g_klev_rec := l_klev_rec;
1396 g_clev_rec := l_clev_rec;
1397
1398 --Call After Vertical Hook
1399 --Call After User Hook
1400
1401 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1402 x_msg_data => x_msg_data);
1403 EXCEPTION
1404 when OKL_API.G_EXCEPTION_ERROR then
1405 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1406 p_api_name => l_api_name,
1407 p_pkg_name => g_pkg_name,
1408 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1409 x_msg_count => x_msg_count,
1410 x_msg_data => x_msg_data,
1411 p_api_type => g_api_type);
1412
1413 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1414 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1415 p_api_name => l_api_name,
1416 p_pkg_name => g_pkg_name,
1417 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1418 x_msg_count => x_msg_count,
1419 x_msg_data => x_msg_data,
1420 p_api_type => g_api_type);
1421
1422 when OTHERS then
1423 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1424 p_api_name => l_api_name,
1425 p_pkg_name => g_pkg_name,
1426 p_exc_name => 'OTHERS',
1427 x_msg_count => x_msg_count,
1428 x_msg_data => x_msg_data,
1429 p_api_type => g_api_type);
1430 END create_contract_line;
1431
1432
1433 -- Start of comments
1434 --
1435 -- Procedure Name : create_contract_line
1436 -- Description : creates contract line for shadowed contract
1437 -- Business Rules :
1438 -- Parameters :
1439 -- Version : 1.0
1440 -- End of comments
1441 PROCEDURE create_contract_line(
1442 p_api_version IN NUMBER,
1443 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1444 x_return_status OUT NOCOPY VARCHAR2,
1445 x_msg_count OUT NOCOPY NUMBER,
1446 x_msg_data OUT NOCOPY VARCHAR2,
1447 p_clev_tbl IN okl_okc_migration_pvt.clev_tbl_type,
1448 p_klev_tbl IN klev_tbl_type,
1449 x_clev_tbl OUT NOCOPY okl_okc_migration_pvt.clev_tbl_type,
1450 x_klev_tbl OUT NOCOPY klev_tbl_type) IS
1451
1452 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CONTRACT_LINE';
1453 l_api_version CONSTANT NUMBER := 1.0;
1454 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1455 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1456 i NUMBER;
1457 l_klev_tbl klev_tbl_type := p_klev_tbl;
1458 BEGIN
1459 /*
1460 -- call START_ACTIVITY to create savepoint, check compatibility
1461 -- and initialize message list
1462 l_return_status := OKL_API.START_ACTIVITY(
1463 p_api_name => l_api_name,
1464 p_pkg_name => g_pkg_name,
1465 p_init_msg_list => p_init_msg_list,
1466 l_api_version => l_api_version,
1467 p_api_version => p_api_version,
1468 p_api_type => g_api_type,
1469 x_return_status => x_return_status);
1470
1471 -- check if activity started successfully
1472 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1473 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1474 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1475 raise OKL_API.G_EXCEPTION_ERROR;
1476 End If;
1477 */
1478
1479 If (p_clev_tbl.COUNT > 0) Then
1480 i := p_clev_tbl.FIRST;
1481 LOOP
1482 -- call procedure in complex API for a record
1483 create_contract_line(
1484 p_api_version => p_api_version,
1485 p_init_msg_list => p_init_msg_list,
1486 x_return_status => x_return_status,
1487 x_msg_count => x_msg_count,
1488 x_msg_data => x_msg_data,
1489 p_clev_rec => p_clev_tbl(i),
1490 p_klev_rec => l_klev_tbl(i),
1491 x_clev_rec => x_clev_tbl(i),
1492 x_klev_rec => x_klev_tbl(i));
1493
1494 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
1495 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
1496 l_overall_status := x_return_status;
1497 End If;
1498 End If;
1499
1500 EXIT WHEN (i = p_clev_tbl.LAST);
1501 i := p_clev_tbl.NEXT(i);
1502 END LOOP;
1503
1504 -- return overall status
1505 x_return_status := l_overall_status;
1506 End If;
1507
1508 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1509 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1510 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1511 raise OKL_API.G_EXCEPTION_ERROR;
1512 End If;
1513 /*
1514 OKL_API.END_ACTIVITY( x_msg_count => x_msg_count,
1515 x_msg_data => x_msg_data);
1516 */
1517 EXCEPTION
1518 when OKL_API.G_EXCEPTION_ERROR then
1519 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1520 p_api_name => l_api_name,
1521 p_pkg_name => g_pkg_name,
1522 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1523 x_msg_count => x_msg_count,
1524 x_msg_data => x_msg_data,
1525 p_api_type => g_api_type);
1526
1527 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1528 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1529 p_api_name => l_api_name,
1530 p_pkg_name => g_pkg_name,
1531 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1532 x_msg_count => x_msg_count,
1533 x_msg_data => x_msg_data,
1534 p_api_type => g_api_type);
1535
1536 when OTHERS then
1537 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1538 p_api_name => l_api_name,
1539 p_pkg_name => g_pkg_name,
1540 p_exc_name => 'OTHERS',
1541 x_msg_count => x_msg_count,
1542 x_msg_data => x_msg_data,
1543 p_api_type => g_api_type);
1544
1545 END create_contract_line;
1546
1547
1548 -- Start of comments
1549 --
1550 -- Procedure Name : update_contract_line
1551 -- Description : updates contract line for shadowed contract
1552 -- Business Rules :
1553 -- Parameters :
1554 -- Version : 1.0
1555 -- End of comments
1556 PROCEDURE update_contract_line(
1557 p_api_version IN NUMBER,
1558 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1559 x_return_status OUT NOCOPY VARCHAR2,
1560 x_msg_count OUT NOCOPY NUMBER,
1561 x_msg_data OUT NOCOPY VARCHAR2,
1562 p_clev_rec IN okl_okc_migration_pvt.clev_rec_type,
1563 p_klev_rec IN klev_rec_type,
1564 x_clev_rec OUT NOCOPY okl_okc_migration_pvt.clev_rec_type,
1565 x_klev_rec OUT NOCOPY klev_rec_type) IS
1566
1567 l_clev_rec okl_okc_migration_pvt.clev_rec_type;
1568 l_klev_rec klev_rec_type;
1569
1570 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CONTRACT_LINE';
1571 l_api_version CONSTANT NUMBER := 1.0;
1572 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1573
1574 BEGIN
1575
1576 -- call START_ACTIVITY to create savepoint, check compatibility
1577 -- and initialize message list
1578 l_return_status := OKL_API.START_ACTIVITY(
1579 p_api_name => l_api_name,
1580 p_pkg_name => g_pkg_name,
1581 p_init_msg_list => p_init_msg_list,
1582 l_api_version => l_api_version,
1583 p_api_version => p_api_version,
1584 p_api_type => g_api_type,
1585 x_return_status => x_return_status);
1586
1587 -- check if activity started successfully
1588 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1589 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1590 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1591 raise OKL_API.G_EXCEPTION_ERROR;
1592 End If;
1593
1594 l_klev_rec := p_klev_rec;
1595 l_clev_rec := p_clev_rec;
1596 g_klev_rec := l_klev_rec;
1597 g_clev_rec := l_clev_rec;
1598
1599
1600 --Call pre Vertical Hook :
1601
1602
1603 l_klev_rec.id := p_klev_rec.id;
1604 l_klev_rec.object_version_number := p_klev_rec.object_version_number;
1605 l_clev_rec.id := p_clev_rec.id;
1606 l_clev_rec.object_version_number := p_clev_rec.object_version_number;
1607
1608 okl_contract_pvt.update_contract_line(
1609 p_api_version => p_api_version,
1610 p_init_msg_list => p_init_msg_list,
1611 x_return_status => x_return_status,
1612 x_msg_count => x_msg_count,
1613 x_msg_data => x_msg_data,
1614 p_clev_rec => l_clev_rec,
1615 p_klev_rec => l_klev_rec,
1616 x_clev_rec => x_clev_rec,
1617 x_klev_rec => x_klev_rec);
1618
1619 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1620 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1621 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1622 raise OKL_API.G_EXCEPTION_ERROR;
1623 END IF;
1624
1625 l_klev_rec := x_klev_rec;
1626 l_clev_rec := x_clev_rec;
1627 g_klev_rec := l_klev_rec;
1628 g_clev_rec := l_clev_rec;
1629
1630
1631 --Call After Vertical Hook
1632 --Call After User Hook
1633
1634
1635 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1636 x_msg_data => x_msg_data);
1637 EXCEPTION
1638 when OKL_API.G_EXCEPTION_ERROR then
1639 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1640 p_api_name => l_api_name,
1641 p_pkg_name => g_pkg_name,
1642 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1643 x_msg_count => x_msg_count,
1644 x_msg_data => x_msg_data,
1645 p_api_type => g_api_type);
1646
1647 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1648 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1649 p_api_name => l_api_name,
1650 p_pkg_name => g_pkg_name,
1651 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1652 x_msg_count => x_msg_count,
1653 x_msg_data => x_msg_data,
1654 p_api_type => g_api_type);
1655
1656 when OTHERS then
1657 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1658 p_api_name => l_api_name,
1659 p_pkg_name => g_pkg_name,
1660 p_exc_name => 'OTHERS',
1661 x_msg_count => x_msg_count,
1662 x_msg_data => x_msg_data,
1663 p_api_type => g_api_type);
1664 END update_contract_line;
1665
1666
1667 -- Start of comments
1668 --
1669 -- Procedure Name : update_contract_line
1670 -- Description : updates contract line for shadowed contract
1671 -- Business Rules :
1672 -- Parameters :
1673 -- Version : 1.0
1674 -- End of comments
1675 PROCEDURE update_contract_line(
1676 p_api_version IN NUMBER,
1677 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1678 x_return_status OUT NOCOPY VARCHAR2,
1679 x_msg_count OUT NOCOPY NUMBER,
1680 x_msg_data OUT NOCOPY VARCHAR2,
1681 p_clev_tbl IN okl_okc_migration_pvt.clev_tbl_type,
1682 p_klev_tbl IN klev_tbl_type,
1683 x_clev_tbl OUT NOCOPY okl_okc_migration_pvt.clev_tbl_type,
1684 x_klev_tbl OUT NOCOPY klev_tbl_type) IS
1685
1686 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CONTRACT_LINE';
1687 l_api_version CONSTANT NUMBER := 1.0;
1688 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1689 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1690 i NUMBER;
1691 l_klev_tbl klev_tbl_type := p_klev_tbl;
1692 BEGIN
1693 /*
1694 -- call START_ACTIVITY to create savepoint, check compatibility
1695 -- and initialize message list
1696 l_return_status := OKL_API.START_ACTIVITY(
1697 p_api_name => l_api_name,
1698 p_pkg_name => g_pkg_name,
1699 p_init_msg_list => p_init_msg_list,
1700 l_api_version => l_api_version,
1701 p_api_version => p_api_version,
1702 p_api_type => g_api_type,
1703 x_return_status => x_return_status);
1704
1705 -- check if activity started successfully
1706 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1707 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1708 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1709 raise OKL_API.G_EXCEPTION_ERROR;
1710 End If;
1711 */
1712
1713 If (p_clev_tbl.COUNT > 0) Then
1714 i := p_clev_tbl.FIRST;
1715 LOOP
1716 -- call procedure in complex API for a record
1717 update_contract_line(
1718 p_api_version => p_api_version,
1719 p_init_msg_list => p_init_msg_list,
1720 x_return_status => x_return_status,
1721 x_msg_count => x_msg_count,
1722 x_msg_data => x_msg_data,
1723 p_clev_rec => p_clev_tbl(i),
1724 p_klev_rec => l_klev_tbl(i),
1725 x_clev_rec => x_clev_tbl(i),
1726 x_klev_rec => x_klev_tbl(i));
1727
1728 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
1729 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
1730 l_overall_status := x_return_status;
1731 End If;
1732 End If;
1733
1734 EXIT WHEN (i = p_clev_tbl.LAST);
1735 i := p_clev_tbl.NEXT(i);
1736 END LOOP;
1737
1738 -- return overall status
1739 x_return_status := l_overall_status;
1740 End If;
1741
1742 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1743 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1744 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1745 raise OKL_API.G_EXCEPTION_ERROR;
1746 End If;
1747 /*
1748 OKL_API.END_ACTIVITY( x_msg_count => x_msg_count,
1749 x_msg_data => x_msg_data);
1750 */
1751 EXCEPTION
1752 when OKL_API.G_EXCEPTION_ERROR then
1753 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1754 p_api_name => l_api_name,
1755 p_pkg_name => g_pkg_name,
1756 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1757 x_msg_count => x_msg_count,
1758 x_msg_data => x_msg_data,
1759 p_api_type => g_api_type);
1760
1761 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1762 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1763 p_api_name => l_api_name,
1764 p_pkg_name => g_pkg_name,
1765 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1766 x_msg_count => x_msg_count,
1767 x_msg_data => x_msg_data,
1768 p_api_type => g_api_type);
1769
1770 when OTHERS then
1771 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1772 p_api_name => l_api_name,
1773 p_pkg_name => g_pkg_name,
1774 p_exc_name => 'OTHERS',
1775 x_msg_count => x_msg_count,
1776 x_msg_data => x_msg_data,
1777 p_api_type => g_api_type);
1778
1779 END update_contract_line;
1780 --------------------------------------------------------------------------------
1781 -- Start of comments
1782 -- Bug # 2525554 : introducerd in this bug
1783 -- Procedure Name : update_contract_line
1784 -- Description : updates contract line for shadowed contract
1785 -- takes p_edit_mode as input. It this is send as 'Y' then
1786 -- contract status will be set to 'INCOMPLETE' after edit,
1787 -- else it will not be set to 'INCOMPLETE'
1788 -- Business Rules :
1789 -- Parameters :
1790 -- Version : 1.0
1791 -- End of comments
1792 --------------------------------------------------------------------------------
1793 PROCEDURE update_contract_line(
1794 p_api_version IN NUMBER,
1795 p_init_msg_list IN VARCHAR2,
1796 x_return_status OUT NOCOPY VARCHAR2,
1797 x_msg_count OUT NOCOPY NUMBER,
1798 x_msg_data OUT NOCOPY VARCHAR2,
1799 p_clev_rec IN okl_okc_migration_pvt.clev_rec_type,
1800 p_klev_rec IN klev_rec_type,
1801 p_edit_mode IN VARCHAR2,
1802 x_clev_rec OUT NOCOPY okl_okc_migration_pvt.clev_rec_type,
1803 x_klev_rec OUT NOCOPY klev_rec_type) IS
1804
1805 l_clev_rec okl_okc_migration_pvt.clev_rec_type;
1806 l_klev_rec klev_rec_type;
1807
1808 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CONTRACT_LINE';
1809 l_api_version CONSTANT NUMBER := 1.0;
1810 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1811
1812 BEGIN
1813
1814 -- call START_ACTIVITY to create savepoint, check compatibility
1815 -- and initialize message list
1816 l_return_status := OKL_API.START_ACTIVITY(
1817 p_api_name => l_api_name,
1818 p_pkg_name => g_pkg_name,
1819 p_init_msg_list => p_init_msg_list,
1820 l_api_version => l_api_version,
1821 p_api_version => p_api_version,
1822 p_api_type => g_api_type,
1823 x_return_status => x_return_status);
1824
1825 -- check if activity started successfully
1826 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
1827 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1828 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
1829 raise OKL_API.G_EXCEPTION_ERROR;
1830 End If;
1831
1832 l_klev_rec := p_klev_rec;
1833 l_clev_rec := p_clev_rec;
1834 g_klev_rec := l_klev_rec;
1835 g_clev_rec := l_clev_rec;
1836
1837
1838 --Call pre Vertical Hook :
1839
1840
1841 l_klev_rec.id := p_klev_rec.id;
1842 l_klev_rec.object_version_number := p_klev_rec.object_version_number;
1843 l_clev_rec.id := p_clev_rec.id;
1844 l_clev_rec.object_version_number := p_clev_rec.object_version_number;
1845
1846 okl_contract_pvt.update_contract_line(
1847 p_api_version => p_api_version,
1848 p_init_msg_list => p_init_msg_list,
1849 x_return_status => x_return_status,
1850 x_msg_count => x_msg_count,
1851 x_msg_data => x_msg_data,
1852 p_clev_rec => l_clev_rec,
1853 p_klev_rec => l_klev_rec,
1854 p_edit_mode => p_edit_mode,
1855 x_clev_rec => x_clev_rec,
1856 x_klev_rec => x_klev_rec);
1857
1858 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1859 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1860 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1861 raise OKL_API.G_EXCEPTION_ERROR;
1862 END IF;
1863
1864 l_klev_rec := x_klev_rec;
1865 l_clev_rec := x_clev_rec;
1866 g_klev_rec := l_klev_rec;
1867 g_clev_rec := l_clev_rec;
1868
1869
1870 --Call After Vertical Hook
1871 --Call After User Hook
1872
1873
1874 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1875 x_msg_data => x_msg_data);
1876 EXCEPTION
1877 when OKL_API.G_EXCEPTION_ERROR then
1878 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1879 p_api_name => l_api_name,
1880 p_pkg_name => g_pkg_name,
1881 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1882 x_msg_count => x_msg_count,
1883 x_msg_data => x_msg_data,
1884 p_api_type => g_api_type);
1885
1886 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1887 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1888 p_api_name => l_api_name,
1889 p_pkg_name => g_pkg_name,
1890 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1891 x_msg_count => x_msg_count,
1892 x_msg_data => x_msg_data,
1893 p_api_type => g_api_type);
1894
1895 when OTHERS then
1896 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1897 p_api_name => l_api_name,
1898 p_pkg_name => g_pkg_name,
1899 p_exc_name => 'OTHERS',
1900 x_msg_count => x_msg_count,
1901 x_msg_data => x_msg_data,
1902 p_api_type => g_api_type);
1903 END update_contract_line;
1904
1905 --------------------------------------------------------------------------------
1906 -- Start of comments
1907 -- Bug # 2525554 : introducerd in this bug
1908 -- Procedure Name : update_contract_line
1909 -- Description : updates contract line for shadowed contract
1910 -- takes p_edit_mode as input. It this is send as 'Y' then
1911 -- contract status will be set to 'INCOMPLETE' after edit,
1912 -- else it will not be set to 'INCOMPLETE'
1913 -- Business Rules :
1914 -- Parameters :
1915 -- Version : 1.0
1916 -- End of comments
1917 --------------------------------------------------------------------------------
1918 PROCEDURE update_contract_line(
1919 p_api_version IN NUMBER,
1920 p_init_msg_list IN VARCHAR2,
1921 x_return_status OUT NOCOPY VARCHAR2,
1922 x_msg_count OUT NOCOPY NUMBER,
1923 x_msg_data OUT NOCOPY VARCHAR2,
1924 p_clev_tbl IN okl_okc_migration_pvt.clev_tbl_type,
1925 p_klev_tbl IN klev_tbl_type,
1926 p_edit_mode IN VARCHAR2,
1927 x_clev_tbl OUT NOCOPY okl_okc_migration_pvt.clev_tbl_type,
1928 x_klev_tbl OUT NOCOPY klev_tbl_type) IS
1929
1930 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CONTRACT_LINE';
1931 l_api_version CONSTANT NUMBER := 1.0;
1932 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1933 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1934 i NUMBER;
1935 l_klev_tbl klev_tbl_type := p_klev_tbl;
1936 BEGIN
1937
1938 If (p_clev_tbl.COUNT > 0) Then
1939 i := p_clev_tbl.FIRST;
1940 LOOP
1941 -- call procedure in complex API for a record
1942 update_contract_line(
1943 p_api_version => p_api_version,
1944 p_init_msg_list => p_init_msg_list,
1945 x_return_status => x_return_status,
1946 x_msg_count => x_msg_count,
1947 x_msg_data => x_msg_data,
1948 p_clev_rec => p_clev_tbl(i),
1949 p_klev_rec => l_klev_tbl(i),
1950 p_edit_mode => p_edit_mode,
1951 x_clev_rec => x_clev_tbl(i),
1952 x_klev_rec => x_klev_tbl(i));
1953
1954 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
1955 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
1956 l_overall_status := x_return_status;
1957 End If;
1958 End If;
1959
1960 EXIT WHEN (i = p_clev_tbl.LAST);
1961 i := p_clev_tbl.NEXT(i);
1962 END LOOP;
1963
1964 -- return overall status
1965 x_return_status := l_overall_status;
1966 End If;
1967
1968 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1969 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1970 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
1971 raise OKL_API.G_EXCEPTION_ERROR;
1972 End If;
1973
1974 EXCEPTION
1975 when OKL_API.G_EXCEPTION_ERROR then
1976 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1977 p_api_name => l_api_name,
1978 p_pkg_name => g_pkg_name,
1979 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1980 x_msg_count => x_msg_count,
1981 x_msg_data => x_msg_data,
1982 p_api_type => g_api_type);
1983
1984 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1985 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1986 p_api_name => l_api_name,
1987 p_pkg_name => g_pkg_name,
1988 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1989 x_msg_count => x_msg_count,
1990 x_msg_data => x_msg_data,
1991 p_api_type => g_api_type);
1992
1993 when OTHERS then
1994 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1995 p_api_name => l_api_name,
1996 p_pkg_name => g_pkg_name,
1997 p_exc_name => 'OTHERS',
1998 x_msg_count => x_msg_count,
1999 x_msg_data => x_msg_data,
2000 p_api_type => g_api_type);
2001
2002 END update_contract_line;
2003 -- Start of comments
2004 --
2005 -- Procedure Name : delete_contract_line
2006 -- Description : deletes contract line for shadowed contract
2007 -- Business Rules : line can be deleted only when there is no sublines attached
2008 -- Parameters :
2009 -- Version : 1.0
2010 -- End of comments
2011 PROCEDURE delete_contract_line(
2012 p_api_version IN NUMBER,
2013 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2014 x_return_status OUT NOCOPY VARCHAR2,
2015 x_msg_count OUT NOCOPY NUMBER,
2016 x_msg_data OUT NOCOPY VARCHAR2,
2017 p_clev_rec IN okl_okc_migration_pvt.clev_rec_type,
2018 p_klev_rec IN klev_rec_type) IS
2019
2020 l_clev_rec okl_okc_migration_pvt.clev_rec_type;
2021 l_klev_rec klev_rec_type;
2022
2023 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CONTRACT_LINE';
2024 l_api_version CONSTANT NUMBER := 1.0;
2025 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2026 BEGIN
2027
2028 -- call START_ACTIVITY to create savepoint, check compatibility
2029 -- and initialize message list
2030 l_return_status := OKL_API.START_ACTIVITY(
2031 p_api_name => l_api_name,
2032 p_pkg_name => g_pkg_name,
2033 p_init_msg_list => p_init_msg_list,
2034 l_api_version => l_api_version,
2035 p_api_version => p_api_version,
2036 p_api_type => g_api_type,
2037 x_return_status => x_return_status);
2038
2039 -- check if activity started successfully
2040 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
2041 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2042 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
2043 raise OKL_API.G_EXCEPTION_ERROR;
2044 End If;
2045
2046 l_klev_rec := p_klev_rec;
2047 l_clev_rec := p_clev_rec;
2048 g_klev_rec := l_klev_rec;
2049 g_clev_rec := l_clev_rec;
2050
2051
2052 --Call pre Vertical Hook :
2053
2054 l_klev_rec.id := p_klev_rec.id;
2055 l_klev_rec.object_version_number := p_klev_rec.object_version_number;
2056 l_clev_rec.id := p_clev_rec.id;
2057 l_clev_rec.object_version_number := p_clev_rec.object_version_number;
2058
2059 okl_contract_pvt.delete_contract_line(
2060 p_api_version => p_api_version,
2061 p_init_msg_list => p_init_msg_list,
2062 x_return_status => x_return_status,
2063 x_msg_count => x_msg_count,
2064 x_msg_data => x_msg_data,
2065 p_clev_rec => l_clev_rec,
2066 p_klev_rec => l_klev_rec);
2067
2068 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2069 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2070 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2071 raise OKL_API.G_EXCEPTION_ERROR;
2072 END IF;
2073
2074 l_klev_rec := p_klev_rec;
2075 l_clev_rec := p_clev_rec;
2076 g_klev_rec := l_klev_rec;
2077 g_clev_rec := l_clev_rec;
2078
2079 --Call After Vertical Hook
2080 --Call After User Hook
2081
2082 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
2083 x_msg_data => x_msg_data);
2084 EXCEPTION
2085 when OKL_API.G_EXCEPTION_ERROR then
2086 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2087 p_api_name => l_api_name,
2088 p_pkg_name => g_pkg_name,
2089 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2090 x_msg_count => x_msg_count,
2091 x_msg_data => x_msg_data,
2092 p_api_type => g_api_type);
2093
2094 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
2095 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2096 p_api_name => l_api_name,
2097 p_pkg_name => g_pkg_name,
2098 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2099 x_msg_count => x_msg_count,
2100 x_msg_data => x_msg_data,
2101 p_api_type => g_api_type);
2102
2103 when OTHERS then
2104 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2105 p_api_name => l_api_name,
2106 p_pkg_name => g_pkg_name,
2107 p_exc_name => 'OTHERS',
2108 x_msg_count => x_msg_count,
2109 x_msg_data => x_msg_data,
2110 p_api_type => g_api_type);
2111 END delete_contract_line;
2112
2113
2114 -- Start of comments
2115 --
2116 -- Procedure Name : delete_contract_line
2117 -- Description : deletes contract line for shadowed contract
2118 -- Business Rules : line can be deleted only if there is not sublines attached
2119 -- Parameters :
2120 -- Version : 1.0
2121 -- End of comments
2122 PROCEDURE delete_contract_line(
2123 p_api_version IN NUMBER,
2124 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2125 x_return_status OUT NOCOPY VARCHAR2,
2126 x_msg_count OUT NOCOPY NUMBER,
2127 x_msg_data OUT NOCOPY VARCHAR2,
2128 p_clev_tbl IN okl_okc_migration_pvt.clev_tbl_type,
2129 p_klev_tbl IN klev_tbl_type) IS
2130
2131 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CONTRACT_LINE';
2132 l_api_version CONSTANT NUMBER := 1.0;
2133 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2134 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2135 i NUMBER;
2136 l_klev_tbl klev_tbl_type := p_klev_tbl;
2137 BEGIN
2138 /*
2139 -- call START_ACTIVITY to create savepoint, check compatibility
2140 -- and initialize message list
2141 l_return_status := OKL_API.START_ACTIVITY(
2142 p_api_name => l_api_name,
2143 p_pkg_name => g_pkg_name,
2144 p_init_msg_list => p_init_msg_list,
2145 l_api_version => l_api_version,
2146 p_api_version => p_api_version,
2147 p_api_type => g_api_type,
2148 x_return_status => x_return_status);
2149
2150 -- check if activity started successfully
2151 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
2152 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2153 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
2154 raise OKL_API.G_EXCEPTION_ERROR;
2155 End If;
2156 */
2157 If (p_clev_tbl.COUNT > 0) Then
2158 i := p_clev_tbl.FIRST;
2159 LOOP
2160 -- call procedure in complex API for a record
2161 delete_contract_line(
2162 p_api_version => p_api_version,
2163 p_init_msg_list => p_init_msg_list,
2164 x_return_status => x_return_status,
2165 x_msg_count => x_msg_count,
2166 x_msg_data => x_msg_data,
2167 p_clev_rec => p_clev_tbl(i),
2168 p_klev_rec => l_klev_tbl(i));
2169
2170 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
2171 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
2172 l_overall_status := x_return_status;
2173 End If;
2174 End If;
2175
2176 EXIT WHEN (i = p_clev_tbl.LAST);
2177 i := p_clev_tbl.NEXT(i);
2178 END LOOP;
2179
2180 -- return overall status
2181 x_return_status := l_overall_status;
2182 End If;
2183
2184 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
2185 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2186 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
2187 raise OKL_API.G_EXCEPTION_ERROR;
2188 End If;
2189 /*
2190 OKL_API.END_ACTIVITY( x_msg_count => x_msg_count,
2191 x_msg_data => x_msg_data);
2192 */
2193 EXCEPTION
2194 when OKL_API.G_EXCEPTION_ERROR then
2195 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2196 p_api_name => l_api_name,
2197 p_pkg_name => g_pkg_name,
2198 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2199 x_msg_count => x_msg_count,
2200 x_msg_data => x_msg_data,
2201 p_api_type => g_api_type);
2202
2203 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
2204 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2205 p_api_name => l_api_name,
2206 p_pkg_name => g_pkg_name,
2207 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2208 x_msg_count => x_msg_count,
2209 x_msg_data => x_msg_data,
2210 p_api_type => g_api_type);
2211
2212 when OTHERS then
2213 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2214 p_api_name => l_api_name,
2215 p_pkg_name => g_pkg_name,
2216 p_exc_name => 'OTHERS',
2217 x_msg_count => x_msg_count,
2218 x_msg_data => x_msg_data,
2219 p_api_type => g_api_type);
2220
2221 END delete_contract_line;
2222
2223 -- Start of comments
2224 --
2225 -- Procedure Name : delete_contract_line
2226 -- Description : deletes contract line for shadowed contract
2227 -- Business Rules : delete contract line, all related objects and sublines
2228 -- Parameters :
2229 -- Version : 1.0
2230 -- End of comments
2231 PROCEDURE delete_contract_line(
2232 p_api_version IN NUMBER,
2233 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2234 x_return_status OUT NOCOPY VARCHAR2,
2235 x_msg_count OUT NOCOPY NUMBER,
2236 x_msg_data OUT NOCOPY VARCHAR2,
2237 p_line_id IN NUMBER) IS
2238
2239 l_api_version CONSTANT NUMBER := 1.0;
2240 l_return_status VARCHAR2(1);
2241 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CONTRACT_LINE';
2242
2243 BEGIN
2244
2245 -- call START_ACTIVITY to create savepoint, check compatibility
2246 -- and initialize message list
2247 l_return_status := OKL_API.START_ACTIVITY(
2248 p_api_name => l_api_name,
2249 p_pkg_name => g_pkg_name,
2250 p_init_msg_list => p_init_msg_list,
2251 l_api_version => l_api_version,
2252 p_api_version => p_api_version,
2253 p_api_type => g_api_type,
2254 x_return_status => x_return_status);
2255
2256 -- check if activity started successfully
2257 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
2258 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2259 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
2260 raise OKL_API.G_EXCEPTION_ERROR;
2261 End If;
2262
2263 okl_contract_pvt.delete_contract_line(
2264 p_api_version => p_api_version,
2265 p_init_msg_list => p_init_msg_list,
2266 x_return_status => x_return_status,
2267 x_msg_count => x_msg_count,
2268 x_msg_data => x_msg_data,
2269 p_line_id => p_line_id);
2270
2271 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2272 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2273 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2274 raise OKL_API.G_EXCEPTION_ERROR;
2275 END IF;
2276
2277
2278 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
2279 x_msg_data => x_msg_data);
2280 EXCEPTION
2281 when OKL_API.G_EXCEPTION_ERROR then
2282 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2283 p_api_name => l_api_name,
2284 p_pkg_name => g_pkg_name,
2285 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2286 x_msg_count => x_msg_count,
2287 x_msg_data => x_msg_data,
2288 p_api_type => g_api_type);
2289
2290 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
2291 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2292 p_api_name => l_api_name,
2293 p_pkg_name => g_pkg_name,
2294 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2295 x_msg_count => x_msg_count,
2296 x_msg_data => x_msg_data,
2297 p_api_type => g_api_type);
2298
2299 when OTHERS then
2300 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2301 p_api_name => l_api_name,
2302 p_pkg_name => g_pkg_name,
2303 p_exc_name => 'OTHERS',
2304 x_msg_count => x_msg_count,
2305 x_msg_data => x_msg_data,
2306 p_api_type => g_api_type);
2307 END delete_contract_line;
2308
2309 -- Start of comments
2310 --
2311 -- Procedure Name : delete_contract_line
2312 -- Description : deletes contract line for shadowed contract
2313 -- Business Rules : if p_delete_cascade_yn is 'Y' deletes all sublines
2314 -- rules etc. else does not delete line if it has fk
2315 -- dependents
2316 -- Parameters :
2317 -- Version : 1.0
2318 -- End of comments
2319
2320 PROCEDURE delete_contract_line(
2321 p_api_version IN NUMBER,
2322 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2323 x_return_status OUT NOCOPY VARCHAR2,
2324 x_msg_count OUT NOCOPY NUMBER,
2325 x_msg_data OUT NOCOPY VARCHAR2,
2326 p_clev_rec IN okl_okc_migration_pvt.clev_rec_type,
2327 p_klev_rec IN klev_rec_type,
2328 p_delete_cascade_yn IN VARCHAR2) is
2329
2330 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CONTRACT_LINE';
2331 l_api_version CONSTANT NUMBER := 1.0;
2332 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2333 BEGIN
2334
2335 -- call START_ACTIVITY to create savepoint, check compatibility
2336 -- and initialize message list
2337 l_return_status := OKL_API.START_ACTIVITY(
2338 p_api_name => l_api_name,
2339 p_pkg_name => g_pkg_name,
2340 p_init_msg_list => p_init_msg_list,
2341 l_api_version => l_api_version,
2342 p_api_version => p_api_version,
2343 p_api_type => g_api_type,
2344 x_return_status => x_return_status);
2345
2346 -- check if activity started successfully
2347 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
2348 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2349 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
2350 raise OKL_API.G_EXCEPTION_ERROR;
2351 End If;
2352
2353 --call pvt api
2354 OKL_CONTRACT_PVT.delete_contract_line(
2355 p_api_version => p_api_version,
2356 p_init_msg_list => p_init_msg_list,
2357 x_return_status => x_return_status,
2358 x_msg_count => x_msg_count,
2359 x_msg_data => x_msg_data,
2360 p_clev_rec => p_clev_rec,
2361 p_klev_rec => p_klev_rec,
2362 p_delete_cascade_yn => p_delete_cascade_yn);
2363
2364 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2365 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2366 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2367 raise OKL_API.G_EXCEPTION_ERROR;
2368 END IF;
2369
2370 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
2371 x_msg_data => x_msg_data);
2372 EXCEPTION
2373 when OKL_API.G_EXCEPTION_ERROR then
2374 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2375 p_api_name => l_api_name,
2376 p_pkg_name => g_pkg_name,
2377 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2378 x_msg_count => x_msg_count,
2379 x_msg_data => x_msg_data,
2380 p_api_type => g_api_type);
2381
2382 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
2383 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2384 p_api_name => l_api_name,
2385 p_pkg_name => g_pkg_name,
2386 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2387 x_msg_count => x_msg_count,
2388 x_msg_data => x_msg_data,
2389 p_api_type => g_api_type);
2390
2391 when OTHERS then
2392 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2393 p_api_name => l_api_name,
2394 p_pkg_name => g_pkg_name,
2395 p_exc_name => 'OTHERS',
2396 x_msg_count => x_msg_count,
2397 x_msg_data => x_msg_data,
2398 p_api_type => g_api_type);
2399 END delete_contract_line;
2400
2401 PROCEDURE delete_contract_line(
2402 p_api_version IN NUMBER,
2403 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2404 x_return_status OUT NOCOPY VARCHAR2,
2405 x_msg_count OUT NOCOPY NUMBER,
2406 x_msg_data OUT NOCOPY VARCHAR2,
2407 p_clev_tbl IN okl_okc_migration_pvt.clev_tbl_type,
2408 p_klev_tbl IN klev_tbl_type,
2409 p_delete_cascade_yn IN varchar2) is
2410 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CONTRACT_LINE';
2411 l_api_version CONSTANT NUMBER := 1.0;
2412 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2413 BEGIN
2414
2415 -- call START_ACTIVITY to create savepoint, check compatibility
2416 -- and initialize message list
2417 l_return_status := OKL_API.START_ACTIVITY(
2418 p_api_name => l_api_name,
2419 p_pkg_name => g_pkg_name,
2420 p_init_msg_list => p_init_msg_list,
2421 l_api_version => l_api_version,
2422 p_api_version => p_api_version,
2423 p_api_type => g_api_type,
2424 x_return_status => x_return_status);
2425
2426 -- check if activity started successfully
2427 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
2428 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2429 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
2430 raise OKL_API.G_EXCEPTION_ERROR;
2431 End If;
2432
2433 --call pvt api
2434 OKL_CONTRACT_PVT.delete_contract_line(
2435 p_api_version => p_api_version,
2436 p_init_msg_list => p_init_msg_list,
2437 x_return_status => x_return_status,
2438 x_msg_count => x_msg_count,
2439 x_msg_data => x_msg_data,
2440 p_clev_tbl => p_clev_tbl,
2441 p_klev_tbl => p_klev_tbl,
2442 p_delete_cascade_yn => p_delete_cascade_yn);
2443
2444 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2445 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2446 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2447 raise OKL_API.G_EXCEPTION_ERROR;
2448 END IF;
2449
2450 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
2451 x_msg_data => x_msg_data);
2452 EXCEPTION
2453 when OKL_API.G_EXCEPTION_ERROR then
2454 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2455 p_api_name => l_api_name,
2456 p_pkg_name => g_pkg_name,
2457 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2458 x_msg_count => x_msg_count,
2459 x_msg_data => x_msg_data,
2460 p_api_type => g_api_type);
2461
2462 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
2463 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2464 p_api_name => l_api_name,
2465 p_pkg_name => g_pkg_name,
2466 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2467 x_msg_count => x_msg_count,
2468 x_msg_data => x_msg_data,
2469 p_api_type => g_api_type);
2470
2471 when OTHERS then
2472 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2473 p_api_name => l_api_name,
2474 p_pkg_name => g_pkg_name,
2475 p_exc_name => 'OTHERS',
2476 x_msg_count => x_msg_count,
2477 x_msg_data => x_msg_data,
2478 p_api_type => g_api_type);
2479 END delete_contract_line;
2480
2481 -- Start of comments
2482 --
2483 -- Procedure Name : lock_contract_line
2484 -- Description : locks contract line for shadowed contract
2485 -- Business Rules :
2486 -- Parameters :
2487 -- Version : 1.0
2488 -- End of comments
2489 PROCEDURE lock_contract_line(
2490 p_api_version IN NUMBER,
2491 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2492 x_return_status OUT NOCOPY VARCHAR2,
2493 x_msg_count OUT NOCOPY NUMBER,
2494 x_msg_data OUT NOCOPY VARCHAR2,
2495 p_clev_rec IN okl_okc_migration_pvt.clev_rec_type,
2496 p_klev_rec IN klev_rec_type) IS
2497
2498 l_clev_rec okl_okc_migration_pvt.clev_rec_type;
2499 l_klev_rec klev_rec_type;
2500
2501 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_CONTRACT_LINE';
2502 l_api_version CONSTANT NUMBER := 1.0;
2503 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2504 BEGIN
2505
2506 -- call START_ACTIVITY to create savepoint, check compatibility
2507 -- and initialize message list
2508 l_return_status := OKL_API.START_ACTIVITY(
2509 p_api_name => l_api_name,
2510 p_pkg_name => g_pkg_name,
2511 p_init_msg_list => p_init_msg_list,
2512 l_api_version => l_api_version,
2513 p_api_version => p_api_version,
2514 p_api_type => g_api_type,
2515 x_return_status => x_return_status);
2516
2517 -- check if activity started successfully
2518 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
2519 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2520 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
2521 raise OKL_API.G_EXCEPTION_ERROR;
2522 End If;
2523
2524 okl_contract_pvt.lock_contract_line(
2525 p_api_version => p_api_version,
2526 p_init_msg_list => p_init_msg_list,
2527 x_return_status => x_return_status,
2528 x_msg_count => x_msg_count,
2529 x_msg_data => x_msg_data,
2530 p_clev_rec => l_clev_rec,
2531 p_klev_rec => l_klev_rec);
2532
2533 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2534 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2535 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2536 raise OKL_API.G_EXCEPTION_ERROR;
2537 END IF;
2538
2539 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
2540 x_msg_data => x_msg_data);
2541 EXCEPTION
2542 when OKL_API.G_EXCEPTION_ERROR then
2543 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2544 p_api_name => l_api_name,
2545 p_pkg_name => g_pkg_name,
2546 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2547 x_msg_count => x_msg_count,
2548 x_msg_data => x_msg_data,
2549 p_api_type => g_api_type);
2550
2551 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
2552 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2553 p_api_name => l_api_name,
2554 p_pkg_name => g_pkg_name,
2555 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2556 x_msg_count => x_msg_count,
2557 x_msg_data => x_msg_data,
2558 p_api_type => g_api_type);
2559
2560 when OTHERS then
2561 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2562 p_api_name => l_api_name,
2563 p_pkg_name => g_pkg_name,
2564 p_exc_name => 'OTHERS',
2565 x_msg_count => x_msg_count,
2566 x_msg_data => x_msg_data,
2567 p_api_type => g_api_type);
2568 END lock_contract_line;
2569
2570
2571 -- Start of comments
2572 --
2573 -- Procedure Name : lock_contract_line
2574 -- Description : locks contract line for shadowed contract
2575 -- Business Rules :
2576 -- Parameters :
2577 -- Version : 1.0
2578 -- End of comments
2579 PROCEDURE lock_contract_line(
2580 p_api_version IN NUMBER,
2581 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2582 x_return_status OUT NOCOPY VARCHAR2,
2583 x_msg_count OUT NOCOPY NUMBER,
2584 x_msg_data OUT NOCOPY VARCHAR2,
2585 p_clev_tbl IN okl_okc_migration_pvt.clev_tbl_type,
2586 p_klev_tbl IN klev_tbl_type) IS
2587
2588 l_api_name CONSTANT VARCHAR2(30) := 'lock_CONTRACT_LINE';
2589 l_api_version CONSTANT NUMBER := 1.0;
2590 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2591 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2592 i NUMBER;
2593 l_klev_tbl klev_tbl_type := p_klev_tbl;
2594 BEGIN
2595 /*
2596 -- call START_ACTIVITY to create savepoint, check compatibility
2597 -- and initialize message list
2598 l_return_status := OKL_API.START_ACTIVITY(
2599 p_api_name => l_api_name,
2600 p_pkg_name => g_pkg_name,
2601 p_init_msg_list => p_init_msg_list,
2602 l_api_version => l_api_version,
2603 p_api_version => p_api_version,
2604 p_api_type => g_api_type,
2605 x_return_status => x_return_status);
2606
2607 -- check if activity started successfully
2608 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
2609 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2610 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
2611 raise OKL_API.G_EXCEPTION_ERROR;
2612 End If;
2613 */
2614 If (p_clev_tbl.COUNT > 0) Then
2615 i := p_clev_tbl.FIRST;
2616 LOOP
2617 -- call procedure in complex API for a record
2618 lock_contract_line(
2619 p_api_version => p_api_version,
2620 p_init_msg_list => p_init_msg_list,
2621 x_return_status => x_return_status,
2622 x_msg_count => x_msg_count,
2623 x_msg_data => x_msg_data,
2624 p_clev_rec => p_clev_tbl(i),
2625 p_klev_rec => l_klev_tbl(i));
2626
2627 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
2628 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
2629 l_overall_status := x_return_status;
2630 End If;
2631 End If;
2632
2633 EXIT WHEN (i = p_clev_tbl.LAST);
2634 i := p_clev_tbl.NEXT(i);
2635 END LOOP;
2636
2637 -- return overall status
2638 x_return_status := l_overall_status;
2639 End If;
2640
2641 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
2642 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2643 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
2644 raise OKL_API.G_EXCEPTION_ERROR;
2645 End If;
2646 /*
2647 OKL_API.END_ACTIVITY( x_msg_count => x_msg_count,
2648 x_msg_data => x_msg_data);
2649 */
2650 EXCEPTION
2651 when OKL_API.G_EXCEPTION_ERROR then
2652 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2653 p_api_name => l_api_name,
2654 p_pkg_name => g_pkg_name,
2655 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2656 x_msg_count => x_msg_count,
2657 x_msg_data => x_msg_data,
2658 p_api_type => g_api_type);
2659
2660 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
2661 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2662 p_api_name => l_api_name,
2663 p_pkg_name => g_pkg_name,
2664 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2665 x_msg_count => x_msg_count,
2666 x_msg_data => x_msg_data,
2667 p_api_type => g_api_type);
2668
2669 when OTHERS then
2670 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2671 p_api_name => l_api_name,
2672 p_pkg_name => g_pkg_name,
2673 p_exc_name => 'OTHERS',
2674 x_msg_count => x_msg_count,
2675 x_msg_data => x_msg_data,
2676 p_api_type => g_api_type);
2677
2678 END lock_contract_line;
2679
2680
2681 -- Start of comments
2682 --
2683 -- Procedure Name : validate_contract_line
2684 -- Description : validates contract line for shadowed contract
2685 -- Business Rules :
2686 -- Parameters :
2687 -- Version : 1.0
2688 -- End of comments
2689 PROCEDURE validate_contract_line(
2690 p_api_version IN NUMBER,
2691 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2692 x_return_status OUT NOCOPY VARCHAR2,
2693 x_msg_count OUT NOCOPY NUMBER,
2694 x_msg_data OUT NOCOPY VARCHAR2,
2695 p_clev_rec IN okl_okc_migration_pvt.clev_rec_type,
2696 p_klev_rec IN klev_rec_type) IS
2697
2698 l_clev_rec okl_okc_migration_pvt.clev_rec_type;
2699 l_klev_rec klev_rec_type;
2700
2701 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_CONTRACT_LINE';
2702 l_api_version CONSTANT NUMBER := 1.0;
2703 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2704 BEGIN
2705
2706 -- call START_ACTIVITY to create savepoint, check compatibility
2707 -- and initialize message list
2708 l_return_status := OKL_API.START_ACTIVITY(
2709 p_api_name => l_api_name,
2710 p_pkg_name => g_pkg_name,
2711 p_init_msg_list => p_init_msg_list,
2712 l_api_version => l_api_version,
2713 p_api_version => p_api_version,
2714 p_api_type => g_api_type,
2715 x_return_status => x_return_status);
2716
2717 -- check if activity started successfully
2718 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
2719 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2720 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
2721 raise OKL_API.G_EXCEPTION_ERROR;
2722 End If;
2723
2724 l_klev_rec := p_klev_rec;
2725 l_clev_rec := p_clev_rec;
2726 g_klev_rec := l_klev_rec;
2727 g_clev_rec := l_clev_rec;
2728
2729
2730 --Call pre Vertical Hook :
2731
2732 l_klev_rec.id := p_klev_rec.id;
2733 l_klev_rec.object_version_number := p_klev_rec.object_version_number;
2734 l_clev_rec.id := p_clev_rec.id;
2735 l_clev_rec.object_version_number := p_clev_rec.object_version_number;
2736
2737 okl_contract_pvt.validate_contract_line(
2738 p_api_version => p_api_version,
2739 p_init_msg_list => p_init_msg_list,
2740 x_return_status => x_return_status,
2741 x_msg_count => x_msg_count,
2742 x_msg_data => x_msg_data,
2743 p_clev_rec => l_clev_rec,
2744 p_klev_rec => l_klev_rec);
2745
2746 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2747 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2748 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2749 raise OKL_API.G_EXCEPTION_ERROR;
2750 END IF;
2751
2752 l_klev_rec := p_klev_rec;
2753 l_clev_rec := p_clev_rec;
2754 g_klev_rec := l_klev_rec;
2755 g_clev_rec := l_clev_rec;
2756
2757 --Call After Vertical Hook
2758 --Call After User Hook
2759
2760 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
2761 x_msg_data => x_msg_data);
2762 EXCEPTION
2763 when OKL_API.G_EXCEPTION_ERROR then
2764 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2765 p_api_name => l_api_name,
2766 p_pkg_name => g_pkg_name,
2767 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2768 x_msg_count => x_msg_count,
2769 x_msg_data => x_msg_data,
2770 p_api_type => g_api_type);
2771
2772 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
2773 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2774 p_api_name => l_api_name,
2775 p_pkg_name => g_pkg_name,
2776 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2777 x_msg_count => x_msg_count,
2778 x_msg_data => x_msg_data,
2779 p_api_type => g_api_type);
2780
2781 when OTHERS then
2782 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2783 p_api_name => l_api_name,
2784 p_pkg_name => g_pkg_name,
2785 p_exc_name => 'OTHERS',
2786 x_msg_count => x_msg_count,
2787 x_msg_data => x_msg_data,
2788 p_api_type => g_api_type);
2789 END validate_contract_line;
2790
2791
2792 -- Start of comments
2793 --
2794 -- Procedure Name : validate_contract_line
2795 -- Description : validates contract line for shadowed contract
2796 -- Business Rules :
2797 -- Parameters :
2798 -- Version : 1.0
2799 -- End of comments
2800 PROCEDURE validate_contract_line(
2801 p_api_version IN NUMBER,
2802 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2803 x_return_status OUT NOCOPY VARCHAR2,
2804 x_msg_count OUT NOCOPY NUMBER,
2805 x_msg_data OUT NOCOPY VARCHAR2,
2806 p_clev_tbl IN okl_okc_migration_pvt.clev_tbl_type,
2807 p_klev_tbl IN klev_tbl_type) IS
2808
2809 l_api_name CONSTANT VARCHAR2(30) := 'validate_CONTRACT_LINE';
2810 l_api_version CONSTANT NUMBER := 1.0;
2811 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2812 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2813 i NUMBER;
2814 l_klev_tbl klev_tbl_type := p_klev_tbl;
2815 BEGIN
2816 /*
2817 -- call START_ACTIVITY to create savepoint, check compatibility
2818 -- and initialize message list
2819 l_return_status := OKL_API.START_ACTIVITY(
2820 p_api_name => l_api_name,
2821 p_pkg_name => g_pkg_name,
2822 p_init_msg_list => p_init_msg_list,
2823 l_api_version => l_api_version,
2824 p_api_version => p_api_version,
2825 p_api_type => g_api_type,
2826 x_return_status => x_return_status);
2827
2828 -- check if activity started successfully
2829 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
2830 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2831 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
2832 raise OKL_API.G_EXCEPTION_ERROR;
2833 End If;
2834 */
2835 If (p_clev_tbl.COUNT > 0) Then
2836 i := p_clev_tbl.FIRST;
2837 LOOP
2838 -- call procedure in complex API for a record
2839 validate_contract_line(
2840 p_api_version => p_api_version,
2841 p_init_msg_list => p_init_msg_list,
2842 x_return_status => x_return_status,
2843 x_msg_count => x_msg_count,
2844 x_msg_data => x_msg_data,
2845 p_clev_rec => p_clev_tbl(i),
2846 p_klev_rec => l_klev_tbl(i));
2847
2848 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
2849 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
2850 l_overall_status := x_return_status;
2851 End If;
2852 End If;
2853
2854 EXIT WHEN (i = p_clev_tbl.LAST);
2855 i := p_clev_tbl.NEXT(i);
2856 END LOOP;
2857
2858 -- return overall status
2859 x_return_status := l_overall_status;
2860 End If;
2861
2862 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
2863 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2864 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
2865 raise OKL_API.G_EXCEPTION_ERROR;
2866 End If;
2867 /*
2868 OKL_API.END_ACTIVITY( x_msg_count => x_msg_count,
2869 x_msg_data => x_msg_data);
2870 */
2871 EXCEPTION
2872 when OKL_API.G_EXCEPTION_ERROR then
2873 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2874 p_api_name => l_api_name,
2875 p_pkg_name => g_pkg_name,
2876 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2877 x_msg_count => x_msg_count,
2878 x_msg_data => x_msg_data,
2879 p_api_type => g_api_type);
2880
2881 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
2882 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2883 p_api_name => l_api_name,
2884 p_pkg_name => g_pkg_name,
2885 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2886 x_msg_count => x_msg_count,
2887 x_msg_data => x_msg_data,
2888 p_api_type => g_api_type);
2889
2890 when OTHERS then
2891 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2892 p_api_name => l_api_name,
2893 p_pkg_name => g_pkg_name,
2894 p_exc_name => 'OTHERS',
2895 x_msg_count => x_msg_count,
2896 x_msg_data => x_msg_data,
2897 p_api_type => g_api_type);
2898
2899 END validate_contract_line;
2900
2901 PROCEDURE create_governance(
2902 p_api_version IN NUMBER,
2903 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2904 x_return_status OUT NOCOPY VARCHAR2,
2905 x_msg_count OUT NOCOPY NUMBER,
2906 x_msg_data OUT NOCOPY VARCHAR2,
2907 p_gvev_rec IN okl_okc_migration_pvt.gvev_rec_type,
2908 x_gvev_rec OUT NOCOPY okl_okc_migration_pvt.gvev_rec_type) is
2909 begin
2910 okl_contract_pvt.create_governance
2911 (p_api_version => p_api_version,
2912 p_init_msg_list => p_init_msg_list,
2913 x_return_status => x_return_status,
2914 x_msg_count => x_msg_count,
2915 x_msg_data => x_msg_data,
2916 p_gvev_rec => p_gvev_rec,
2917 x_gvev_rec => x_gvev_rec);
2918
2919 end;
2920
2921 PROCEDURE create_governance(
2922 p_api_version IN NUMBER,
2923 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2924 x_return_status OUT NOCOPY VARCHAR2,
2925 x_msg_count OUT NOCOPY NUMBER,
2926 x_msg_data OUT NOCOPY VARCHAR2,
2927 p_gvev_tbl IN okl_okc_migration_pvt.gvev_tbl_type,
2928 x_gvev_tbl OUT NOCOPY okl_okc_migration_pvt.gvev_tbl_type)is
2929 begin
2930 okl_contract_pvt.create_governance
2931 (p_api_version => p_api_version,
2932 p_init_msg_list => p_init_msg_list,
2933 x_return_status => x_return_status,
2934 x_msg_count => x_msg_count,
2935 x_msg_data => x_msg_data,
2936 p_gvev_tbl => p_gvev_tbl,
2937 x_gvev_tbl => x_gvev_tbl);
2938
2939 end;
2940
2941 PROCEDURE update_governance(
2942 p_api_version IN NUMBER,
2943 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2944 x_return_status OUT NOCOPY VARCHAR2,
2945 x_msg_count OUT NOCOPY NUMBER,
2946 x_msg_data OUT NOCOPY VARCHAR2,
2947 p_gvev_rec IN okl_okc_migration_pvt.gvev_rec_type,
2948 x_gvev_rec OUT NOCOPY okl_okc_migration_pvt.gvev_rec_type)is
2949 begin
2950 okl_contract_pvt.update_governance
2951 (p_api_version => p_api_version,
2952 p_init_msg_list => p_init_msg_list,
2953 x_return_status => x_return_status,
2954 x_msg_count => x_msg_count,
2955 x_msg_data => x_msg_data,
2956 p_gvev_rec => p_gvev_rec,
2957 x_gvev_rec => x_gvev_rec);
2958
2959 end;
2960
2961 PROCEDURE update_governance(
2962 p_api_version IN NUMBER,
2963 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2964 x_return_status OUT NOCOPY VARCHAR2,
2965 x_msg_count OUT NOCOPY NUMBER,
2966 x_msg_data OUT NOCOPY VARCHAR2,
2967 p_gvev_tbl IN okl_okc_migration_pvt.gvev_tbl_type,
2968 x_gvev_tbl OUT NOCOPY okl_okc_migration_pvt.gvev_tbl_type)is
2969 begin
2970 okl_contract_pvt.update_governance
2971 (p_api_version => p_api_version,
2972 p_init_msg_list => p_init_msg_list,
2973 x_return_status => x_return_status,
2974 x_msg_count => x_msg_count,
2975 x_msg_data => x_msg_data,
2976 p_gvev_tbl => p_gvev_tbl,
2977 x_gvev_tbl => x_gvev_tbl);
2978
2979 end;
2980
2981 PROCEDURE delete_governance(
2982 p_api_version IN NUMBER,
2983 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2984 x_return_status OUT NOCOPY VARCHAR2,
2985 x_msg_count OUT NOCOPY NUMBER,
2986 x_msg_data OUT NOCOPY VARCHAR2,
2987 p_gvev_rec IN okl_okc_migration_pvt.gvev_rec_type)is
2988 begin
2989 okl_contract_pvt.delete_governance
2990 (p_api_version => p_api_version,
2991 p_init_msg_list => p_init_msg_list,
2992 x_return_status => x_return_status,
2993 x_msg_count => x_msg_count,
2994 x_msg_data => x_msg_data,
2995 p_gvev_rec => p_gvev_rec);
2996
2997 end;
2998
2999 PROCEDURE delete_governance(
3000 p_api_version IN NUMBER,
3001 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3002 x_return_status OUT NOCOPY VARCHAR2,
3003 x_msg_count OUT NOCOPY NUMBER,
3004 x_msg_data OUT NOCOPY VARCHAR2,
3005 p_gvev_tbl IN okl_okc_migration_pvt.gvev_tbl_type)is
3006 begin
3007 okl_contract_pvt.delete_governance
3008 (p_api_version => p_api_version,
3009 p_init_msg_list => p_init_msg_list,
3010 x_return_status => x_return_status,
3011 x_msg_count => x_msg_count,
3012 x_msg_data => x_msg_data,
3013 p_gvev_tbl => p_gvev_tbl);
3014
3015 end;
3016
3017 PROCEDURE lock_governance(
3018 p_api_version IN NUMBER,
3019 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3020 x_return_status OUT NOCOPY VARCHAR2,
3021 x_msg_count OUT NOCOPY NUMBER,
3022 x_msg_data OUT NOCOPY VARCHAR2,
3023 p_gvev_rec IN okl_okc_migration_pvt.gvev_rec_type)is
3024 begin
3025 okl_contract_pvt.lock_governance
3026 (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_gvev_rec => p_gvev_rec);
3032
3033 end;
3034
3035 PROCEDURE lock_governance(
3036 p_api_version IN NUMBER,
3037 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3038 x_return_status OUT NOCOPY VARCHAR2,
3039 x_msg_count OUT NOCOPY NUMBER,
3040 x_msg_data OUT NOCOPY VARCHAR2,
3041 p_gvev_tbl IN okl_okc_migration_pvt.gvev_tbl_type)is
3042 begin
3043 okl_contract_pvt.lock_governance
3044 (p_api_version => p_api_version,
3045 p_init_msg_list => p_init_msg_list,
3046 x_return_status => x_return_status,
3047 x_msg_count => x_msg_count,
3048 x_msg_data => x_msg_data,
3049 p_gvev_tbl => p_gvev_tbl);
3050
3051 end;
3052
3053 PROCEDURE validate_governance(
3054 p_api_version IN NUMBER,
3055 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3056 x_return_status OUT NOCOPY VARCHAR2,
3057 x_msg_count OUT NOCOPY NUMBER,
3058 x_msg_data OUT NOCOPY VARCHAR2,
3059 p_gvev_rec IN okl_okc_migration_pvt.gvev_rec_type)is
3060 begin
3061 okl_contract_pvt.validate_governance
3062 (p_api_version => p_api_version,
3063 p_init_msg_list => p_init_msg_list,
3064 x_return_status => x_return_status,
3065 x_msg_count => x_msg_count,
3066 x_msg_data => x_msg_data,
3067 p_gvev_rec => p_gvev_rec);
3068
3069 end;
3070
3071 PROCEDURE validate_governance(
3072 p_api_version IN NUMBER,
3073 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3074 x_return_status OUT NOCOPY VARCHAR2,
3075 x_msg_count OUT NOCOPY NUMBER,
3076 x_msg_data OUT NOCOPY VARCHAR2,
3077 p_gvev_tbl IN okl_okc_migration_pvt.gvev_tbl_type)is
3078 begin
3079 okl_contract_pvt.validate_governance
3080 (p_api_version => p_api_version,
3081 p_init_msg_list => p_init_msg_list,
3082 x_return_status => x_return_status,
3083 x_msg_count => x_msg_count,
3084 x_msg_data => x_msg_data,
3085 p_gvev_tbl => p_gvev_tbl);
3086 end;
3087
3088 Procedure get_contract_header_info(
3089 p_api_version IN NUMBER,
3090 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3091 x_return_status OUT NOCOPY VARCHAR2,
3092 x_msg_count OUT NOCOPY NUMBER,
3093 x_msg_data OUT NOCOPY VARCHAR2,
3094 p_chr_id IN NUMBER,
3095 p_chr_id_old IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3096 p_orgId IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3097 p_custId IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3098 p_invOrgId IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3099 p_oldOKL_STATUS IN VARCHAR2 DEFAULT OKL_API.G_MISS_CHAR,
3100 p_oldOKC_STATUS IN VARCHAR2 DEFAULT OKL_API.G_MISS_CHAR,
3101 x_hdr_tbl OUT NOCOPY hdr_tbl_type) is
3102
3103 l_api_name CONSTANT VARCHAR2(30) := 'CONTRACT_HDR_INFO';
3104 l_api_version CONSTANT NUMBER := 1.0;
3105 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3106 BEGIN
3107
3108 -- call START_ACTIVITY to create savepoint, check compatibility
3109 -- and initialize message list
3110 l_return_status := OKL_API.START_ACTIVITY(
3111 p_api_name => l_api_name,
3112 p_pkg_name => g_pkg_name,
3113 p_init_msg_list => p_init_msg_list,
3114 l_api_version => l_api_version,
3115 p_api_version => p_api_version,
3116 p_api_type => g_api_type,
3117 x_return_status => x_return_status);
3118
3119 -- check if activity started successfully
3120 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
3121 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3122 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
3123 raise OKL_API.G_EXCEPTION_ERROR;
3124 End If;
3125
3126 OKL_CONTRACT_PVT.get_contract_header_info(
3127 p_api_version => p_api_version,
3128 p_init_msg_list => p_init_msg_list,
3129 x_return_status => x_return_status,
3130 x_msg_count => x_msg_count,
3131 x_msg_data => x_msg_data,
3132 p_chr_id => p_chr_id,
3133 p_chr_id_old => p_chr_id_old,
3134 p_orgId => p_orgid,
3135 p_custId => p_custid,
3136 p_invOrgId => p_invOrgId,
3137 p_oldOKL_STATUS => p_oldOKL_STATUS,
3138 p_oldOKC_STATUS => p_oldOKC_STATUS,
3139 x_hdr_tbl => x_hdr_tbl);
3140
3141 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3142 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3143 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
3144 raise OKL_API.G_EXCEPTION_ERROR;
3145 End If;
3146
3147 OKL_API.END_ACTIVITY( x_msg_count => x_msg_count,
3148 x_msg_data => x_msg_data);
3149 EXCEPTION
3150 when OKL_API.G_EXCEPTION_ERROR then
3151 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3152 p_api_name => l_api_name,
3153 p_pkg_name => g_pkg_name,
3154 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
3155 x_msg_count => x_msg_count,
3156 x_msg_data => x_msg_data,
3157 p_api_type => g_api_type);
3158
3159 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
3160 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3161 p_api_name => l_api_name,
3162 p_pkg_name => g_pkg_name,
3163 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
3164 x_msg_count => x_msg_count,
3165 x_msg_data => x_msg_data,
3166 p_api_type => g_api_type);
3167
3168 when OTHERS then
3169 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3170 p_api_name => l_api_name,
3171 p_pkg_name => g_pkg_name,
3172 p_exc_name => 'OTHERS',
3173 x_msg_count => x_msg_count,
3174 x_msg_data => x_msg_data,
3175 p_api_type => g_api_type);
3176 End get_contract_header_info;
3177
3178 END OKL_CONTRACT_PUB;