[Home] [Help]
PACKAGE BODY: APPS.ARI_PROCESS_VALIDATE
Source
1 PACKAGE BODY ARI_PROCESS_VALIDATE AS
2 /*$Header: ARI_PROCESS_VALIDATE_B.pls 120.4 2011/11/03 15:11:02 mbolli noship $*/
3
4 --------------------------------------------
5 -- declaration of global variables and types
6 --------------------------------------------
7 G_DEBUG_COUNT NUMBER := 0;
8 G_DEBUG BOOLEAN := FALSE;
9 G_FILE_NAME CONSTANT VARCHAR2(30) := 'ARI_PROCESS_VALIDATE_B.pls';
10
11 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ARI_PROCESS_VALIDATE';
12
13 --------------------------------------------
14 -- internal package routines
15 --------------------------------------------
16
17 procedure logMessage(log_level in number
18 ,module in varchar2
19 ,message in varchar2)
20 is
21
22 begin
23 IF log_level >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
24 FND_LOG.STRING(log_level, module, message);
25 END IF;
26
27 EXCEPTION
28 WHEN OTHERS THEN
29 LogMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, 'ERROR: ' || sqlerrm);
30 end;
31
32
33
34 /*=========================================================================
35 || PUBLIC PROCEDURE VALIDATE_DISPUTE
36 ||
37 || DESCRIPTION
38 || Overview: This procedure validates the transaction before disputing
39 ||
40 ||
41 || PSEUDO CODE/LOGIC
42 ||
43 || PARAMETERS
44 || Parameter: p_cust_account_id => Cust Account ID of the customer
45 || p_cust_site_use_id => Site Use ID of the Account
46 || p_session_id => Current session from AR_IREC_USER_ACCT_SITES_ALL
47 || p_payment_schedule_tbl => Table of Payment Schedule ID of Transaction's
48 || p_trx_number_tbl => Table of Trx Numbers for Display
49 ||
50 || Return values:
51 || x_fail_payment_schedule_tbl => Table of failed Payment Schedule ID
52 || x_return_status => 'S' Validation Success
53 || 'E' Validation Error
54 || x_msg_count => Message Count
55 || x_msg_data => Validating Error Message
56 ||
57 || Return value:
58 || standard
59 || KNOWN ISSUES
60 ||
61 || NOTES
62 ||
63 || MODIFICATION HISTORY
64 || Date Author Description of Changes
65 || 28-JUL-2011 kasreeni Bug#12800095 - Created
66 *=======================================================================*/
67 procedure VALIDATE_DISPUTE(p_cust_account_id IN NUMBER
68 ,p_cust_site_use_id IN NUMBER
69 ,p_session_id IN NUMBER
70 ,p_payment_schedule_tbl IN ARI_PROCESS_VALIDATE.PAYMENT_SCHEDULE_TBL
71 ,p_trx_number_tbl IN ARI_PROCESS_VALIDATE.TRX_NUMBER_TBL
72 ,x_fail_payment_schedule_tbl OUT NOCOPY ARI_PROCESS_VALIDATE.PAYMENT_SCHEDULE_TBL
73 ,x_return_status OUT NOCOPY VARCHAR2
74 ,x_msg_count OUT NOCOPY NUMBER
75 ,x_msg_data OUT NOCOPY VARCHAR2)
76 is
77 l_api_name varchar2(25);
78 l_psh_tbl ARI_PROCESS_VALIDATE.PAYMENT_SCHEDULE_TBL;
79
80 l_profile_name varchar2(256);
81 l_validate_dispute_proc varchar2(2000);
82 l_error varchar2(2000);
83 l_return varchar2(30);
84 l_plsql_block varchar2(2000);
85 l_ctr number;
86
87
88 BEGIN
89
90 l_api_name := 'VALIDATE_DISPUTE';
91 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
92
93 -- Initialize message list IF p_init_msg_list is set to TRUE.
94 FND_MSG_PUB.initialize;
95
96 -- Initialize API return status to SUCCESS
97 x_return_status := FND_API.G_RET_STS_SUCCESS;
98
99 -- ---------------------------------------------------------------------
100 -- API BODY
101 -- ---------------------------------------------------------------------
102 -- initialize any variables here
103 l_ctr := 1;
104
105 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - p_cust_account_id = ' || p_cust_account_id);
106 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - p_cust_site_use_id = ' || p_cust_site_use_id);
107 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - p_session_id = ' || p_session_id);
108 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - # Payment_schedule_tbl ' || p_payment_schedule_tbl.count);
109 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - # Trx Number_tbl ' || p_Trx_Number_tbl.count);
110
111
112 l_validate_dispute_proc := NVL(FND_PROFILE.VALUE('OIR_CUSTOM_VALIDATE_DISPUTE'),
113 'ARI_DEF_HOOKS_PVT.VALIDATE_DISPUTE');
114 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_validate_dispute_proc: ' || l_validate_dispute_proc);
115
116 FOR f in 1..p_payment_schedule_tbl.count LOOP
117 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' -------- Payment Schedule :: ' || f);
118 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - payment_Schedule_id = ' || p_payment_schedule_tbl(f));
119
120 IF p_payment_schedule_tbl(f) IS NOT NULL THEN
121
122 l_plsql_block := 'BEGIN ' || l_validate_dispute_proc|| '(:1, :2, :3, :4, :5, :6); END;';
123 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_plsql_block = ' || l_plsql_block);
124
125 BEGIN
126
127 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - Calling...');
128
129 EXECUTE IMMEDIATE l_plsql_block
130 USING
131 IN p_cust_account_id,
132 IN p_cust_site_use_id,
133 IN p_session_id,
134 IN p_payment_schedule_tbl(f),
135 OUT l_return,
136 OUT l_error;
137
138 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Done');
139
140 EXCEPTION
141 WHEN OTHERS THEN
142 FND_MESSAGE.SET_NAME('AR', 'ARI_PROCESS_VALIDATE_FAILED');
143 FND_MESSAGE.SET_TOKEN('ERROR_MSG' ,SQLERRM);
144 FND_MSG_PUB.ADD;
145 LogMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, FND_MSG_PUB.Get(p_encoded => 'F'));
146 RAISE;
147 END;
148
149 LogMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_return = ' || l_return);
150 LogMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_error = ' || l_error);
151
152 IF l_return IS NULL or l_return <> 'S' THEN
153 -- assign output table of failed payment schedules...
154 l_psh_tbl(l_ctr) := p_payment_schedule_tbl(f);
155 l_ctr := l_ctr + 1;
156 END IF;
157
158 IF l_error IS NOT NULL THEN
159 FND_MESSAGE.SET_NAME('AR', 'ARI_PROCESS_VALIDATE_FAILED');
160 FND_MESSAGE.SET_TOKEN('ERROR_MSG' ,l_error);
161 FND_MSG_PUB.ADD;
162 LogMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, FND_MSG_PUB.Get(p_encoded => 'F'));
163 END IF;
164
165 END IF;
166
167
168 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - validate Customer Trx_Number = ' || p_trx_number_tbl(f));
169
170 END LOOP;
171
172 IF (l_psh_tbl.count > 0) THEN
173 x_return_status := 'F';
174 END IF;
175
176 x_fail_payment_schedule_tbl := l_psh_tbl;
177 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - validate dispute: ' || x_return_status);
178
179 -- ---------------------------------------------------------------------
180 -- End of API body
181 -- ---------------------------------------------------------------------
182 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
183
184 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
185
186 EXCEPTION
187 WHEN FND_API.G_EXC_ERROR THEN
188 x_return_status := FND_API.G_RET_STS_ERROR;
189 x_fail_payment_schedule_tbl := l_psh_tbl;
190 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
194 x_return_status := FND_API.G_RET_STS_ERROR;
191 logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
192
193 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
195 x_fail_payment_schedule_tbl := l_psh_tbl;
196 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
197 logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
198
199 WHEN OTHERS THEN
200 x_return_status := FND_API.G_RET_STS_ERROR;
201 x_fail_payment_schedule_tbl := l_psh_tbl;
202 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
203 logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
204
205 END VALIDATE_DISPUTE;
206
207
208 /*=========================================================================
209 || PUBLIC PROCEDURE VALIDATE_PAYMENT
210 ||
211 || DESCRIPTION
212 || Overview: This procedure validates the transaction before payment
213 ||
214 ||
215 || PSEUDO CODE/LOGIC
216 ||
217 || PARAMETERS
218 || Parameter: p_cust_account_id => Cust Account ID of the customer
219 || p_cust_site_use_id => Site Use ID of the Account
220 || p_session_id => Current session from AR_IREC_USER_ACCT_SITES_ALL
221 || p_payment_schedule_tbl => Table of Payment Schedule ID of Transaction's
222 || p_trx_number_tbl => Table of Trx Numbers for Display
223 ||
224 || Return values:
225 || x_fail_payment_schedule_tbl => Table of failed Payment Schedule ID
226 || x_return_status => 'S' Validation Success
227 || 'E' Validation Error
228 || x_msg_count => Message Count
229 || x_msg_data => Validating Error Message
230 ||
231 || Return value:
232 || standard
233 || KNOWN ISSUES
234 ||
235 || NOTES
236 ||
237 || MODIFICATION HISTORY
238 || Date Author Description of Changes
239 || 28-JUL-2011 kasreeni Bug#12800095 - Created
240 *=======================================================================*/
241 procedure VALIDATE_PAYMENT(p_cust_account_id IN NUMBER
242 ,p_cust_site_use_id IN NUMBER
243 ,p_session_id IN NUMBER
244 ,p_payment_schedule_tbl IN ARI_PROCESS_VALIDATE.PAYMENT_SCHEDULE_TBL
245 ,p_trx_number_tbl IN ARI_PROCESS_VALIDATE.TRX_NUMBER_TBL
246 ,x_fail_payment_schedule_tbl OUT NOCOPY ARI_PROCESS_VALIDATE.PAYMENT_SCHEDULE_TBL
247 ,x_return_status OUT NOCOPY VARCHAR2
248 ,x_msg_count OUT NOCOPY NUMBER
249 ,x_msg_data OUT NOCOPY VARCHAR2)
250 is
251 l_api_name varchar2(25);
252 l_psh_tbl ARI_PROCESS_VALIDATE.PAYMENT_SCHEDULE_TBL;
253
254 l_profile_name varchar2(256);
255 l_validate_payment_proc varchar2(2000);
256 l_error varchar2(2000);
257 l_return varchar2(30);
258 l_plsql_block varchar2(2000);
259 l_ctr number;
260
261 begin
262
263 l_api_name := 'VALIDATE_PAYMENT';
264 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
265
266 -- Initialize message list IF p_init_msg_list is set to TRUE.
267 FND_MSG_PUB.initialize;
268
269 -- Initialize API return status to SUCCESS
270 x_return_status := FND_API.G_RET_STS_SUCCESS;
271
272 -- ---------------------------------------------------------------------
273 -- API BODY
274 -- ---------------------------------------------------------------------
275 -- initialize any variables here
276 l_ctr := 1;
277
278 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - p_cust_account_id = ' || p_cust_account_id);
279 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - p_cust_site_use_id = ' || p_cust_site_use_id);
280 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - p_session_id = ' || p_session_id);
281 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - # Payment_schedule_tbl ' || p_payment_schedule_tbl.count);
282 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - # Trx Number_tbl ' || p_Trx_Number_tbl.count);
283
284 l_validate_payment_proc := NVL(FND_PROFILE.VALUE('OIR_CUSTOM_VALIDATE_PAYMENT'),
285 'ARI_DEF_HOOKS_PVT.VALIDATE_PAYMENT');
286
287 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_validate_payment_proc: ' || l_validate_payment_proc);
288
289 FOR f in 1..p_payment_schedule_tbl.count LOOP
293 IF p_payment_schedule_tbl(f) IS NOT NULL THEN
290 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' -------- Payment Schedule :: ' || f);
291 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - Payment_Schedule_ID = ' || p_payment_schedule_tbl(f));
292
294
295 l_plsql_block := 'BEGIN ' || l_validate_payment_proc|| '(:1, :2, :3, :4, :5, :6); END;';
296 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_plsql_block = ' || l_plsql_block);
297
298 BEGIN
299
300 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - Calling...');
301
302 EXECUTE IMMEDIATE l_plsql_block
303 USING
304 IN p_cust_account_id,
305 IN p_cust_site_use_id,
306 IN p_session_id,
307 IN p_payment_schedule_tbl(f),
308 OUT l_return,
309 OUT l_error;
310
311 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Done');
312
313 EXCEPTION
314 WHEN OTHERS THEN
315 FND_MESSAGE.SET_NAME('AR', 'ARI_PROCESS_VALIDATE_FAILED');
316 FND_MESSAGE.SET_TOKEN('ERROR_MSG' ,SQLERRM);
317 FND_MSG_PUB.ADD;
318 LogMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, FND_MSG_PUB.Get(p_encoded => 'F'));
319 RAISE;
320 END;
321
322 LogMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_return = ' || l_return);
323 LogMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_error = ' || l_error);
324
325 IF l_return IS NULL or l_return <> 'S' THEN
326 -- assign output table of failed payment schedules...
327 l_psh_tbl(l_ctr) := p_payment_schedule_tbl(f);
328 l_ctr := l_ctr + 1;
329 END IF;
330
331 IF l_error IS NOT NULL THEN
332 FND_MESSAGE.SET_NAME('AR', 'ARI_PROCESS_VALIDATE_FAILED');
333 FND_MESSAGE.SET_TOKEN('ERROR_MSG' ,l_error);
334 FND_MSG_PUB.ADD;
335 LogMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, FND_MSG_PUB.Get(p_encoded => 'F'));
336 END IF;
337
338 END IF;
339
340 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - validate Customer Trx_Number = ' || p_trx_number_tbl(f));
341
342 END LOOP;
343
344 IF (l_psh_tbl.count > 0) THEN
345 x_return_status := 'F';
346 END IF;
347
348 x_fail_payment_schedule_tbl := l_psh_tbl;
349 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - validate payment: ' || x_return_status);
350
351 -- ---------------------------------------------------------------------
352 -- End of API body
353 -- ---------------------------------------------------------------------
354 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
355
356 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
357
358 EXCEPTION
359 WHEN FND_API.G_EXC_ERROR THEN
360 x_return_status := FND_API.G_RET_STS_ERROR;
361 x_fail_payment_schedule_tbl := l_psh_tbl;
362 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
363 logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
364
365 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
366 x_return_status := FND_API.G_RET_STS_ERROR;
367 x_fail_payment_schedule_tbl := l_psh_tbl;
368 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
369 logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
370
371 WHEN OTHERS THEN
372 x_return_status := FND_API.G_RET_STS_ERROR;
373 x_fail_payment_schedule_tbl := l_psh_tbl;
374 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
375 logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
376
377 END VALIDATE_PAYMENT;
378
379 /*=========================================================================
380 || PUBLIC PROCEDURE VALIDATE_PRINT
381 ||
382 || DESCRIPTION
383 || Overview: This procedure validates the transaction before printing
384 ||
385 ||
386 || PSEUDO CODE/LOGIC
387 ||
388 || PARAMETERS
389 || Parameter: p_cust_account_id => Cust Account ID of the customer
390 || p_cust_site_use_id => Site Use ID of the Account
391 || p_session_id => Current session from AR_IREC_USER_ACCT_SITES_ALL
392 || p_payment_schedule_tbl => Table of Payment Schedule ID of Transaction's
393 || p_trx_number_tbl => Table of Trx Numbers for Display
394 ||
395 || Return values:
396 || x_fail_payment_schedule_tbl => Table of failed Payment Schedule ID
397 || x_return_status => 'S' Validation Success
398 || 'E' Validation Error
399 || x_msg_count => Message Count
400 || x_msg_data => Validating Error Message
401 ||
402 || Return value:
403 || standard
404 || KNOWN ISSUES
405 ||
406 || NOTES
407 ||
408 || MODIFICATION HISTORY
409 || Date Author Description of Changes
410 || 28-JUL-2011 kasreeni Bug#12800095 - Created
411 *=======================================================================*/
412 procedure VALIDATE_PRINT(p_cust_account_id IN NUMBER
416 ,p_trx_number_tbl IN ARI_PROCESS_VALIDATE.TRX_NUMBER_TBL
413 ,p_cust_site_use_id IN NUMBER
414 ,p_session_id IN NUMBER
415 ,p_payment_schedule_tbl IN ARI_PROCESS_VALIDATE.PAYMENT_SCHEDULE_TBL
417 ,x_fail_payment_schedule_tbl OUT NOCOPY ARI_PROCESS_VALIDATE.PAYMENT_SCHEDULE_TBL
418 ,x_return_status OUT NOCOPY VARCHAR2
419 ,x_msg_count OUT NOCOPY NUMBER
420 ,x_msg_data OUT NOCOPY VARCHAR2)
421 is
422 l_api_name varchar2(25);
423 l_psh_tbl ARI_PROCESS_VALIDATE.PAYMENT_SCHEDULE_TBL;
424
425 l_profile_name varchar2(256);
426 l_validate_print_proc varchar2(2000);
427 l_error varchar2(2000);
428 l_return varchar2(30);
429 l_plsql_block varchar2(2000);
430 l_ctr number;
431
432
433 BEGIN
434
435 l_api_name := 'VALIDATE_PRINT';
439 FND_MSG_PUB.initialize;
436 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
437
438 -- Initialize message list IF p_init_msg_list is set to TRUE.
440
441 -- Initialize API return status to SUCCESS
442 x_return_status := FND_API.G_RET_STS_SUCCESS;
443
444 -- ---------------------------------------------------------------------
445 -- API BODY
446 -- ---------------------------------------------------------------------
447 -- initialize any variables here
448 l_ctr := 1;
449
450 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - p_cust_account_id = ' || p_cust_account_id);
451 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - p_cust_site_use_id = ' || p_cust_site_use_id);
452 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - p_session_id = ' || p_session_id);
453 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - # Payment_schedule_tbl ' || p_payment_schedule_tbl.count);
454 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - # Trx Number_tbl ' || p_Trx_Number_tbl.count);
455
456 l_validate_print_proc := NVL(FND_PROFILE.VALUE('OIR_CUSTOM_VALIDATE_PRINT'),
457 'ARI_DEF_HOOKS_PVT.VALIDATE_PRINT');
458
459 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_validate_print_proc: ' || l_validate_print_proc);
460
461 FOR f in 1..p_payment_schedule_tbl.count LOOP
462 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' -------- Payment Schedule :: ' || f);
463 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - Payment_Schedule_ID = ' || p_payment_schedule_tbl(f));
464
465 IF p_payment_schedule_tbl(f) IS NOT NULL THEN
466
467 l_plsql_block := 'BEGIN ' || l_validate_print_proc|| '(:1, :2, :3, :4, :5, :6); END;';
468 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_plsql_block = ' || l_plsql_block);
469
470 BEGIN
471
472 logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - Calling...');
473
474 EXECUTE IMMEDIATE l_plsql_block
475 USING
476 IN p_cust_account_id,
477 IN p_cust_site_use_id,
478 IN p_session_id,
479 IN p_payment_schedule_tbl(f),
480 OUT l_return,
481 OUT l_error;
482
483 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Done');
484
485 EXCEPTION
486 WHEN OTHERS THEN
487 FND_MESSAGE.SET_NAME('AR', 'ARI_PROCESS_VALIDATE_FAILED');
488 FND_MESSAGE.SET_TOKEN('ERROR_MSG' ,SQLERRM);
489 FND_MSG_PUB.ADD;
490 LogMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, FND_MSG_PUB.Get(p_encoded => 'F'));
491 RAISE;
492 END;
493
494 LogMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_return = ' || l_return);
495 LogMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_error = ' || l_error);
496
497 IF l_return IS NULL or l_return <> 'S' THEN
498 -- assign output table of failed payment schedules...
499 l_psh_tbl(l_ctr) := p_payment_schedule_tbl(f);
500 l_ctr := l_ctr + 1;
501 END IF;
502
503 IF l_error IS NOT NULL THEN
504 FND_MESSAGE.SET_NAME('AR', 'ARI_PROCESS_VALIDATE_FAILED');
505 FND_MESSAGE.SET_TOKEN('ERROR_MSG' ,l_error);
506 FND_MSG_PUB.ADD;
507 LogMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, FND_MSG_PUB.Get(p_encoded => 'F'));
508 END IF;
509
510 END IF;
511
512 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - validate Customer Trx_Number = ' || p_trx_number_tbl(f));
513
514 END LOOP;
515
516 IF (l_psh_tbl.count > 0) THEN
517 x_return_status := 'F';
518 END IF;
519
520 x_fail_payment_schedule_tbl := l_psh_tbl;
521 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - validate print: ' || x_return_status);
522
523 -- ---------------------------------------------------------------------
524 -- End of API body
525 -- ---------------------------------------------------------------------
526 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
527
528 logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
529
530 EXCEPTION
531 WHEN FND_API.G_EXC_ERROR THEN
532 x_return_status := FND_API.G_RET_STS_ERROR;
533 x_fail_payment_schedule_tbl := l_psh_tbl;
537 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
534 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
535 logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
536
538 x_return_status := FND_API.G_RET_STS_ERROR;
539 x_fail_payment_schedule_tbl := l_psh_tbl;
540 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
541 logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
542
543 WHEN OTHERS THEN
544 x_return_status := FND_API.G_RET_STS_ERROR;
545 x_fail_payment_schedule_tbl := l_psh_tbl;
546 FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
547 logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
548
549 END VALIDATE_PRINT;
550
551 END ARI_PROCESS_VALIDATE;