[Home] [Help]
PACKAGE BODY: APPS.OKL_FUNDING_PUB
Source
1 PACKAGE BODY OKL_FUNDING_PUB AS
2 /* $Header: OKLPFUNB.pls 120.4 2007/11/20 08:23:33 dcshanmu noship $ */
3 ----------------------------------------------------------------------------
4 -- Global Message Constants
5 ----------------------------------------------------------------------------
6 -- see FND_NEW_MESSAGES for full message text
7 G_NOT_FOUND CONSTANT VARCHAR2(30) := 'OKC_NOT_FOUND'; -- message_name
8 G_NOT_FOUND_V1 CONSTANT VARCHAR2(30) := 'VALUE1'; -- token 1
9 G_NOT_FOUND_V2 CONSTANT VARCHAR2(30) := 'VALUE2'; -- token 2
10
11 G_NOT_UNIQUE CONSTANT VARCHAR2(30) := 'OKL_UNIQUE'; -- never mind the blockhead that created the name
12
13 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(30) := 'OKL_UNEXPECTED_ERROR';
14 G_SQLERRM_TOKEN CONSTANT VARCHAR2(30) := 'OKL_SQLERRM';
15 G_SQLCODE_TOKEN CONSTANT VARCHAR2(30) := 'OKL_SQLCODE';
16
17 G_NO_INIT_MSG CONSTANT VARCHAR2(1) := OKL_API.G_FALSE;
18 G_VIEW CONSTANT VARCHAR2(30) := 'OKL_TRX_AP_INVOICES_V';
19
20 G_FND_APP CONSTANT VARCHAR2(30) := OKL_API.G_FND_APP;
21 G_FORM_UNABLE_TO_RESERVE_REC CONSTANT VARCHAR2(30) := OKL_API.G_FORM_UNABLE_TO_RESERVE_REC;
22 G_FORM_RECORD_DELETED CONSTANT VARCHAR2(30) := OKL_API.G_FORM_RECORD_DELETED;
23 G_FORM_RECORD_CHANGED CONSTANT VARCHAR2(30) := OKL_API.G_FORM_RECORD_CHANGED;
24 G_RECORD_LOGICALLY_DELETED CONSTANT VARCHAR2(30) := OKL_API.G_RECORD_LOGICALLY_DELETED;
25 G_REQUIRED_VALUE CONSTANT VARCHAR2(30) := OKL_API.G_REQUIRED_VALUE;
26 G_INVALID_VALUE CONSTANT VARCHAR2(30) := OKL_API.G_INVALID_VALUE;
27 G_COL_NAME_TOKEN CONSTANT VARCHAR2(30) := OKL_API.G_COL_NAME_TOKEN;
28 G_PARENT_TABLE_TOKEN CONSTANT VARCHAR2(30) := OKL_API.G_PARENT_TABLE_TOKEN;
29 G_CHILD_TABLE_TOKEN CONSTANT VARCHAR2(30) := OKL_API.G_CHILD_TABLE_TOKEN;
30 G_NO_PARENT_RECORD CONSTANT VARCHAR2(30) :='OKL_NO_PARENT_RECORD';
31 G_NOT_SAME CONSTANT VARCHAR2(30) :='OKL_CANNOT_BE_SAME';
32
33 G_PREFUNDING_TYPE CONSTANT VARCHAR2(30) :='PREFUNDING';
34 G_ASSET_TYPE CONSTANT VARCHAR2(30) :='ASSET';
35 G_INVOICE_TYPE CONSTANT VARCHAR2(30) :='INVOICE';
36 G_FUNDING_TRX_TYPE CONSTANT VARCHAR2(30) :='FUNDING';
37 ----------------------------------------------------------------------------
38 -- Private Global variables
39 ----------------------------------------------------------------------------
40
41 ----------------------------------------------------------------------------
42 ----------------------------------------------------------------------------
43 -- Public Procedures and Functions
44 ----------------------------------------------------------------------------
45 ----------------------------------------------------------------------------
46 PROCEDURE create_funding_header(
47 p_api_version IN NUMBER
48 ,p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE
49 ,x_return_status OUT NOCOPY VARCHAR2
50 ,x_msg_count OUT NOCOPY NUMBER
51 ,x_msg_data OUT NOCOPY VARCHAR2
52 ,p_tapv_rec IN tapv_rec_type
53 ,x_tapv_rec OUT NOCOPY tapv_rec_type
54 )
55 IS
56 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_FUNDING_HEADER';
57 l_api_version CONSTANT NUMBER := 1.0;
58 l_tapv_rec tapv_rec_type := p_tapv_rec;
59 i NUMBER;
60 l_dummy VARCHAR2(1) := OKL_API.G_TRUE;
61
62 BEGIN
63 -- Set API savepoint
64 SAVEPOINT CREATE_FUNDING_HEADER_PUB;
65
66 -- Check for call compatibility
67 IF (NOT FND_API.Compatible_API_Call (l_api_version,
68 p_api_version,
69 l_api_name,
70 G_PKG_NAME ))
71 THEN
72 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
73 END IF;
74
75 -- Initialize message list if requested
76 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
77 FND_MSG_PUB.initialize;
78 END IF;
79
80 -- Initialize API status to success
81 x_return_status := OKL_API.G_RET_STS_SUCCESS;
82
83 /*
84
85 */
86
87 /*** Begin API body ****************************************************/
88
89 OKL_FUNDING_PVT.create_funding_header(
90 p_api_version => p_api_version,
91 p_init_msg_list => p_init_msg_list,
92 x_return_status => x_return_status,
93 x_msg_count => x_msg_count,
94 x_msg_data => x_msg_data,
95 p_tapv_rec => l_tapv_rec,
96 x_tapv_rec => x_tapv_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 /*** End API body ******************************************************/
106
107 /*
108
109 */
110 -- Get message count and if count is 1, get message info
111 FND_MSG_PUB.Count_And_Get
112 (p_count => x_msg_count,
113 p_data => x_msg_data);
114
115 EXCEPTION
116 WHEN OKL_API.G_EXCEPTION_ERROR THEN
117 ROLLBACK TO CREATE_FUNDING_HEADER_PUB;
118 x_return_status := OKL_API.G_RET_STS_ERROR;
119 FND_MSG_PUB.Count_And_Get
120 (p_count => x_msg_count,
121 p_data => x_msg_data);
122
123 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
124 ROLLBACK TO CREATE_FUNDING_HEADER_PUB;
125 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
126 FND_MSG_PUB.Count_And_Get
127 (p_count => x_msg_count,
128 p_data => x_msg_data);
129
130 WHEN OTHERS THEN
131 ROLLBACK TO CREATE_FUNDING_HEADER_PUB;
132 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
133 OKL_API.Set_Message(p_app_name => G_APP_NAME,
134 p_msg_name => G_UNEXPECTED_ERROR,
135 p_token1 => G_SQLCODE_TOKEN,
136 p_token1_value => SQLCODE,
137 p_token2 => G_SQLERRM_TOKEN,
138 p_token2_value => SQLERRM);
139 FND_MSG_PUB.Count_And_Get
140 (p_count => x_msg_count,
141 p_data => x_msg_data);
142
143 END create_funding_header;
144 ----------------------------------------------------------------------------
145
146 PROCEDURE update_funding_header(
147 p_api_version IN NUMBER
148 ,p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE
149 ,x_return_status OUT NOCOPY VARCHAR2
150 ,x_msg_count OUT NOCOPY NUMBER
151 ,x_msg_data OUT NOCOPY VARCHAR2
152 ,p_tapv_rec IN tapv_rec_type
153 ,x_tapv_rec OUT NOCOPY tapv_rec_type
154 )
155 IS
156 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_FUNDING_HEADER';
157 l_api_version CONSTANT NUMBER := 1.0;
158 l_tapv_rec tapv_rec_type := p_tapv_rec;
159 i NUMBER;
160 l_dummy VARCHAR2(1) := OKL_API.G_TRUE;
161
162 BEGIN
163 -- Set API savepoint
164 SAVEPOINT UPDATE_FUNDING_HEADER_PUB;
165
166 -- Check for call compatibility
167 IF (NOT FND_API.Compatible_API_Call (l_api_version,
168 p_api_version,
169 l_api_name,
170 G_PKG_NAME ))
171 THEN
172 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
173 END IF;
174
175 -- Initialize message list if requested
176 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
177 FND_MSG_PUB.initialize;
178 END IF;
179
180 -- Initialize API status to success
181 x_return_status := OKL_API.G_RET_STS_SUCCESS;
182
183 /*
184
185 */
186
187 /*** Begin API body ****************************************************/
188
189 OKL_FUNDING_PVT.update_funding_header(
190 p_api_version => p_api_version,
191 p_init_msg_list => p_init_msg_list,
192 x_return_status => x_return_status,
193 x_msg_count => x_msg_count,
194 x_msg_data => x_msg_data,
195 p_tapv_rec => l_tapv_rec,
196 x_tapv_rec => x_tapv_rec);
197
198 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
199 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
200 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
201 RAISE OKL_API.G_EXCEPTION_ERROR;
202 END IF;
203
204
205 /*** End API body ******************************************************/
206
207 /*
208
209 */
210 -- Get message count and if count is 1, get message info
211 FND_MSG_PUB.Count_And_Get
212 (p_count => x_msg_count,
213 p_data => x_msg_data);
214
215 EXCEPTION
216 WHEN OKL_API.G_EXCEPTION_ERROR THEN
217 ROLLBACK TO UPDATE_FUNDING_HEADER_PUB;
218 x_return_status := OKL_API.G_RET_STS_ERROR;
219 FND_MSG_PUB.Count_And_Get
220 (p_count => x_msg_count,
221 p_data => x_msg_data);
222
223 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
224 ROLLBACK TO UPDATE_FUNDING_HEADER_PUB;
225 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
226 FND_MSG_PUB.Count_And_Get
227 (p_count => x_msg_count,
228 p_data => x_msg_data);
229
230 WHEN OTHERS THEN
231 ROLLBACK TO UPDATE_FUNDING_HEADER_PUB;
232 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
233 OKL_API.Set_Message(p_app_name => G_APP_NAME,
234 p_msg_name => G_UNEXPECTED_ERROR,
235 p_token1 => G_SQLCODE_TOKEN,
236 p_token1_value => SQLCODE,
237 p_token2 => G_SQLERRM_TOKEN,
238 p_token2_value => SQLERRM);
239 FND_MSG_PUB.Count_And_Get
240 (p_count => x_msg_count,
241 p_data => x_msg_data);
242
243 END update_funding_header;
244
245 ----------------------------------------------------------------------------
246
247 PROCEDURE delete_funding_header(
248 p_api_version IN NUMBER
249 ,p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE
250 ,x_return_status OUT NOCOPY VARCHAR2
251 ,x_msg_count OUT NOCOPY NUMBER
252 ,x_msg_data OUT NOCOPY VARCHAR2
253 ,p_tapv_rec IN tapv_rec_type
254 )
255 IS
256 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_FUNDING_HEADER';
257 l_api_version CONSTANT NUMBER := 1.0;
258
259 BEGIN
260 -- Set API savepoint
261 SAVEPOINT DELETE_FUNDING_HEADER_PUB;
262
263 -- Check for call compatibility
264 IF (NOT FND_API.Compatible_API_Call (l_api_version,
265 p_api_version,
266 l_api_name,
267 G_PKG_NAME ))
268 THEN
269 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
270 END IF;
271
272 -- Initialize message list if requested
273 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
274 FND_MSG_PUB.initialize;
275 END IF;
276
277 -- Initialize API status to success
278 x_return_status := OKL_API.G_RET_STS_SUCCESS;
279
280 /*
281
282 */
283
284 /*** Begin API body ****************************************************/
285
286 -- OKL_TAP_PVT.delete_row(
287 OKL_TRX_AP_INVOICES_PUB.DELETE_TRX_AP_INVOICES(
288 p_api_version => p_api_version,
289 p_init_msg_list => p_init_msg_list,
290 x_return_status => x_return_status,
291 x_msg_count => x_msg_count,
292 x_msg_data => x_msg_data,
293 p_tapv_rec => p_tapv_rec);
294
295 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
296 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
297 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
298 RAISE OKL_API.G_EXCEPTION_ERROR;
299 END IF;
300
301 /*** End API body ******************************************************/
302
303 /*
304
305 */
306 -- Get message count and if count is 1, get message info
307 FND_MSG_PUB.Count_And_Get
308 (p_count => x_msg_count,
309 p_data => x_msg_data);
310
311 EXCEPTION
312 WHEN OKL_API.G_EXCEPTION_ERROR THEN
313 ROLLBACK TO DELETE_FUNDING_HEADER_PUB;
314 x_return_status := OKL_API.G_RET_STS_ERROR;
315 FND_MSG_PUB.Count_And_Get
316 (p_count => x_msg_count,
317 p_data => x_msg_data);
318
319 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
320 ROLLBACK TO DELETE_FUNDING_HEADER_PUB;
321 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
322 FND_MSG_PUB.Count_And_Get
323 (p_count => x_msg_count,
324 p_data => x_msg_data);
325
326 WHEN OTHERS THEN
327 ROLLBACK TO DELETE_FUNDING_HEADER_PUB;
328 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
329 OKL_API.Set_Message(p_app_name => G_APP_NAME,
330 p_msg_name => G_UNEXPECTED_ERROR,
331 p_token1 => G_SQLCODE_TOKEN,
332 p_token1_value => SQLCODE,
333 p_token2 => G_SQLERRM_TOKEN,
334 p_token2_value => SQLERRM);
335 FND_MSG_PUB.Count_And_Get
336 (p_count => x_msg_count,
337 p_data => x_msg_data);
338
339 END delete_funding_header;
340 ----------------------------------------------------------------------------
341
342 PROCEDURE create_funding_lines(
343 p_api_version IN NUMBER
344 ,p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE
345 ,x_return_status OUT NOCOPY VARCHAR2
346 ,x_msg_count OUT NOCOPY NUMBER
347 ,x_msg_data OUT NOCOPY VARCHAR2
348 ,p_tplv_tbl IN tplv_tbl_type
349 ,x_tplv_tbl OUT NOCOPY tplv_tbl_type
350 )
351 IS
352 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_FUNDING_LINES';
353 l_api_version CONSTANT NUMBER := 1.0;
354 l_tplv_tbl tplv_tbl_type := p_tplv_tbl;
355 i NUMBER;
356 l_dummy VARCHAR2(1) := OKL_API.G_TRUE;
357
358 BEGIN
359 -- Set API savepoint
360 SAVEPOINT CREATE_FUNDING_LINES_PUB;
361
362 -- Check for call compatibility
363 IF (NOT FND_API.Compatible_API_Call (l_api_version,
364 p_api_version,
365 l_api_name,
366 G_PKG_NAME ))
367 THEN
368 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
369 END IF;
370
371 -- Initialize message list if requested
372 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
373 FND_MSG_PUB.initialize;
374 END IF;
375
376 -- Initialize API status to success
377 x_return_status := OKL_API.G_RET_STS_SUCCESS;
378
379 /*
380
381 */
382
383 /*** Begin API body ****************************************************/
384
385 OKL_FUNDING_PVT.create_funding_lines(
386 p_api_version => p_api_version,
387 p_init_msg_list => p_init_msg_list,
388 x_return_status => x_return_status,
389 x_msg_count => x_msg_count,
390 x_msg_data => x_msg_data,
391 p_tplv_tbl => l_tplv_tbl,
392 x_tplv_tbl => x_tplv_tbl);
393
394 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
395 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
396 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
397 RAISE OKL_API.G_EXCEPTION_ERROR;
398 END IF;
399
400
401 /*** End API body ******************************************************/
402
403 /*
404
405 */
406 -- Get message count and if count is 1, get message info
407 FND_MSG_PUB.Count_And_Get
408 (p_count => x_msg_count,
409 p_data => x_msg_data);
410
411 EXCEPTION
412 WHEN OKL_API.G_EXCEPTION_ERROR THEN
413 ROLLBACK TO CREATE_FUNDING_LINES_PUB;
414 x_return_status := OKL_API.G_RET_STS_ERROR;
415 FND_MSG_PUB.Count_And_Get
416 (p_count => x_msg_count,
417 p_data => x_msg_data);
418
419 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
420 ROLLBACK TO CREATE_FUNDING_LINES_PUB;
421 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
422 FND_MSG_PUB.Count_And_Get
423 (p_count => x_msg_count,
424 p_data => x_msg_data);
425
426 WHEN OTHERS THEN
427 ROLLBACK TO CREATE_FUNDING_LINES_PUB;
428 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
429 OKL_API.Set_Message(p_app_name => G_APP_NAME,
430 p_msg_name => G_UNEXPECTED_ERROR,
431 p_token1 => G_SQLCODE_TOKEN,
432 p_token1_value => SQLCODE,
433 p_token2 => G_SQLERRM_TOKEN,
434 p_token2_value => SQLERRM);
435 FND_MSG_PUB.Count_And_Get
436 (p_count => x_msg_count,
437 p_data => x_msg_data);
438
439 END create_funding_lines;
440
441 ----------------------------------------------------------------------------
442
443 ----------------------------------------------------------------------------
444 -- dcshanmu - Added - Qucik Fund performance fix - start
445 ----------------------------------------------------------------------------
446
447 PROCEDURE create_funding_lines(
448 p_api_version IN NUMBER
449 ,p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE
450 ,x_return_status OUT NOCOPY VARCHAR2
451 ,x_msg_count OUT NOCOPY NUMBER
452 ,x_msg_data OUT NOCOPY VARCHAR2
453 ,p_hdr_id IN NUMBER
454 ,p_khr_id IN NUMBER
455 ,p_vendor_site_id IN NUMBER
456 ,x_tplv_tbl OUT NOCOPY tplv_tbl_type
457 )
458 IS
459 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_FUNDING_LINES';
460 l_api_version CONSTANT NUMBER := 1.0;
461 l_dummy VARCHAR2(1) := OKL_API.G_TRUE;
462
463 BEGIN
464 -- Set API savepoint
465 SAVEPOINT CREATE_FUNDING_LINES_PUB;
466
467 -- Check for call compatibility
468 IF (NOT FND_API.Compatible_API_Call (l_api_version,
469 p_api_version,
470 l_api_name,
471 G_PKG_NAME ))
472 THEN
473 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
474 END IF;
475
476 -- Initialize message list if requested
477 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
478 FND_MSG_PUB.initialize;
479 END IF;
480
481 -- Initialize API status to success
482 x_return_status := OKL_API.G_RET_STS_SUCCESS;
483
484 /*
485
486 */
487
488 /*** Begin API body ****************************************************/
489
490 OKL_FUNDING_PVT.create_funding_lines(
491 p_api_version => p_api_version,
492 p_init_msg_list => p_init_msg_list,
493 x_return_status => x_return_status,
494 x_msg_count => x_msg_count,
495 x_msg_data => x_msg_data,
496 p_hdr_id => p_hdr_id,
497 p_khr_id => p_khr_id,
498 p_vendor_site_id => p_vendor_site_id,
499 x_tplv_tbl => x_tplv_tbl);
500
501 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
502 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
503 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
504 RAISE OKL_API.G_EXCEPTION_ERROR;
505 END IF;
506
507
508 /*** End API body ******************************************************/
509
510 /*
511
512 */
513 -- Get message count and if count is 1, get message info
514 FND_MSG_PUB.Count_And_Get
515 (p_count => x_msg_count,
516 p_data => x_msg_data);
517
518 EXCEPTION
519 WHEN OKL_API.G_EXCEPTION_ERROR THEN
520 ROLLBACK TO CREATE_FUNDING_LINES_PUB;
521 x_return_status := OKL_API.G_RET_STS_ERROR;
522 FND_MSG_PUB.Count_And_Get
523 (p_count => x_msg_count,
524 p_data => x_msg_data);
525
526 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
527 ROLLBACK TO CREATE_FUNDING_LINES_PUB;
528 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
529 FND_MSG_PUB.Count_And_Get
530 (p_count => x_msg_count,
531 p_data => x_msg_data);
532
533 WHEN OTHERS THEN
534 ROLLBACK TO CREATE_FUNDING_LINES_PUB;
535 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
536 OKL_API.Set_Message(p_app_name => G_APP_NAME,
537 p_msg_name => G_UNEXPECTED_ERROR,
538 p_token1 => G_SQLCODE_TOKEN,
539 p_token1_value => SQLCODE,
540 p_token2 => G_SQLERRM_TOKEN,
541 p_token2_value => SQLERRM);
542 FND_MSG_PUB.Count_And_Get
543 (p_count => x_msg_count,
544 p_data => x_msg_data);
545
546 END create_funding_lines;
547
548 ----------------------------------------------------------------------------
549 -- dcshanmu - Added - Qucik Fund performance fix - end
550 ----------------------------------------------------------------------------
551
552
553 PROCEDURE update_funding_lines(
554 p_api_version IN NUMBER
555 ,p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE
556 ,x_return_status OUT NOCOPY VARCHAR2
557 ,x_msg_count OUT NOCOPY NUMBER
558 ,x_msg_data OUT NOCOPY VARCHAR2
559 ,p_tplv_tbl IN tplv_tbl_type
560 ,x_tplv_tbl OUT NOCOPY tplv_tbl_type
561 )
562 IS
563 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_FUNDING_LINES';
564 l_api_version CONSTANT NUMBER := 1.0;
565 l_tplv_tbl tplv_tbl_type := p_tplv_tbl;
566 i NUMBER;
567 l_dummy VARCHAR2(1) := OKL_API.G_TRUE;
568
569 BEGIN
570 -- Set API savepoint
571 SAVEPOINT UPDATE_FUNDING_LINES_PUB;
572
573 -- Check for call compatibility
574 IF (NOT FND_API.Compatible_API_Call (l_api_version,
575 p_api_version,
576 l_api_name,
577 G_PKG_NAME ))
578 THEN
579 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
580 END IF;
581
582 -- Initialize message list if requested
583 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
584 FND_MSG_PUB.initialize;
585 END IF;
586
587 -- Initialize API status to success
588 x_return_status := OKL_API.G_RET_STS_SUCCESS;
589
590 /*
591
592 */
593
594 /*** Begin API body ****************************************************/
595
596 OKL_FUNDING_PVT.update_funding_lines(
597 p_api_version => p_api_version,
598 p_init_msg_list => p_init_msg_list,
599 x_return_status => x_return_status,
600 x_msg_count => x_msg_count,
601 x_msg_data => x_msg_data,
602 p_tplv_tbl => l_tplv_tbl,
603 x_tplv_tbl => x_tplv_tbl);
604
605 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
606 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
607 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
608 RAISE OKL_API.G_EXCEPTION_ERROR;
609 END IF;
610
611
612 /*** End API body ******************************************************/
613
614 /*
615
616 */
617 -- Get message count and if count is 1, get message info
618 FND_MSG_PUB.Count_And_Get
619 (p_count => x_msg_count,
620 p_data => x_msg_data);
621
622 EXCEPTION
623 WHEN OKL_API.G_EXCEPTION_ERROR THEN
624 ROLLBACK TO UPDATE_FUNDING_LINES_PUB;
625 x_return_status := OKL_API.G_RET_STS_ERROR;
626 FND_MSG_PUB.Count_And_Get
627 (p_count => x_msg_count,
628 p_data => x_msg_data);
629
630 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
631 ROLLBACK TO UPDATE_FUNDING_LINES_PUB;
632 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
633 FND_MSG_PUB.Count_And_Get
634 (p_count => x_msg_count,
635 p_data => x_msg_data);
636
637 WHEN OTHERS THEN
638 ROLLBACK TO UPDATE_FUNDING_LINES_PUB;
639 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
640 OKL_API.Set_Message(p_app_name => G_APP_NAME,
641 p_msg_name => G_UNEXPECTED_ERROR,
642 p_token1 => G_SQLCODE_TOKEN,
643 p_token1_value => SQLCODE,
644 p_token2 => G_SQLERRM_TOKEN,
645 p_token2_value => SQLERRM);
646 FND_MSG_PUB.Count_And_Get
647 (p_count => x_msg_count,
648 p_data => x_msg_data);
649
650 END update_funding_lines;
651 ----------------------------------------------------------------------------
652
653 PROCEDURE delete_funding_lines(
654 p_api_version IN NUMBER
655 ,p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE
656 ,x_return_status OUT NOCOPY VARCHAR2
657 ,x_msg_count OUT NOCOPY NUMBER
658 ,x_msg_data OUT NOCOPY VARCHAR2
659 ,p_tplv_tbl IN tplv_tbl_type
660 )
661 IS
662 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_FUNDING_LINES';
663 l_api_version CONSTANT NUMBER := 1.0;
664 l_id OKL_TRX_AP_INVOICES_B.ID%TYPE;
665 l_tplv_tbl tplv_tbl_type := p_tplv_tbl;
666
667 CURSOR c (p_line_id NUMBER)
668 IS
669 SELECT l.tap_id
670 FROM OKL_TXL_AP_INV_LNS_B l
671 WHERE l.id = p_line_id
672 ;
673
674 BEGIN
675 -- Set API savepoint
676 SAVEPOINT DELETE_FUNDING_LINES_PUB;
677
678 -- Check for call compatibility
679 IF (NOT FND_API.Compatible_API_Call (l_api_version,
680 p_api_version,
681 l_api_name,
682 G_PKG_NAME ))
683 THEN
684 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
685 END IF;
686
687 -- Initialize message list if requested
688 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
689 FND_MSG_PUB.initialize;
690 END IF;
691
692 -- Initialize API status to success
693 x_return_status := OKL_API.G_RET_STS_SUCCESS;
694
695 /*
696
697 */
698
699 /*** Begin API body ****************************************************/
700
701 OPEN c (p_tplv_tbl(p_tplv_tbl.FIRST).id);
702 FETCH c INTO l_id;
703 CLOSE c;
704
705 l_tplv_tbl(p_tplv_tbl.FIRST).tap_id := l_id;
706
707 -- OKL_TPL_PVT.delete_row(
708 OKL_TXL_AP_INV_LNS_PUB.DELETE_TXL_AP_INV_LNS(
709 p_api_version => p_api_version,
710 p_init_msg_list => p_init_msg_list,
711 x_return_status => x_return_status,
712 x_msg_count => x_msg_count,
713 x_msg_data => x_msg_data,
714 p_tplv_tbl => p_tplv_tbl);
715
716 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
717 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
718 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
719 RAISE OKL_API.G_EXCEPTION_ERROR;
720 END IF;
721
722 -- sync funding header amount
723 OKL_FUNDING_PVT.SYNC_HEADER_AMOUNT(
724 p_api_version => p_api_version,
725 p_init_msg_list => p_init_msg_list,
726 x_return_status => x_return_status,
727 x_msg_count => x_msg_count,
728 x_msg_data => x_msg_data,
729 p_tplv_tbl => l_tplv_tbl);
730
731 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
732 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
733 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
734 RAISE OKL_API.G_EXCEPTION_ERROR;
735 END IF;
736
737
738 /*** End API body ******************************************************/
739
740 /*
741
742 */
743 -- Get message count and if count is 1, get message info
744 FND_MSG_PUB.Count_And_Get
745 (p_count => x_msg_count,
746 p_data => x_msg_data);
747
748 EXCEPTION
749 WHEN OKL_API.G_EXCEPTION_ERROR THEN
750 ROLLBACK TO DELETE_FUNDING_LINES_PUB;
751 x_return_status := OKL_API.G_RET_STS_ERROR;
752 FND_MSG_PUB.Count_And_Get
753 (p_count => x_msg_count,
754 p_data => x_msg_data);
755
756 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
757 ROLLBACK TO DELETE_FUNDING_LINES_PUB;
758 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
759 FND_MSG_PUB.Count_And_Get
760 (p_count => x_msg_count,
761 p_data => x_msg_data);
762
763 WHEN OTHERS THEN
764 ROLLBACK TO DELETE_FUNDING_LINES_PUB;
765 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
766 OKL_API.Set_Message(p_app_name => G_APP_NAME,
767 p_msg_name => G_UNEXPECTED_ERROR,
768 p_token1 => G_SQLCODE_TOKEN,
769 p_token1_value => SQLCODE,
770 p_token2 => G_SQLERRM_TOKEN,
771 p_token2_value => SQLERRM);
772 FND_MSG_PUB.Count_And_Get
773 (p_count => x_msg_count,
774 p_data => x_msg_data);
775
776 END delete_funding_lines;
777 ----------------------------------------------------------------------------
778 PROCEDURE create_funding_assets(
779 p_api_version IN NUMBER
780 ,p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE
781 ,x_return_status OUT NOCOPY VARCHAR2
782 ,x_msg_count OUT NOCOPY NUMBER
783 ,x_msg_data OUT NOCOPY VARCHAR2
784 ,p_fund_id IN NUMBER
785 )
786 IS
787 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_FUNDING_ASSETS';
788 l_api_version CONSTANT NUMBER := 1.0;
789 i NUMBER;
790 l_dummy VARCHAR2(1) := OKL_API.G_TRUE;
791
792 BEGIN
793 -- Set API savepoint
794 SAVEPOINT CREATE_FUNDING_ASSETS_PUB;
795
796 -- Check for call compatibility
797 IF (NOT FND_API.Compatible_API_Call (l_api_version,
798 p_api_version,
799 l_api_name,
800 G_PKG_NAME ))
801 THEN
802 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
803 END IF;
804
805 -- Initialize message list if requested
806 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
807 FND_MSG_PUB.initialize;
808 END IF;
809
810 -- Initialize API status to success
811 x_return_status := OKL_API.G_RET_STS_SUCCESS;
812
813 /*** Begin API body ****************************************************/
814
815 OKL_FUNDING_PVT.create_funding_assets(
816 p_api_version => p_api_version,
817 p_init_msg_list => p_init_msg_list,
818 x_return_status => x_return_status,
819 x_msg_count => x_msg_count,
820 x_msg_data => x_msg_data,
821 p_fund_id => p_fund_id);
822
823 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
824 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
825 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
826 RAISE OKL_API.G_EXCEPTION_ERROR;
827 END IF;
828
829
830 /*** End API body ******************************************************/
831
832 -- Get message count and if count is 1, get message info
833 FND_MSG_PUB.Count_And_Get
834 (p_count => x_msg_count,
835 p_data => x_msg_data);
836
837 EXCEPTION
838 WHEN OKL_API.G_EXCEPTION_ERROR THEN
839 ROLLBACK TO CREATE_FUNDING_ASSETS_PUB;
840 x_return_status := OKL_API.G_RET_STS_ERROR;
841 FND_MSG_PUB.Count_And_Get
842 (p_count => x_msg_count,
843 p_data => x_msg_data);
844
845 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
846 ROLLBACK TO CREATE_FUNDING_ASSETS_PUB;
847 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
848 FND_MSG_PUB.Count_And_Get
849 (p_count => x_msg_count,
850 p_data => x_msg_data);
851
852 WHEN OTHERS THEN
853 ROLLBACK TO CREATE_FUNDING_ASSETS_PUB;
854 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
855 OKL_API.Set_Message(p_app_name => G_APP_NAME,
856 p_msg_name => G_UNEXPECTED_ERROR,
857 p_token1 => G_SQLCODE_TOKEN,
858 p_token1_value => SQLCODE,
859 p_token2 => G_SQLERRM_TOKEN,
860 p_token2_value => SQLERRM);
861 FND_MSG_PUB.Count_And_Get
862 (p_count => x_msg_count,
863 p_data => x_msg_data);
864
865 END create_funding_assets;
866
867 ----------------------------------------------------------------------------
868
869 END OKL_FUNDING_PUB;