[Home] [Help]
PACKAGE BODY: APPS.OKL_BPD_ADVANCED_CASH_APP_PUB
Source
1 PACKAGE BODY OKL_BPD_ADVANCED_CASH_APP_PUB AS
2 /* $Header: OKLPAVCB.pls 120.12 2008/01/23 09:30:37 asawanka ship $ */
3
4 PROCEDURE ADVANCED_CASH_APP ( p_api_version IN NUMBER
5 ,p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE
6 ,x_return_status OUT NOCOPY VARCHAR2
7 ,x_msg_count OUT NOCOPY NUMBER
8 ,x_msg_data OUT NOCOPY VARCHAR2
9 ,p_contract_num IN OKC_K_HEADERS_V.CONTRACT_NUMBER%TYPE DEFAULT NULL
10 ,p_customer_num IN AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%TYPE DEFAULT NULL
11 ,p_receipt_num IN OKL_TRX_CSH_RECEIPT_V.CHECK_NUMBER%TYPE DEFAULT NULL
12 ,p_receipt_type IN OKL_TRX_CSH_RECEIPT_V.RECEIPT_TYPE%TYPE DEFAULT NULL
13 ,p_cross_currency_allowed IN VARCHAR2 DEFAULT 'N'
14 ) IS
15
16 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
17 l_api_name CONSTANT VARCHAR2(30) := 'ADVANCED_CASH_APP';
18 l_api_version NUMBER := 1;
19 l_init_msg_list VARCHAR2(1);
20 l_msg_count NUMBER;
21 l_msg_data VARCHAR(2000);
22
23 l_contract_id OKC_K_HEADERS_V.ID%TYPE DEFAULT NULL;
24 l_contract_num OKC_K_HEADERS_V.CONTRACT_NUMBER%TYPE DEFAULT p_contract_num;
25 l_customer_id OKL_TRX_CSH_RECEIPT_V.ILE_ID%TYPE DEFAULT NULL;
26 l_customer_num AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%TYPE DEFAULT p_customer_num;
27 l_receipt_id AR_CASH_RECEIPTS_ALL.CASH_RECEIPT_ID%TYPE DEFAULT NULL;
28 l_receipt_num OKL_TRX_CSH_RECEIPT_V.CHECK_NUMBER%TYPE DEFAULT p_receipt_num;
29 l_receipt_amount AR_CASH_RECEIPTS_ALL.AMOUNT%TYPE DEFAULT NULL;
30 l_receipt_type OKL_TRX_CSH_RECEIPT_V.RECEIPT_TYPE%TYPE DEFAULT p_receipt_type;
31
32 BEGIN
33
34 ------------------------------------------------------------
35 -- Start processing
36 ------------------------------------------------------------
37
38 x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
39
40 SAVEPOINT sp_adv_mon;
41
42
43 OKL_BPD_ADVANCED_CASH_APP_PVT.ADVANCED_CASH_APP ( p_api_version => l_api_version
44 ,p_init_msg_list => l_init_msg_list
45 ,x_return_status => l_return_status
46 ,x_msg_count => l_msg_count
47 ,x_msg_data => l_msg_data
48 ,p_contract_num => l_contract_num
49 ,p_customer_num => l_customer_num
50 ,p_receipt_num => l_receipt_num
51 ,p_cross_currency_allowed => p_cross_currency_allowed
52 );
53
54
55 IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
56 NULL;
57 --RAISE Fnd_Api.G_EXC_ERROR;
58 ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
59 NULL;
60 --RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
61 END IF;
62
63 --Assign value to OUT variables
64
65 x_return_status := l_return_status ;
66 x_msg_count := l_msg_count ;
67 x_msg_data := l_msg_data ;
68
69 EXCEPTION
70
71 WHEN Fnd_Api.G_EXC_ERROR THEN
72 ROLLBACK TO sp_adv_mon;
73 x_return_status := Fnd_Api.G_RET_STS_ERROR;
74 x_msg_count := l_msg_count ;
75 x_msg_data := l_msg_data ;
76 Fnd_Msg_Pub.count_and_get(
77 p_count => x_msg_count
78 ,p_data => x_msg_data);
79 WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
80 ROLLBACK TO sp_adv_mon;
81 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
82 x_msg_count := l_msg_count ;
83 x_msg_data := l_msg_data ;
84 Fnd_Msg_Pub.count_and_get(
85 p_count => x_msg_count
86 ,p_data => x_msg_data);
87 WHEN OTHERS THEN
88 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
89 Fnd_Msg_Pub.ADD_EXC_MSG (
90 p_pkg_name => G_PKG_NAME,
91 p_procedure_name => l_api_name);
92 Fnd_Msg_Pub.Count_and_get (
93 p_encoded => Okc_Api.G_FALSE,
94 p_count => x_msg_count,
95 p_data => x_msg_data);
96
97 END ADVANCED_CASH_APP;
98
99 PROCEDURE REAPPLIC_ADVANCED_CASH_APP ( p_api_version IN NUMBER
100 ,p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE
101 ,x_return_status OUT NOCOPY VARCHAR2
102 ,x_msg_count OUT NOCOPY NUMBER
103 ,x_msg_data OUT NOCOPY VARCHAR2
104 ,p_contract_num IN OKC_K_HEADERS_V.CONTRACT_NUMBER%TYPE DEFAULT NULL
105 ,p_customer_num IN AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%TYPE DEFAULT NULL
106 ,p_receipt_id IN AR_CASH_RECEIPTS_ALL.CASH_RECEIPT_ID%TYPE DEFAULT NULL
107 ,p_receipt_num IN OKL_TRX_CSH_RECEIPT_V.CHECK_NUMBER%TYPE DEFAULT NULL
108 ,p_receipt_date_from IN OKL_TRX_CSH_RECEIPT_V.DATE_EFFECTIVE%TYPE DEFAULT NULL
109 ,p_receipt_date_to IN OKL_TRX_CSH_RECEIPT_V.DATE_EFFECTIVE%TYPE DEFAULT NULL
110 ,p_receipt_type IN VARCHAR2 DEFAULT NULL
111 ,p_cross_currency_allowed IN VARCHAR2 DEFAULT 'N'
112 ) IS
113
114 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
115 l_api_name CONSTANT VARCHAR2(30) := 'REAPPLIC_ADVANCED_CASH_APP';
116 l_api_version NUMBER := 1;
117 l_init_msg_list VARCHAR2(1);
118 l_msg_count NUMBER;
119 l_msg_data VARCHAR(2000);
120
121 l_contract_id OKC_K_HEADERS_V.ID%TYPE DEFAULT NULL;
122 l_contract_num OKC_K_HEADERS_V.CONTRACT_NUMBER%TYPE DEFAULT p_contract_num;
123 l_customer_id OKL_TRX_CSH_RECEIPT_V.ILE_ID%TYPE DEFAULT NULL;
124 l_customer_num AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%TYPE DEFAULT p_customer_num;
125 l_receipt_id AR_CASH_RECEIPTS_ALL.CASH_RECEIPT_ID%TYPE DEFAULT p_receipt_id;
126 l_receipt_num OKL_TRX_CSH_RECEIPT_V.CHECK_NUMBER%TYPE DEFAULT p_receipt_num;
127 l_receipt_amount AR_CASH_RECEIPTS_ALL.AMOUNT%TYPE DEFAULT NULL;
128 l_receipt_date_from OKL_TRX_CSH_RECEIPT_V.DATE_EFFECTIVE%TYPE DEFAULT p_receipt_date_from;
129 l_receipt_date_to OKL_TRX_CSH_RECEIPT_V.DATE_EFFECTIVE%TYPE DEFAULT p_receipt_date_to;
130 l_receipt_type varchar2(30) := p_receipt_type;
131 l_cross_currency_allowed VARCHAR2(1) DEFAULT p_cross_currency_allowed;
132
133 BEGIN
134
135 ------------------------------------------------------------
136 -- Start processing
137 ------------------------------------------------------------
138
139 x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
140
141 SAVEPOINT sp_adv_mon;
142
143
144 OKL_BPD_ADVANCED_CASH_APP_PVT.REAPPLIC_ADVANCED_CASH_APP ( p_api_version => l_api_version
145 ,p_init_msg_list => l_init_msg_list
146 ,x_return_status => l_return_status
147 ,x_msg_count => l_msg_count
148 ,x_msg_data => l_msg_data
149 ,p_contract_num => l_contract_num
150 ,p_customer_num => l_customer_num
151 ,p_receipt_id => l_receipt_id
152 ,p_receipt_num => l_receipt_num
153 ,p_receipt_date_from => l_receipt_date_from
154 ,p_receipt_date_to => l_receipt_date_to
155 ,p_receipt_type => l_receipt_type
156 ,p_cross_currency_allowed => l_cross_currency_allowed
157 );
158
159
160 IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
161 RAISE Fnd_Api.G_EXC_ERROR;
162 ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
163 RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
164 END IF;
165
166 --Assign value to OUT variables
167
168 x_return_status := l_return_status ;
169 x_msg_count := l_msg_count ;
170 x_msg_data := l_msg_data ;
171
172 EXCEPTION
173
174 WHEN Fnd_Api.G_EXC_ERROR THEN
175 ROLLBACK TO sp_adv_mon;
176 x_return_status := Fnd_Api.G_RET_STS_ERROR;
177 x_msg_count := l_msg_count ;
178 x_msg_data := l_msg_data ;
179 Fnd_Msg_Pub.count_and_get(
180 p_count => x_msg_count
181 ,p_data => x_msg_data);
182 WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
183 ROLLBACK TO sp_adv_mon;
184 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
185 x_msg_count := l_msg_count ;
186 x_msg_data := l_msg_data ;
187 Fnd_Msg_Pub.count_and_get(
188 p_count => x_msg_count
189 ,p_data => x_msg_data);
190 WHEN OTHERS THEN
191 ROLLBACK TO sp_adv_mon;
192 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
193 Fnd_Msg_Pub.ADD_EXC_MSG (
194 p_pkg_name => G_PKG_NAME,
195 p_procedure_name => l_api_name);
196 Fnd_Msg_Pub.Count_and_get (
197 p_encoded => Okc_Api.G_FALSE,
198 p_count => x_msg_count,
199 p_data => x_msg_data);
200
201 END REAPPLIC_ADVANCED_CASH_APP;
202
203 PROCEDURE ADVANCED_CASH_APP_CONC ( errbuf OUT NOCOPY VARCHAR2
204 ,retcode OUT NOCOPY NUMBER
205 ,p_contract_num IN OKC_K_HEADERS_V.CONTRACT_NUMBER%TYPE DEFAULT NULL
206 ,p_customer_num IN AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%TYPE DEFAULT NULL
207 ,p_receipt_id IN AR_CASH_RECEIPTS_ALL.CASH_RECEIPT_ID%TYPE DEFAULT NULL
208 ,p_receipt_num IN OKL_TRX_CSH_RECEIPT_V.CHECK_NUMBER%TYPE DEFAULT NULL
209 ,p_receipt_date_from IN VARCHAR2 DEFAULT NULL
210 ,p_receipt_date_to IN VARCHAR2 DEFAULT NULL
211 ,p_receipt_type IN VARCHAR2 DEFAULT NULL
212 ,p_cross_currency_allowed IN VARCHAR2 DEFAULT 'N'
213 ) IS
214
215 l_api_version NUMBER := 1;
216 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
217 l_msg_count NUMBER;
218 l_msg_data VARCHAR2(450);
219 l_init_msg_list VARCHAR2(1);
220
221 l_msg_index_out NUMBER :=0;
222 l_error_msg_rec Okl_Accounting_Util.Error_message_Type;
223
224 l_contract_id OKC_K_HEADERS_V.ID%TYPE DEFAULT NULL;
225 l_contract_num OKC_K_HEADERS_V.CONTRACT_NUMBER%TYPE DEFAULT p_contract_num;
226 l_customer_id OKL_TRX_CSH_RECEIPT_V.ILE_ID%TYPE DEFAULT NULL;
227 l_customer_num AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%TYPE DEFAULT p_customer_num;
228 l_receipt_id AR_CASH_RECEIPTS_ALL.CASH_RECEIPT_ID%TYPE DEFAULT NULL;
229 l_receipt_num OKL_TRX_CSH_RECEIPT_V.CHECK_NUMBER%TYPE DEFAULT p_receipt_num;
230 l_receipt_amount AR_CASH_RECEIPTS_ALL.AMOUNT%TYPE DEFAULT NULL;
231 l_receipt_date_from OKL_TRX_CSH_RECEIPT_V.DATE_EFFECTIVE%TYPE DEFAULT NULL;
232 l_receipt_date_to OKL_TRX_CSH_RECEIPT_V.DATE_EFFECTIVE%TYPE DEFAULT NULL;
233 l_receipt_type VARCHAR2(30) := p_receipt_type;
234 l_cross_currency_allowed VARCHAR2(1) DEFAULT p_cross_currency_allowed;
235
236 l_request_id NUMBER;
237 l_data varchar2(2000);
238
239
240 CURSOR req_id_csr IS
241 SELECT DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID)
242 FROM dual;
243
244 BEGIN
245
246 -- Get the request Id
247 l_request_id := NULL;
248 OPEN req_id_csr;
249 FETCH req_id_csr INTO l_request_id;
250 CLOSE req_id_csr;
251
252 IF p_receipt_date_from IS NOT NULL THEN
253 l_receipt_date_from := FND_DATE.CANONICAL_TO_DATE(p_receipt_date_from);
254 END IF;
255
256 IF p_receipt_date_to IS NOT NULL THEN
257 l_receipt_date_to := FND_DATE.CANONICAL_TO_DATE(p_receipt_date_to);
258 END IF;
259
260
261
262 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Process Advanced Monies');
263 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '************************************');
264 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Program Run Date: '||SYSDATE||' Request Id: '||l_request_id);
265 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '***********************************************');
266 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'PARAMETERS');
267 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Contract Number = ' ||p_contract_num);
268 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Customer Number = ' ||p_customer_num);
269 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Receipt Number = ' ||p_receipt_num);
270 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Cross Currency Allowed = ' ||p_cross_currency_allowed);
271 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '***********************************************');
272
273 IF p_cross_currency_allowed IS NULL THEN
274 l_cross_currency_allowed := 'N';
275 END IF;
276
277 OKL_BPD_ADVANCED_CASH_APP_PUB.REAPPLIC_ADVANCED_CASH_APP ( p_api_version => l_api_version
278 ,p_init_msg_list => l_init_msg_list
279 ,x_return_status => l_return_status
280 ,x_msg_count => l_msg_count
281 ,x_msg_data => l_msg_data
282 ,p_contract_num => l_contract_num
283 ,p_customer_num => l_customer_num
284 ,p_receipt_id => l_receipt_id
285 ,p_receipt_num => l_receipt_num
286 ,p_receipt_date_from => l_receipt_date_from
287 ,p_receipt_date_to => l_receipt_date_to
288 ,p_receipt_type => l_receipt_type
289 ,p_cross_currency_allowed => l_cross_currency_allowed
290 );
291 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
292 fnd_file.put_line(fnd_file.log
293 ,'Unexpected error in call to OKL_BPD_ADVANCED_CASH_APP_PUB.REAPPLIC_ADVANCED_CASH_APP ');
294 RAISE okl_api.g_exception_unexpected_error;
295 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
296 fnd_file.put_line(fnd_file.log
297 ,'Error in call to OKL_BPD_ADVANCED_CASH_APP_PUB.REAPPLIC_ADVANCED_CASH_APP ');
298 RAISE okl_api.g_exception_error;
299 END IF;
300
301 BEGIN
302
303 Okl_Accounting_Util.GET_ERROR_MESSAGE(l_error_msg_rec);
304 IF (l_error_msg_rec.COUNT > 0) THEN
305 FOR i IN l_error_msg_rec.FIRST..l_error_msg_rec.LAST
306 LOOP
307 FND_FILE.PUT_LINE(FND_FILE.LOG, l_error_msg_rec(i));
308 FND_FILE.PUT_LINE (FND_FILE.LOG, '----------------------------------------------------------------------------');
309 END LOOP;
310 END IF;
311
312 EXCEPTION
313 WHEN OTHERS THEN
314 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
315 END;
316 retcode := 0;
317 EXCEPTION
318 WHEN okl_api.g_exception_error THEN
319 retcode := 2;
320 -- print the error message in the output file
321
322 IF (fnd_msg_pub.count_msg > 0) THEN
323
324 FOR l_counter IN 1..fnd_msg_pub.count_msg LOOP
325 fnd_msg_pub.get(p_msg_index => l_counter
326 ,p_encoded => 'F'
327 ,p_data => l_data
328 ,p_msg_index_out => l_msg_index_out);
329 fnd_file.put_line(fnd_file.log, l_data);
330 END LOOP;
331
332 END IF;
333
334 WHEN okl_api.g_exception_unexpected_error THEN
335 retcode := 2;
336
337 -- print the error message in the output file
338
339 IF (fnd_msg_pub.count_msg > 0) THEN
340
341 FOR l_counter IN 1..fnd_msg_pub.count_msg LOOP
342 fnd_msg_pub.get(p_msg_index => l_counter
343 ,p_encoded => 'F'
344 ,p_data => l_data
345 ,p_msg_index_out => l_msg_index_out);
346 fnd_file.put_line(fnd_file.log, l_data);
347 END LOOP;
348
349 END IF;
350
351 WHEN OTHERS THEN
352 retcode := 2;
353 errbuf := sqlerrm;
354
355 -- print the error message in the output file
356
357 IF (fnd_msg_pub.count_msg > 0) THEN
358
359 FOR l_counter IN 1..fnd_msg_pub.count_msg LOOP
360 fnd_msg_pub.get(p_msg_index => l_counter
361 ,p_encoded => 'F'
362 ,p_data => l_data
363 ,p_msg_index_out => l_msg_index_out);
364 fnd_file.put_line(fnd_file.log, l_data);
365 END LOOP;
366
367 END IF;
368 fnd_file.put_line(fnd_file.log, sqlerrm);
369 END ADVANCED_CASH_APP_CONC;
370
371 PROCEDURE REAPPLIC_RCPT_W_CNTRCT ( p_api_version IN NUMBER
372 ,p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE
373 ,x_return_status OUT NOCOPY VARCHAR2
374 ,x_msg_count OUT NOCOPY NUMBER
375 ,x_msg_data OUT NOCOPY VARCHAR2
376 ,p_contract_num IN OKC_K_HEADERS_V.CONTRACT_NUMBER%TYPE DEFAULT NULL
377 ,p_customer_num IN AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%TYPE DEFAULT NULL
378 ,p_cross_currency_allowed IN VARCHAR2 DEFAULT 'N'
379 )IS
380
381 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
382 l_api_name CONSTANT VARCHAR2(30) := 'REAPPLIC_RCPT_W_CNTRCT';
383 l_api_version NUMBER := 1;
384 l_init_msg_list VARCHAR2(1);
385 l_msg_count NUMBER;
386 l_msg_data VARCHAR(2000);
387
388 l_contract_num OKC_K_HEADERS_V.CONTRACT_NUMBER%TYPE DEFAULT p_contract_num;
389 l_customer_num AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%TYPE DEFAULT p_customer_num;
390 l_cross_currency_allowed VARCHAR2(1) DEFAULT p_cross_currency_allowed;
391
392
393
394 BEGIN
395
396 ------------------------------------------------------------
397 -- Start processing
398 ------------------------------------------------------------
399
400 x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
401
402 SAVEPOINT sp_adv_mon_w_rcpt;
403
404
405 OKL_BPD_ADVANCED_CASH_APP_PVT.REAPPLIC_RCPT_W_CNTRCT ( p_api_version => l_api_version
406 ,p_init_msg_list => l_init_msg_list
407 ,x_return_status => l_return_status
408 ,x_msg_count => l_msg_count
409 ,x_msg_data => l_msg_data
410 ,p_contract_num => l_contract_num
411 ,p_customer_num => l_customer_num
412 ,p_cross_currency_allowed => l_cross_currency_allowed
413 );
414
415
416 IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
417 RAISE Fnd_Api.G_EXC_ERROR;
418 ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
419 RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
420 END IF;
421
422 --Assign value to OUT variables
423
424 x_return_status := l_return_status ;
425 x_msg_count := l_msg_count ;
426 x_msg_data := l_msg_data ;
427
428 EXCEPTION
429
430 WHEN Fnd_Api.G_EXC_ERROR THEN
431 ROLLBACK TO sp_adv_mon_w_rcpt;
432 x_return_status := Fnd_Api.G_RET_STS_ERROR;
433 x_msg_count := l_msg_count ;
434 x_msg_data := l_msg_data ;
435 Fnd_Msg_Pub.count_and_get(
436 p_count => x_msg_count
437 ,p_data => x_msg_data);
438 WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
439 ROLLBACK TO sp_adv_mon_w_rcpt;
440 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
441 x_msg_count := l_msg_count ;
442 x_msg_data := l_msg_data ;
443 Fnd_Msg_Pub.count_and_get(
444 p_count => x_msg_count
445 ,p_data => x_msg_data);
446 WHEN OTHERS THEN
447 ROLLBACK TO sp_adv_mon_w_rcpt;
448 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
449 Fnd_Msg_Pub.ADD_EXC_MSG (
450 p_pkg_name => G_PKG_NAME,
451 p_procedure_name => l_api_name);
452 Fnd_Msg_Pub.Count_and_get (
453 p_encoded => Okc_Api.G_FALSE,
454 p_count => x_msg_count,
455 p_data => x_msg_data);
456
457 END REAPPLIC_RCPT_W_CNTRCT;
458
459 PROCEDURE REAPPLIC_RCPT_W_CNTRCT_CONC ( errbuf OUT NOCOPY VARCHAR2
460 ,retcode OUT NOCOPY NUMBER
461 ,p_contract_num IN OKC_K_HEADERS_V.CONTRACT_NUMBER%TYPE DEFAULT NULL
462 ,p_customer_num IN AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%TYPE DEFAULT NULL
463 ,p_cross_currency_allowed IN VARCHAR2 DEFAULT 'N'
464 ) IS
465
466 l_api_version NUMBER := 1;
467 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
468 l_msg_count NUMBER;
469 l_msg_data VARCHAR2(450);
470 l_init_msg_list VARCHAR2(1);
471
472 l_msg_index_out NUMBER :=0;
473 l_error_msg_rec Okl_Accounting_Util.Error_message_Type;
474
475 l_contract_num OKC_K_HEADERS_V.CONTRACT_NUMBER%TYPE DEFAULT p_contract_num;
476 l_customer_num AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%TYPE DEFAULT p_customer_num;
477 l_cross_currency_allowed VARCHAR2(1) DEFAULT p_cross_currency_allowed;
478 l_request_id NUMBER;
479 l_data varchar2(2000);
480
481
482 CURSOR req_id_csr IS
483 SELECT DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID)
484 FROM dual;
485
486 BEGIN
487
488 -- Get the request Id
489 l_request_id := NULL;
490 OPEN req_id_csr;
491 FETCH req_id_csr INTO l_request_id;
492 CLOSE req_id_csr;
493
494 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Process Advanced Monies');
495 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '************************************');
496 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Program Run Date: '||SYSDATE||' Request Id: '||l_request_id);
497 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '***********************************************');
498 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'PARAMETERS');
499 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Contract Number = ' ||p_contract_num);
500 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Customer Number = ' ||p_customer_num);
501 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Cross Currency Allowed = ' ||p_cross_currency_allowed);
502 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '***********************************************');
503
504 IF p_cross_currency_allowed IS NULL THEN
505 l_cross_currency_allowed := 'N';
506 END IF;
507 OKL_BPD_ADVANCED_CASH_APP_PUB.REAPPLIC_RCPT_W_CNTRCT ( p_api_version => l_api_version
508 ,p_init_msg_list => l_init_msg_list
509 ,x_return_status => l_return_status
510 ,x_msg_count => l_msg_count
511 ,x_msg_data => l_msg_data
512 ,p_contract_num => l_contract_num
513 ,p_customer_num => l_customer_num
514 ,p_cross_currency_allowed => l_cross_currency_allowed
515 );
516 IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
517 fnd_file.put_line(fnd_file.log
518 ,'Unexpected error in call to OKL_BPD_ADVANCED_CASH_APP_PUB.REAPPLIC_RCPT_W_CNTRCT');
519 RAISE okl_api.g_exception_unexpected_error;
520 ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
521 fnd_file.put_line(fnd_file.log
522 ,'Error in call to OKL_BPD_ADVANCED_CASH_APP_PUB.REAPPLIC_RCPT_W_CNTRCT');
523 END IF;
524
525
526
527 BEGIN
528
529 Okl_Accounting_Util.GET_ERROR_MESSAGE(l_error_msg_rec);
530 IF (l_error_msg_rec.COUNT > 0) THEN
531 FOR i IN l_error_msg_rec.FIRST..l_error_msg_rec.LAST
532 LOOP
533 FND_FILE.PUT_LINE(FND_FILE.LOG, l_error_msg_rec(i));
534 FND_FILE.PUT_LINE (FND_FILE.LOG, '----------------------------------------------------------------------------');
535 END LOOP;
536 END IF;
537
538 EXCEPTION
539 WHEN OTHERS THEN
540 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
541 END;
542 retcode := 0;
543 EXCEPTION
544 WHEN okl_api.g_exception_error THEN
545 retcode := 2;
546 -- print the error message in the output file
547
548 IF (fnd_msg_pub.count_msg > 0) THEN
549
550 FOR l_counter IN 1..fnd_msg_pub.count_msg LOOP
551 fnd_msg_pub.get(p_msg_index => l_counter
552 ,p_encoded => 'F'
553 ,p_data => l_data
554 ,p_msg_index_out => l_msg_index_out);
555 fnd_file.put_line(fnd_file.log, l_data);
556 END LOOP;
557
558 END IF;
559
560 WHEN okl_api.g_exception_unexpected_error THEN
561 retcode := 2;
562
563 -- print the error message in the output file
564
565 IF (fnd_msg_pub.count_msg > 0) THEN
566
567 FOR l_counter IN 1..fnd_msg_pub.count_msg LOOP
568 fnd_msg_pub.get(p_msg_index => l_counter
569 ,p_encoded => 'F'
570 ,p_data => l_data
571 ,p_msg_index_out => l_msg_index_out);
572 fnd_file.put_line(fnd_file.log, l_data);
573 END LOOP;
574
575 END IF;
576
577 WHEN OTHERS THEN
578 retcode := 2;
579 errbuf := sqlerrm;
580
581 -- print the error message in the output file
582
583 IF (fnd_msg_pub.count_msg > 0) THEN
584
585 FOR l_counter IN 1..fnd_msg_pub.count_msg LOOP
586 fnd_msg_pub.get(p_msg_index => l_counter
587 ,p_encoded => 'F'
588 ,p_data => l_data
589 ,p_msg_index_out => l_msg_index_out);
590 fnd_file.put_line(fnd_file.log, l_data);
591 END LOOP;
592
593 END IF;
594 fnd_file.put_line(fnd_file.log, sqlerrm);
595 END REAPPLIC_RCPT_W_CNTRCT_CONC;
596
597 PROCEDURE AR_advance_receipt ( p_api_version IN NUMBER
598 ,p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE
599 ,x_return_status OUT NOCOPY VARCHAR2
600 ,x_msg_count OUT NOCOPY NUMBER
601 ,x_msg_data OUT NOCOPY VARCHAR2
602 ,p_xcav_tbl IN OKL_BPD_ADVANCED_CASH_APP_PVT.xcav_tbl_type
603 ,p_receipt_id IN AR_CASH_RECEIPTS_ALL.CASH_RECEIPT_ID%TYPE DEFAULT NULL
604 ,p_receipt_amount IN OUT NOCOPY AR_CASH_RECEIPTS_ALL.AMOUNT%TYPE
605 ,p_receipt_date IN AR_CASH_RECEIPTS_ALL.RECEIPT_DATE%TYPE DEFAULT NULL
606 ,p_receipt_currency IN AR_CASH_RECEIPTS_ALL.CURRENCY_CODE%TYPE DEFAULT NULL
607 ,p_currency_code IN AR_CASH_RECEIPTS_ALL.CURRENCY_CODE%TYPE DEFAULT NULL
608 ,p_ar_inv_tbl IN OKL_BPD_ADVANCED_BILLING_PVT.ar_inv_tbl_type
609 ) IS
610
611 l_ar_inv_tbl OKL_BPD_ADVANCED_BILLING_PVT.ar_inv_tbl_type DEFAULT p_ar_inv_tbl;
612
613 l_api_version NUMBER := 1.0;
614 l_init_msg_list VARCHAR2(1) := Okc_Api.g_false;
615 l_return_status VARCHAR2(1);
616 l_msg_count NUMBER;
617 l_msg_data VARCHAR2(2000);
618 l_api_name CONSTANT VARCHAR2(30) := 'AR_advance_receipt';
619
620 l_receipt_date AR_CASH_RECEIPTS_ALL.RECEIPT_DATE%TYPE DEFAULT p_receipt_date;
621 l_receipt_currency_code OKL_TRX_CSH_RECEIPT_V.CURRENCY_CODE%TYPE DEFAULT p_receipt_currency;
622 l_receipt_amount OKL_TRX_CSH_RECEIPT_V.AMOUNT%TYPE DEFAULT p_receipt_amount;
623 l_receipt_id AR_CASH_RECEIPTS_ALL.CASH_RECEIPT_ID%TYPE DEFAULT p_receipt_id;
624 l_currency_code OKL_TRX_CSH_RECEIPT_V.CURRENCY_CODE%TYPE DEFAULT p_currency_code; -- entered currency code
625
626 -------------------------------------------------------------------------------
627 -- DECLARE Record/Table Types
628 -------------------------------------------------------------------------------
629
630 -- External Trans
631
632 l_xcav_rec Okl_Xca_Pvt.xcav_rec_type;
633 l_xcav_tbl Okl_Xca_Pvt.xcav_tbl_type;
634
635 x_xcav_rec Okl_Xca_Pvt.xcav_rec_type;
636 x_xcav_tbl Okl_Xca_Pvt.xcav_tbl_type;
637
638
639 BEGIN
640
641 ------------------------------------------------------------
642 -- Start processing
643 ------------------------------------------------------------
644
645 x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
646
647 SAVEPOINT sp_adv_mon;
648
649 OKL_BPD_ADVANCED_CASH_APP_PVT.AR_advance_receipt( p_api_version => l_api_version
650 ,p_init_msg_list => l_init_msg_list
651 ,x_return_status => l_return_status
652 ,x_msg_count => l_msg_count
653 ,x_msg_data => l_msg_data
654 ,p_xcav_tbl => l_xcav_tbl
655 ,p_receipt_id => l_receipt_id
656 ,p_receipt_amount => l_receipt_amount
657 ,p_receipt_date => l_receipt_date
658 ,p_receipt_currency => l_receipt_currency_code
659 ,p_currency_code => l_currency_code
660 ,p_ar_inv_tbl => l_ar_inv_tbl
661 );
662
663 x_return_status := l_return_status;
664
665 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
666 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
667 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
668 RAISE OKL_API.G_EXCEPTION_ERROR;
669 END IF;
670
671 -- p_remain_rcpt_amount := l_receipt_amount;
672
673 --Assign value to OUT variables
674
675 x_return_status := l_return_status ;
676 x_msg_count := l_msg_count ;
677 x_msg_data := l_msg_data ;
678
679 EXCEPTION
680
681 WHEN Fnd_Api.G_EXC_ERROR THEN
682 ROLLBACK TO sp_adv_mon;
683 x_return_status := Fnd_Api.G_RET_STS_ERROR;
684 x_msg_count := l_msg_count ;
685 x_msg_data := l_msg_data ;
686 Fnd_Msg_Pub.count_and_get(
687 p_count => x_msg_count
688 ,p_data => x_msg_data);
689 WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
690 ROLLBACK TO sp_adv_mon;
691 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
692 x_msg_count := l_msg_count ;
693 x_msg_data := l_msg_data ;
694 Fnd_Msg_Pub.count_and_get(
695 p_count => x_msg_count
696 ,p_data => x_msg_data);
697 WHEN OTHERS THEN
698 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
699 Fnd_Msg_Pub.ADD_EXC_MSG (
700 p_pkg_name => G_PKG_NAME,
701 p_procedure_name => l_api_name);
702 Fnd_Msg_Pub.Count_and_get (
703 p_encoded => Okc_Api.G_FALSE,
704 p_count => x_msg_count,
705 p_data => x_msg_data);
706
707 END AR_advance_receipt;
708
709
710 END OKL_BPD_ADVANCED_CASH_APP_PUB;
711