[Home] [Help]
PACKAGE BODY: APPS.OKL_SERVICE_INTEGRATION_PUB
Source
1 PACKAGE BODY OKL_SERVICE_INTEGRATION_PUB AS
2 /* $Header: OKLPSRIB.pls 115.1 2002/12/30 23:13:24 dedey noship $*/
3
4 -- Global Variables
5 G_DEBUG NUMBER := 1;
6 G_INIT_NUMBER NUMBER := -9999;
7 G_PKG_NAME CONSTANT VARCHAR2(200) := 'OKL_SERVICE_INTEGRATION_PUB';
8 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
9 G_API_TYPE CONSTANT VARCHAR2(4) := '_PUB';
10
11 ------------------------------------------------------------------------------
12 -- PROCEDURE create_link_service_line
13 --
14 -- This procedure creates and links service line under a given contract in OKL. The
15 -- service line information comes from OKS service contract number provided as
16 -- an input parameter.
17 --
18 -- Calls:
19 -- Called By:
20 ------------------------------------------------------------------------------
21 PROCEDURE create_link_service_line(
22 p_api_version IN NUMBER,
23 p_init_msg_list IN VARCHAR2,
24 x_return_status OUT NOCOPY VARCHAR2,
25 x_msg_count OUT NOCOPY NUMBER,
26 x_msg_data OUT NOCOPY VARCHAR2,
27 p_okl_chr_id IN OKC_K_HEADERS_V.ID%TYPE, -- Lease Contract Header ID
28 p_oks_chr_id IN OKC_K_HEADERS_V.ID%TYPE, -- Service Contract Header ID
29 p_oks_service_line_id IN OKC_K_LINES_V.ID%TYPE, -- Service Contract Service Top Line ID
30 p_supplier_id IN NUMBER,
31 x_okl_service_line_id OUT NOCOPY OKC_K_LINES_V.ID%TYPE -- Returns Lease Contract Service TOP Line ID
32 )IS
33
34 l_api_name VARCHAR2(35) := 'create_link_service_line';
35 l_proc_name VARCHAR2(35) := 'CREATE_LINK_SERVICE_LINE';
36 l_api_version CONSTANT NUMBER := 1;
37
38 l_okl_service_line_id OKC_K_HEADERS_V.ID%TYPE;
39 BEGIN
40
41
42 -- call START_ACTIVITY to create savepoint, check compatibility
43 -- and initialize message list
44 x_return_status := OKC_API.START_ACTIVITY(
45 p_api_name => l_api_name,
46 p_pkg_name => G_PKG_NAME,
47 p_init_msg_list => p_init_msg_list,
48 l_api_version => l_api_version,
49 p_api_version => p_api_version,
50 p_api_type => G_API_TYPE,
51 x_return_status => x_return_status);
52
53 -- check if activity started successfully
54 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
55 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
56 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
57 raise OKC_API.G_EXCEPTION_ERROR;
58 END IF;
59
60 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
61 okl_service_integration_pvt.create_link_service_line(
62 p_api_version => 1.0,
63 p_init_msg_list => OKL_API.G_FALSE,
64 x_return_status => x_return_status,
65 x_msg_count => x_msg_count,
66 x_msg_data => x_msg_data,
67 p_okl_chr_id => p_okl_chr_id,
68 p_oks_chr_id => p_oks_chr_id,
69 p_oks_service_line_id => p_oks_service_line_id,
70 p_supplier_id => p_supplier_id,
71 x_okl_service_line_id => x_okl_service_line_id
72 );
73
74 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
75 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
76 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
77 raise OKC_API.G_EXCEPTION_ERROR;
78 END IF;
79
80 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
81
82 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
83 x_msg_data => x_msg_data);
84
85 EXCEPTION
86
87 when OKC_API.G_EXCEPTION_ERROR then
88 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
89 p_api_name => l_api_name,
90 p_pkg_name => G_PKG_NAME,
91 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
92 x_msg_count => x_msg_count,
93 x_msg_data => x_msg_data,
94 p_api_type => G_API_TYPE);
95
96 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
97 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
98 p_api_name => l_api_name,
99 p_pkg_name => G_PKG_NAME,
100 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
101 x_msg_count => x_msg_count,
102 x_msg_data => x_msg_data,
103 p_api_type => G_API_TYPE);
104
105 when OTHERS then
106 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
107 p_api_name => l_api_name,
108 p_pkg_name => G_PKG_NAME,
109 p_exc_name => 'OTHERS',
110 x_msg_count => x_msg_count,
111 x_msg_data => x_msg_data,
112 p_api_type => G_API_TYPE);
113
114 END create_link_service_line;
115 ------------------------------------------------------------------------------
116 -- PROCEDURE create_service_line
117 --
118 -- This procedure creates a service line under a given contract in OKL. The
119 -- service line information comes from OKS service contract number provided as
120 -- an input parameter.
121 --
122 -- Calls:
123 -- Called By:
124 ------------------------------------------------------------------------------
125 PROCEDURE create_service_line(
126 p_api_version IN NUMBER,
127 p_init_msg_list IN VARCHAR2,
128 x_return_status OUT NOCOPY VARCHAR2,
129 x_msg_count OUT NOCOPY NUMBER,
130 x_msg_data OUT NOCOPY VARCHAR2,
131 p_okl_chr_id IN OKC_K_HEADERS_V.ID%TYPE, -- Lease Contract Header ID
132 p_oks_chr_id IN OKC_K_HEADERS_V.ID%TYPE, -- Service Contract Header ID
133 p_oks_service_line_id IN OKC_K_LINES_V.ID%TYPE, -- Service Contract Service Top Line ID
134 p_supplier_id IN NUMBER,
135 x_okl_service_line_id OUT NOCOPY OKC_K_LINES_V.ID%TYPE -- Returns Lease Contract Service TOP Line ID
136 )IS
137 l_api_name VARCHAR2(35) := 'create_service_line';
138 l_proc_name VARCHAR2(35) := 'CREATE_SERVICE_LINE';
139 l_api_version CONSTANT NUMBER := 1;
140
141 BEGIN -- main process begins here
142
143 -- call START_ACTIVITY to create savepoint, check compatibility
144 -- and initialize message list
145 x_return_status := OKC_API.START_ACTIVITY(
146 p_api_name => l_api_name,
147 p_pkg_name => G_PKG_NAME,
148 p_init_msg_list => p_init_msg_list,
149 l_api_version => l_api_version,
150 p_api_version => p_api_version,
151 p_api_type => G_API_TYPE,
152 x_return_status => x_return_status);
153
154 -- check if activity started successfully
155 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
156 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
157 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
158 raise OKC_API.G_EXCEPTION_ERROR;
159 END IF;
160
161 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
162
163 okl_service_integration_pvt.create_service_line(
164 p_api_version => p_api_version,
165 p_init_msg_list => p_init_msg_list,
166 x_return_status => x_return_status,
167 x_msg_count => x_msg_count,
168 x_msg_data => x_msg_data,
169 p_okl_chr_id => p_okl_chr_id,
170 p_oks_chr_id => p_oks_chr_id,
171 p_oks_service_line_id => p_oks_service_line_id,
172 p_supplier_id => p_supplier_id,
173 x_okl_service_line_id => x_okl_service_line_id
174 );
175
176 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
177 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
178 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
179 raise OKC_API.G_EXCEPTION_ERROR;
180 END IF;
181
182 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
183
184 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
185 x_msg_data => x_msg_data);
186
187 EXCEPTION
188
189 when OKC_API.G_EXCEPTION_ERROR then
190 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
191 p_api_name => l_api_name,
192 p_pkg_name => G_PKG_NAME,
193 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
194 x_msg_count => x_msg_count,
195 x_msg_data => x_msg_data,
196 p_api_type => G_API_TYPE);
197
198 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
199 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
200 p_api_name => l_api_name,
201 p_pkg_name => G_PKG_NAME,
202 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
203 x_msg_count => x_msg_count,
204 x_msg_data => x_msg_data,
205 p_api_type => G_API_TYPE);
206
207 when OTHERS then
208 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
209 p_api_name => l_api_name,
210 p_pkg_name => G_PKG_NAME,
211 p_exc_name => 'OTHERS',
212 x_msg_count => x_msg_count,
213 x_msg_data => x_msg_data,
214 p_api_type => G_API_TYPE);
215
216 END create_service_line;
217
218 ------------------------------------------------------------------------------
219 -- PROCEDURE link_service_line
220 --
221 -- This procedure links
222 -- 1. Lease and Service Contract Header
223 -- 2. Lease Contract Service Line and Service Contract service line
224 --
225 -- Calls:
226 -- Called By:
227 ------------------------------------------------------------------------------
228 PROCEDURE link_service_line(
229 p_api_version IN NUMBER,
230 p_init_msg_list IN VARCHAR2,
231 x_return_status OUT NOCOPY VARCHAR2,
232 x_msg_count OUT NOCOPY NUMBER,
233 x_msg_data OUT NOCOPY VARCHAR2,
234 p_okl_chr_id IN OKC_K_HEADERS_V.ID%TYPE, -- Lease Contract Header ID
235 p_oks_chr_id IN OKC_K_HEADERS_V.ID%TYPE, -- Service Contract Header ID
236 p_okl_service_line_id IN OKC_K_LINES_V.ID%TYPE, -- Lease Service Top Line ID
237 p_oks_service_line_id IN OKC_K_LINES_V.ID%TYPE -- Service Contract - Service TOP Line ID
238 ) IS
239
240 l_api_name VARCHAR2(35) := 'link_service_line';
241 l_proc_name VARCHAR2(35) := 'LINK_SERVICE_LINE';
242 l_api_version CONSTANT NUMBER := 1;
243
244 BEGIN
245
246 -- call START_ACTIVITY to create savepoint, check compatibility
247 -- and initialize message list
248 x_return_status := OKC_API.START_ACTIVITY(
249 p_api_name => l_api_name,
250 p_pkg_name => G_PKG_NAME,
251 p_init_msg_list => p_init_msg_list,
252 l_api_version => l_api_version,
253 p_api_version => p_api_version,
254 p_api_type => G_API_TYPE,
255 x_return_status => x_return_status);
256
257 -- check if activity started successfully
258 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
259 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
260 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
261 raise OKC_API.G_EXCEPTION_ERROR;
262 END IF;
263
264 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
265
266 okl_service_integration_pvt.link_service_line(
267 p_api_version => p_api_version,
268 p_init_msg_list => p_init_msg_list,
269 x_return_status => x_return_status,
270 x_msg_count => x_msg_count,
271 x_msg_data => x_msg_data,
272 p_okl_chr_id => p_okl_chr_id,
273 p_oks_chr_id => p_oks_chr_id,
274 p_okl_service_line_id => p_okl_service_line_id,
275 p_oks_service_line_id => p_oks_service_line_id
276 );
277
278 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
279 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
280 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
281 raise OKC_API.G_EXCEPTION_ERROR;
282 END IF;
283
284 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
285
286 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
287 x_msg_data => x_msg_data);
288
289 EXCEPTION
290 when OKC_API.G_EXCEPTION_ERROR then
291 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
292 p_api_name => l_api_name,
293 p_pkg_name => G_PKG_NAME,
294 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
295 x_msg_count => x_msg_count,
296 x_msg_data => x_msg_data,
297 p_api_type => G_API_TYPE);
298
299 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
300 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
301 p_api_name => l_api_name,
302 p_pkg_name => G_PKG_NAME,
303 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
304 x_msg_count => x_msg_count,
305 x_msg_data => x_msg_data,
306 p_api_type => G_API_TYPE);
307
308 when OTHERS then
309 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
310 p_api_name => l_api_name,
311 p_pkg_name => G_PKG_NAME,
312 p_exc_name => 'OTHERS',
313 x_msg_count => x_msg_count,
314 x_msg_data => x_msg_data,
315 p_api_type => G_API_TYPE);
316
317 END link_service_line;
318
319 ------------------------------------------------------------------------------
320 -- PROCEDURE delete_service_line
321 --
322 -- This procedure deletes service line. It also checks for any existing links
323 -- with OKS Service contract, if so, it deltes the link too.
324 --
325 -- Calls:
326 -- Called By:
327 ------------------------------------------------------------------------------
328 PROCEDURE delete_service_line(
329 p_api_version IN NUMBER,
330 p_init_msg_list IN VARCHAR2,
331 x_return_status OUT NOCOPY VARCHAR2,
332 x_msg_count OUT NOCOPY NUMBER,
333 x_msg_data OUT NOCOPY VARCHAR2,
334 p_clev_rec IN clev_rec_type,
335 p_klev_rec IN klev_rec_type
336 ) IS
337 l_api_name VARCHAR2(35) := 'delete_service_link';
338 l_proc_name VARCHAR2(35) := 'DELETE_SERVICE_LINK';
339 l_api_version CONSTANT NUMBER := 1;
340
341 BEGIN -- main process begins here
342
343 x_return_status := OKC_API.G_RET_STS_SUCCESS;
344 -- call START_ACTIVITY to create savepoint, check compatibility
345 -- and initialize message list
346 x_return_status := OKC_API.START_ACTIVITY(
347 p_api_name => l_api_name,
348 p_pkg_name => G_PKG_NAME,
349 p_init_msg_list => p_init_msg_list,
350 l_api_version => l_api_version,
351 p_api_version => p_api_version,
352 p_api_type => G_API_TYPE,
353 x_return_status => x_return_status);
354
355 -- check if activity started successfully
356 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
357 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
358 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
359 raise OKC_API.G_EXCEPTION_ERROR;
360 END IF;
361
362 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
363
364 okl_service_integration_pvt.delete_service_line(
365 p_api_version => p_api_version,
366 p_init_msg_list => OKL_API.G_FALSE,
367 x_return_status => x_return_status,
368 x_msg_count => x_msg_count,
369 x_msg_data => x_msg_data,
370 p_clev_rec => p_clev_rec,
371 p_klev_rec => p_klev_rec
372 );
373
374 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
375 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
376 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
377 raise OKC_API.G_EXCEPTION_ERROR;
378 END IF;
379
380 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
381
382 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
383 x_msg_data => x_msg_data);
384
385 EXCEPTION
386 when OKC_API.G_EXCEPTION_ERROR then
387 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
388 p_api_name => l_api_name,
389 p_pkg_name => G_PKG_NAME,
390 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
391 x_msg_count => x_msg_count,
392 x_msg_data => x_msg_data,
393 p_api_type => G_API_TYPE);
394
395 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
396 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
397 p_api_name => l_api_name,
398 p_pkg_name => G_PKG_NAME,
399 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
400 x_msg_count => x_msg_count,
401 x_msg_data => x_msg_data,
402 p_api_type => G_API_TYPE);
403
404 when OTHERS then
405 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
406 p_api_name => l_api_name,
407 p_pkg_name => G_PKG_NAME,
408 p_exc_name => 'OTHERS',
409 x_msg_count => x_msg_count,
410 x_msg_data => x_msg_data,
411 p_api_type => G_API_TYPE);
412
413 END delete_service_line;
414
415 ------------------------------------------------------------------------------
416 -- PROCEDURE update_service_line
417 --
418 -- This procedure updates existing service line link. It deletes existing
419 -- OKL Service line and recreate the same from OKS service line. It re-establish
420 -- the link at the end.
421 --
422 -- Calls:
423 -- Called By:
424 ------------------------------------------------------------------------------
425 PROCEDURE update_service_line(
426 p_api_version IN NUMBER,
427 p_init_msg_list IN VARCHAR2,
428 x_return_status OUT NOCOPY VARCHAR2,
429 x_msg_count OUT NOCOPY NUMBER,
430 x_msg_data OUT NOCOPY VARCHAR2,
431 p_okl_chr_id IN OKC_K_HEADERS_V.ID%TYPE, -- Lease Contract Header ID
432 p_oks_chr_id IN OKC_K_HEADERS_V.ID%TYPE, -- Service Contract Header ID
433 p_oks_service_line_id IN OKC_K_LINES_V.ID%TYPE, -- Service Contract Service Top Line ID
434 p_supplier_id IN NUMBER,
435 p_clev_rec IN clev_rec_type,
436 p_klev_rec IN klev_rec_type,
437 x_okl_service_line_id OUT NOCOPY OKC_K_LINES_V.ID%TYPE
438 ) IS
439 l_api_name VARCHAR2(35) := 'update_service_link';
440 l_proc_name VARCHAR2(35) := 'UPDATE_SERVICE_LINK';
441 l_api_version CONSTANT NUMBER := 1;
442
443 BEGIN -- main process begins here
444
445 x_return_status := OKC_API.G_RET_STS_SUCCESS;
446 -- call START_ACTIVITY to create savepoint, check compatibility
447 -- and initialize message list
448 x_return_status := OKC_API.START_ACTIVITY(
449 p_api_name => l_api_name,
450 p_pkg_name => G_PKG_NAME,
451 p_init_msg_list => p_init_msg_list,
452 l_api_version => l_api_version,
453 p_api_version => p_api_version,
454 p_api_type => G_API_TYPE,
455 x_return_status => x_return_status);
456
457 -- check if activity started successfully
458 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
459 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
460 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
461 raise OKC_API.G_EXCEPTION_ERROR;
462 END IF;
463
464 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
465
466 okl_service_integration_pvt.update_service_line(
467 p_api_version => p_api_version,
468 p_init_msg_list => OKL_API.G_TRUE,
469 x_return_status => x_return_status,
470 x_msg_count => x_msg_count,
471 x_msg_data => x_msg_data,
472 p_okl_chr_id => p_okl_chr_id,
473 p_oks_chr_id => p_oks_chr_id,
474 p_oks_service_line_id => p_oks_service_line_id,
475 p_supplier_id => p_supplier_id,
476 p_clev_rec => p_clev_rec,
477 p_klev_rec => p_klev_rec,
478 x_okl_service_line_id => x_okl_service_line_id
479 );
480
481 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
482 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
483 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
484 raise OKC_API.G_EXCEPTION_ERROR;
485 END IF;
486
487 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
488
489 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
490 x_msg_data => x_msg_data);
491
492 EXCEPTION
493 when OKC_API.G_EXCEPTION_ERROR then
494 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
495 p_api_name => l_api_name,
496 p_pkg_name => G_PKG_NAME,
497 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
498 x_msg_count => x_msg_count,
499 x_msg_data => x_msg_data,
500 p_api_type => G_API_TYPE);
501
502 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
503 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
504 p_api_name => l_api_name,
505 p_pkg_name => G_PKG_NAME,
506 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
507 x_msg_count => x_msg_count,
508 x_msg_data => x_msg_data,
509 p_api_type => G_API_TYPE);
510
511 when OTHERS then
512 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
513 p_api_name => l_api_name,
514 p_pkg_name => G_PKG_NAME,
515 p_exc_name => 'OTHERS',
516 x_msg_count => x_msg_count,
517 x_msg_data => x_msg_data,
518 p_api_type => G_API_TYPE);
519
520 END update_service_line;
521
522
523 ------------------------------------------------------------------------------
524 -- PROCEDURE check_service_link
525 --
526 -- This procedure checks whether a service contract is linked to the lease
527 -- contract.
528 -- If a link exists, the service contract information is returned back.
529 -- If no link exists, it returns NULL to service contract out variables.
530 --
531 -- Calls:
532 -- Called By:
533 ------------------------------------------------------------------------------
534 PROCEDURE check_service_link (
535 p_api_version IN NUMBER,
536 p_init_msg_list IN VARCHAR2,
537 x_return_status OUT NOCOPY VARCHAR2,
538 x_msg_count OUT NOCOPY NUMBER,
539 x_msg_data OUT NOCOPY VARCHAR2,
540 p_lease_contract_id IN OKC_K_HEADERS_V.ID%TYPE,
541 x_service_contract_id OUT NOCOPY OKC_K_HEADERS_V.ID%TYPE
542 ) IS
543 l_api_name VARCHAR2(35) := 'check_service_link';
544 l_proc_name VARCHAR2(35) := 'CHECK_SERVICE_LINK';
545 l_api_version CONSTANT NUMBER := 1;
546
547
548 BEGIN
549
550 -- call START_ACTIVITY to create savepoint, check compatibility
551 -- and initialize message list
552 x_return_status := OKC_API.START_ACTIVITY(
553 p_api_name => l_api_name,
554 p_pkg_name => G_PKG_NAME,
555 p_init_msg_list => p_init_msg_list,
556 l_api_version => l_api_version,
557 p_api_version => p_api_version,
558 p_api_type => G_API_TYPE,
559 x_return_status => x_return_status);
560
561 -- check if activity started successfully
562 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
563 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
564 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
565 raise OKC_API.G_EXCEPTION_ERROR;
566 END IF;
567
568 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
569 okl_service_integration_pvt.check_service_link(
570 p_api_version => p_api_version,
571 p_init_msg_list => p_init_msg_list,
572 x_return_status => x_return_status,
573 x_msg_count => x_msg_count,
574 x_msg_data => x_msg_data,
575 p_lease_contract_id => p_lease_contract_id,
576 x_service_contract_id => x_service_contract_id
577 );
578
579 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
580 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
581 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
582 raise OKC_API.G_EXCEPTION_ERROR;
583 END IF;
584
585 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
586
587 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
588 x_msg_data => x_msg_data);
589
590 EXCEPTION
591 when OKC_API.G_EXCEPTION_ERROR then
592 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
593 p_api_name => l_api_name,
594 p_pkg_name => G_PKG_NAME,
595 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
596 x_msg_count => x_msg_count,
597 x_msg_data => x_msg_data,
598 p_api_type => G_API_TYPE);
599
600 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
601 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
602 p_api_name => l_api_name,
603 p_pkg_name => G_PKG_NAME,
604 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
605 x_msg_count => x_msg_count,
606 x_msg_data => x_msg_data,
607 p_api_type => G_API_TYPE);
608
609 when OTHERS then
610 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
611 p_api_name => l_api_name,
612 p_pkg_name => G_PKG_NAME,
613 p_exc_name => 'OTHERS',
614 x_msg_count => x_msg_count,
615 x_msg_data => x_msg_data,
616 p_api_type => G_API_TYPE);
617
618 END check_service_link;
619
620 ------------------------------------------------------------------------------
621 -- PROCEDURE get_service_link_line
622 --
623 -- This procedure returns linked lease and service contract top lines ID.
624 -- It also returns linked OKS service contract header id
625 -- Note: Service contract id will be NULL in case lease contract is not
626 -- linked to a service contract.
627 -- Calls:
628 -- Called By:
629 ------------------------------------------------------------------------------
630 PROCEDURE get_service_link_line (
631 p_api_version IN NUMBER,
632 p_init_msg_list IN VARCHAR2,
633 x_return_status OUT NOCOPY VARCHAR2,
634 x_msg_count OUT NOCOPY NUMBER,
635 x_msg_data OUT NOCOPY VARCHAR2,
636 p_lease_contract_id IN OKC_K_HEADERS_V.ID%TYPE,
637 x_link_line_tbl OUT NOCOPY LINK_LINE_TBL_TYPE,
638 x_service_contract_id OUT NOCOPY OKC_K_HEADERS_V.ID%TYPE
639 ) IS
640 l_api_name VARCHAR2(35) := 'get_service_link_line';
641 l_proc_name VARCHAR2(35) := 'GET_SREVICE_LINK_LINE';
642 l_api_version CONSTANT NUMBER := 1;
643
644 BEGIN
645
646 -- call START_ACTIVITY to create savepoint, check compatibility
647 -- and initialize message list
648 x_return_status := OKC_API.START_ACTIVITY(
649 p_api_name => l_api_name,
650 p_pkg_name => G_PKG_NAME,
651 p_init_msg_list => p_init_msg_list,
652 l_api_version => l_api_version,
653 p_api_version => p_api_version,
654 p_api_type => G_API_TYPE,
655 x_return_status => x_return_status);
656
657 -- check if activity started successfully
658 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
659 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
660 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
661 raise OKC_API.G_EXCEPTION_ERROR;
662 END IF;
663
664 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
665 okl_service_integration_pvt.get_service_link_line(
666 p_api_version => p_api_version,
667 p_init_msg_list => p_init_msg_list,
668 x_return_status => x_return_status,
669 x_msg_count => x_msg_count,
670 x_msg_data => x_msg_data,
671 p_lease_contract_id => p_lease_contract_id,
672 x_link_line_tbl => x_link_line_tbl,
673 x_service_contract_id => x_service_contract_id
674 );
675
676 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
677 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
678 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
679 raise OKC_API.G_EXCEPTION_ERROR;
680 END IF;
681
682 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
683
684 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
685 x_msg_data => x_msg_data);
686
687 EXCEPTION
688 when OKC_API.G_EXCEPTION_ERROR then
689 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
690 p_api_name => l_api_name,
691 p_pkg_name => G_PKG_NAME,
692 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
693 x_msg_count => x_msg_count,
694 x_msg_data => x_msg_data,
695 p_api_type => G_API_TYPE);
696
697 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
698 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
699 p_api_name => l_api_name,
700 p_pkg_name => G_PKG_NAME,
701 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
702 x_msg_count => x_msg_count,
703 x_msg_data => x_msg_data,
704 p_api_type => G_API_TYPE);
705
706 when OTHERS then
707 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
708 p_api_name => l_api_name,
709 p_pkg_name => G_PKG_NAME,
710 p_exc_name => 'OTHERS',
711 x_msg_count => x_msg_count,
712 x_msg_data => x_msg_data,
713 p_api_type => G_API_TYPE);
714
715 END get_service_link_line;
716
717
718 ------------------------------------------------------------------------------
719 -- PROCEDURE create_cov_asset_line
720 --
721 -- This procedure validates covered asset and creates covered asset line
722 -- under OKL service top line.
723 --
724 -- Calls:
725 -- Called By:
726 ------------------------------------------------------------------------------
727 PROCEDURE create_cov_asset_line(
728 p_api_version IN NUMBER,
729 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
730 x_return_status OUT NOCOPY VARCHAR2,
731 x_msg_count OUT NOCOPY NUMBER,
732 x_msg_data OUT NOCOPY VARCHAR2,
733 p_clev_tbl IN clev_tbl_type,
734 p_klev_tbl IN klev_tbl_type,
735 p_cimv_tbl IN cimv_tbl_type,
736 p_cov_tbl IN srv_cov_tbl_type,
737 x_clev_tbl OUT NOCOPY clev_tbl_type,
738 x_klev_tbl OUT NOCOPY klev_tbl_type,
739 x_cimv_tbl OUT NOCOPY cimv_tbl_type
740 ) IS
741 l_api_name VARCHAR2(35) := 'create_cov_asset_line';
742 l_proc_name VARCHAR2(35) := 'CREATE_COV_ASSET_LINE';
743 l_api_version CONSTANT NUMBER := 1;
744
745
746 BEGIN -- main process begins here
747
748 x_return_status := OKC_API.G_RET_STS_SUCCESS;
749 -- call START_ACTIVITY to create savepoint, check compatibility
750 -- and initialize message list
751 x_return_status := OKC_API.START_ACTIVITY(
752 p_api_name => l_api_name,
753 p_pkg_name => G_PKG_NAME,
754 p_init_msg_list => p_init_msg_list,
755 l_api_version => l_api_version,
756 p_api_version => p_api_version,
757 p_api_type => G_API_TYPE,
758 x_return_status => x_return_status);
759
760 -- check if activity started successfully
761 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
762 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
763 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
764 raise OKC_API.G_EXCEPTION_ERROR;
765 END IF;
766
767 OKL_SERVICE_INTEGRATION_PVT.CREATE_COV_ASSET_LINE (
768 p_api_version => p_api_version,
769 p_init_msg_list => OKL_API.G_FALSE,
770 x_return_status => x_return_status,
771 x_msg_count => x_msg_count,
772 x_msg_data => x_msg_data,
773 p_clev_tbl => p_clev_tbl,
774 p_klev_tbl => p_klev_tbl,
775 p_cimv_tbl => p_cimv_tbl,
776 p_cov_tbl => p_cov_tbl,
777 x_clev_tbl => x_clev_tbl,
778 x_klev_tbl => x_klev_tbl,
779 x_cimv_tbl => x_cimv_tbl
780 );
781
782 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
783 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
784 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
785 raise OKC_API.G_EXCEPTION_ERROR;
786 END IF;
787
788 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
789 x_msg_data => x_msg_data);
790
791 EXCEPTION
792 when OKC_API.G_EXCEPTION_ERROR then
793 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
794 p_api_name => l_api_name,
795 p_pkg_name => G_PKG_NAME,
796 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
797 x_msg_count => x_msg_count,
798 x_msg_data => x_msg_data,
799 p_api_type => G_API_TYPE);
800
801 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
802 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
803 p_api_name => l_api_name,
804 p_pkg_name => G_PKG_NAME,
805 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
806 x_msg_count => x_msg_count,
807 x_msg_data => x_msg_data,
808 p_api_type => G_API_TYPE);
809
810 when OTHERS then
811 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
812 p_api_name => l_api_name,
813 p_pkg_name => G_PKG_NAME,
814 p_exc_name => 'OTHERS',
815 x_msg_count => x_msg_count,
816 x_msg_data => x_msg_data,
817 p_api_type => G_API_TYPE);
818
819 END create_cov_asset_line;
820
821 ------------------------------------------------------------------------------
822 -- PROCEDURE update_cov_asset_line
823 --
824 -- This procedure validates covered asset and updates covered asset line
825 -- under OKL service top line.
826 --
827 -- Calls:
828 -- Called By:
829 ------------------------------------------------------------------------------
830 PROCEDURE update_cov_asset_line(
831 p_api_version IN NUMBER,
832 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
833 x_return_status OUT NOCOPY VARCHAR2,
834 x_msg_count OUT NOCOPY NUMBER,
835 x_msg_data OUT NOCOPY VARCHAR2,
836 p_clev_tbl IN clev_tbl_type,
837 p_klev_tbl IN klev_tbl_type,
838 p_cimv_tbl IN cimv_tbl_type,
839 p_cov_tbl IN srv_cov_tbl_type,
840 x_clev_tbl OUT NOCOPY clev_tbl_type,
841 x_klev_tbl OUT NOCOPY klev_tbl_type,
842 x_cimv_tbl OUT NOCOPY cimv_tbl_type
843 ) IS
844 l_api_name VARCHAR2(35) := 'update_cov_asset_line';
845 l_proc_name VARCHAR2(35) := 'UPDATE_COV_ASSET_LINE';
846 l_api_version CONSTANT NUMBER := 1;
847
848
849 BEGIN -- main process begins here
850
851 x_return_status := OKC_API.G_RET_STS_SUCCESS;
852 -- call START_ACTIVITY to create savepoint, check compatibility
853 -- and initialize message list
854 x_return_status := OKC_API.START_ACTIVITY(
855 p_api_name => l_api_name,
856 p_pkg_name => G_PKG_NAME,
857 p_init_msg_list => p_init_msg_list,
858 l_api_version => l_api_version,
859 p_api_version => p_api_version,
860 p_api_type => G_API_TYPE,
861 x_return_status => x_return_status);
862
863 -- check if activity started successfully
864 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
865 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
866 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
867 raise OKC_API.G_EXCEPTION_ERROR;
868 END IF;
869
870 OKL_SERVICE_INTEGRATION_PVT.UPDATE_COV_ASSET_LINE (
871 p_api_version => p_api_version,
872 p_init_msg_list => OKL_API.G_FALSE,
873 x_return_status => x_return_status,
874 x_msg_count => x_msg_count,
875 x_msg_data => x_msg_data,
876 p_clev_tbl => p_clev_tbl,
877 p_klev_tbl => p_klev_tbl,
878 p_cimv_tbl => p_cimv_tbl,
879 p_cov_tbl => p_cov_tbl,
880 x_clev_tbl => x_clev_tbl,
881 x_klev_tbl => x_klev_tbl,
882 x_cimv_tbl => x_cimv_tbl
883 );
884
885 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
886 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
887 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
888 raise OKC_API.G_EXCEPTION_ERROR;
889 END IF;
890
891 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
892 x_msg_data => x_msg_data);
893
894 EXCEPTION
895 when OKC_API.G_EXCEPTION_ERROR then
896 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
897 p_api_name => l_api_name,
898 p_pkg_name => G_PKG_NAME,
899 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
900 x_msg_count => x_msg_count,
901 x_msg_data => x_msg_data,
902 p_api_type => G_API_TYPE);
903
904 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
905 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
906 p_api_name => l_api_name,
907 p_pkg_name => G_PKG_NAME,
908 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
909 x_msg_count => x_msg_count,
910 x_msg_data => x_msg_data,
911 p_api_type => G_API_TYPE);
912
913 when OTHERS then
914 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
915 p_api_name => l_api_name,
916 p_pkg_name => G_PKG_NAME,
917 p_exc_name => 'OTHERS',
918 x_msg_count => x_msg_count,
919 x_msg_data => x_msg_data,
920 p_api_type => G_API_TYPE);
921
922 END update_cov_asset_line;
923
924 ------------------------------------------------------------------------------
925 -- PROCEDURE initiate_service_booking
926 --
927 -- This procedure is being called from activate API. It checks for service
928 -- link and associates IB instances from OKS service line with
929 -- corresponding IB line instances at lease contract.
930 --
931 -- Calls:
932 -- Called By:
933 ------------------------------------------------------------------------------
934 PROCEDURE initiate_service_booking(
935 p_api_version IN NUMBER,
936 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
937 x_return_status OUT NOCOPY VARCHAR2,
938 x_msg_count OUT NOCOPY NUMBER,
939 x_msg_data OUT NOCOPY VARCHAR2,
940 p_okl_chr_id IN OKC_K_HEADERS_B.ID%TYPE
941 ) IS
942 l_api_name VARCHAR2(35) := 'initiate_service_booking';
943 l_proc_name VARCHAR2(35) := 'INITIATE_SERVICE_BOOKING';
944 l_api_version CONSTANT NUMBER := 1;
945
946 BEGIN
947
948 x_return_status := OKC_API.G_RET_STS_SUCCESS;
949
950 -- call START_ACTIVITY to create savepoint, check compatibility
951 -- and initialize message list
952 x_return_status := OKC_API.START_ACTIVITY(
953 p_api_name => l_api_name,
954 p_pkg_name => G_PKG_NAME,
955 p_init_msg_list => p_init_msg_list,
956 l_api_version => l_api_version,
957 p_api_version => p_api_version,
958 p_api_type => G_API_TYPE,
959 x_return_status => x_return_status);
960
961 -- check if activity started successfully
962 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
963 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
964 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
965 raise OKC_API.G_EXCEPTION_ERROR;
966 END IF;
967 --************************************************
968
969 okl_service_integration_pvt.initiate_service_booking(
970 p_api_version => p_api_version,
971 p_init_msg_list => p_init_msg_list,
972 x_return_status => x_return_status,
973 x_msg_count => x_msg_count,
974 x_msg_data => x_msg_data,
975 p_okl_chr_id => p_okl_chr_id
976 );
977
978 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
979 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
980 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
981 raise OKC_API.G_EXCEPTION_ERROR;
982 END IF;
983
984 --************************************************
985
986 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
987 x_msg_data => x_msg_data);
988
989 EXCEPTION
990 when OKC_API.G_EXCEPTION_ERROR then
991 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
992 p_api_name => l_api_name,
993 p_pkg_name => G_PKG_NAME,
994 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
995 x_msg_count => x_msg_count,
996 x_msg_data => x_msg_data,
997 p_api_type => G_API_TYPE);
998
999 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
1000 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
1001 p_api_name => l_api_name,
1002 p_pkg_name => G_PKG_NAME,
1003 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
1004 x_msg_count => x_msg_count,
1005 x_msg_data => x_msg_data,
1006 p_api_type => G_API_TYPE);
1007
1008 when OTHERS then
1009 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
1010 p_api_name => l_api_name,
1011 p_pkg_name => G_PKG_NAME,
1012 p_exc_name => 'OTHERS',
1013 x_msg_count => x_msg_count,
1014 x_msg_data => x_msg_data,
1015 p_api_type => G_API_TYPE);
1016
1017 END initiate_service_booking;
1018 END OKL_SERVICE_INTEGRATION_PUB;