[Home] [Help]
PACKAGE BODY: APPS.IBY_EXT_BANKACCT_VALIDATIONS
Source
1 PACKAGE BODY IBY_EXT_BANKACCT_VALIDATIONS AS
2 /*$Header: ibybnkvalb.pls 120.23.12020000.3 2013/03/21 10:16:00 sgogula ship $*/
3
4 G_CURRENT_RUNTIME_LEVEL CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5 G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
6 --
7 -- Forward Declarations
8 --
9 PROCEDURE print_debuginfo(
10 p_message IN VARCHAR2,
11 p_prefix IN VARCHAR2 DEFAULT 'DEBUG',
12 p_msg_level IN NUMBER DEFAULT FND_LOG.LEVEL_STATEMENT,
13 p_module IN VARCHAR2 DEFAULT G_DEBUG_MODULE
14 );
15
16 PROCEDURE check_mandatory(
17 p_field IN VARCHAR2,
18 p_value IN VARCHAR2
19 );
20
21 -- iby_validate_account_at
22 --
23 -- API name : iby_validate_account_at
24 -- Type : Public
25 -- Pre-reqs : None
26 -- Function : Austria Validations
27 -- Current version : 1.0
28 -- Previous version: 1.0
29 -- Initial version : 1.0
30
31 PROCEDURE iby_validate_account_at(
32 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
33 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
34 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
35 foreign_payment_flag IN BOOLEAN,
36 x_valid IN OUT NOCOPY BOOLEAN
37 )
38 IS
39
40 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_at';
41 l_api_version CONSTANT NUMBER := 1.0;
42 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
43
44 val_result BOOLEAN;
45 l_bank_account_num VARCHAR2(100);
46 l_bank_branch_num VARCHAR2(30);
47 l_bank_num VARCHAR2(30);
48
49 BEGIN
50
51 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
52 print_debuginfo('ENTER ' || l_module_name);
53 END IF;
54 x_valid := FALSE;
55
56 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
57
58 -- Validate Bank Account Information
59 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_AT (
60 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
61 Xi_PASS_MAND_CHECK => 'P',
62 Xo_VALUE_OUT => l_bank_account_num);
63
64 p_ext_bank_acct_rec.bank_account_num :=
65 NVL(l_bank_account_num,p_ext_bank_acct_rec.bank_account_num);
66
67 IF (foreign_payment_flag) THEN
68
69 l_bank_branch_num := p_ext_bank_branch_rec.branch_number;
70
71 -- Validate Bank Branch
72 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_AT(
73 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
74 Xi_PASS_MAND_CHECK => 'P',
75 Xo_VALUE_OUT => l_bank_branch_num);
76
77 p_ext_bank_branch_rec.branch_number :=
78 NVL(l_bank_branch_num, p_ext_bank_branch_rec.branch_number);
79
80 END IF;
81
82 x_valid := TRUE;
83
84 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
85 print_debuginfo('RETURN ' || l_module_name);
86
87 END IF;
88 END iby_validate_account_at;
89
90
91 -- iby_validate_account_au
92 --
93 -- API name : iby_validate_account_au
94 -- Type : Public
95 -- Pre-reqs : None
96 -- Function : Australian Validations
97 -- Current version : 1.0
98 -- Previous version: 1.0
99 -- Initial version : 1.0
100 PROCEDURE iby_validate_account_au(
101 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
102 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
103 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
104 foreign_payment_flag IN BOOLEAN,
105 x_valid IN OUT NOCOPY BOOLEAN
106 )
107 IS
108 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_au';
109 l_api_version CONSTANT NUMBER := 1.0;
110 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
111
112 val_result BOOLEAN;
113 l_bank_account_num VARCHAR2(100);
114 l_bank_branch_num VARCHAR2(30);
115 l_bank_num VARCHAR2(30);
116
117 BEGIN
118
119 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
120 print_debuginfo('ENTER ' || l_module_name);
121 END IF;
122 x_valid := FALSE;
123
124 -- Validate Bank Account Information
125 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_AU(
126 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
127 Xi_CURRENCY_CODE => p_ext_bank_acct_rec.currency);
128
129 IF (foreign_payment_flag) THEN
130
131 -- Validate Bank Bank
132 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_AU(
133 Xi_BANK_NUMBER => l_bank_num);
134
135 /*
136 -- Validate Bank Branch
137 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_AU(
138 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
139 Xi_BANK_ID => p_ext_bank_rec.bank_id,
140 Xi_PASS_MAND_CHECK => 'P');
141 */
142
143 -- Validate Bank Branch
144 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
145 print_debuginfo('Calling bank branch validation CE API');
146 END IF;
147 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_BANK(
148 Xi_COUNTRY => 'AU',
149 Xi_BRANCH_NUM => p_ext_bank_branch_rec.branch_number,
150 Xi_BANK_NUM => p_ext_bank_rec.bank_number,
151 Xo_VALUE_OUT => l_bank_branch_num);
152
153 END IF;
154
155 x_valid := TRUE;
156
157 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
158 print_debuginfo('RETURN ' || l_module_name);
159
160
161 END IF;
162 END iby_validate_account_au;
163
164
165 -- iby_validate_account_be
166 --
167 -- API name : iby_validate_account_be
168 -- Type : Public
169 -- Pre-reqs : None
170 -- Function : Belgian Validations
171 -- Current version : 1.0
172 -- Previous version: 1.0
173 -- Initial version : 1.0
174 PROCEDURE iby_validate_account_be(
175 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
176 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
177 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
178 foreign_payment_flag IN BOOLEAN,
179 x_valid IN OUT NOCOPY BOOLEAN
180 )
181 IS
182 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_be';
183 l_api_version CONSTANT NUMBER := 1.0;
184 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
185
186 val_result BOOLEAN;
187 l_bank_account_num VARCHAR2(100);
188 l_bank_branch_num VARCHAR2(30);
189 l_bank_num VARCHAR2(30);
190
191 BEGIN
192
193 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
194 print_debuginfo('ENTER ' || l_module_name);
195 END IF;
196 x_valid := FALSE;
197
198 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
199
200 -- Validate Bank Account Information
201 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_BE(
202 Xi_ACCOUNT_NUMBER => l_bank_account_num,
203 Xi_PASS_MAND_CHECK => 'P');
204
205
206 x_valid := TRUE;
207
208 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
209 print_debuginfo('RETURN ' || l_module_name);
210
211
212 END IF;
213 END iby_validate_account_be;
214
215 -- iby_validate_account_ca
216 --
217 -- API name : iby_validate_account_ca
218 -- Type : Public
219 -- Pre-reqs : None
220 -- Function : Canadian Validations
221 -- Current version : 1.0
222 -- Previous version: 1.0
223 -- Initial version : 1.0
224 PROCEDURE iby_validate_account_ca(
225 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
226 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
227 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
228 foreign_payment_flag IN BOOLEAN,
229 x_valid IN OUT NOCOPY BOOLEAN
230 )
231 IS
232 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_ca';
233 l_api_version CONSTANT NUMBER := 1.0;
234 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
235
236 val_result BOOLEAN;
237 l_bank_account_num VARCHAR2(100);
238 l_bank_branch_num VARCHAR2(30);
239 l_bank_num VARCHAR2(30);
240
241 BEGIN
242
243 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
244 print_debuginfo('ENTER ' || l_module_name);
245 END IF;
246 x_valid := FALSE;
247
248 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
249 print_debuginfo('RETURN ' || l_module_name);
250
251 END IF;
252 END iby_validate_account_ca;
253
254
255 -- iby_validate_account_de
256 --
257 -- API name : iby_validate_account_de
258 -- Type : Public
259 -- Pre-reqs : None
260 -- Function : German Validations
261 -- Current version : 1.0
262 -- Previous version: 1.0
263 -- Initial version : 1.0
264 PROCEDURE iby_validate_account_de(
265 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
266 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
267 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
268 foreign_payment_flag IN BOOLEAN,
269 x_valid IN OUT NOCOPY BOOLEAN
270 )
271 IS
272 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_de';
273 l_api_version CONSTANT NUMBER := 1.0;
274 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
275
276 val_result BOOLEAN;
277 l_bank_account_num VARCHAR2(100);
278 l_bank_branch_num VARCHAR2(30);
279 l_bank_num VARCHAR2(30);
280
281
282 BEGIN
283
284 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
285 print_debuginfo('ENTER ' || l_module_name);
286 END IF;
287 x_valid := FALSE;
288
289 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
290
291 -- Validate Bank Account Information
292 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_DE (
293 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
294 Xo_VALUE_OUT => l_bank_account_num);
295
296 p_ext_bank_acct_rec.bank_account_num :=
297 NVL(l_bank_account_num,p_ext_bank_acct_rec.bank_account_num);
298
299 IF (foreign_payment_flag) THEN
300
301 -- Validate Bank Bank
302 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_DE(
303 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number);
304
305 /*
306 -- Validate Bank Branch
307 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_DE(
308 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
309 Xi_BANK_ID => p_ext_bank_rec.bank_id);
310 */
311
312 -- Validate Bank Branch
313 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
314 print_debuginfo('Calling bank branch validation CE API');
315 END IF;
316 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_BANK(
317 Xi_COUNTRY => 'DE',
318 Xi_BRANCH_NUM => p_ext_bank_branch_rec.branch_number,
319 Xi_BANK_NUM => p_ext_bank_rec.bank_number,
320 Xo_VALUE_OUT => l_bank_branch_num);
321 END IF;
322
323 -- Validate Check Digit
324 CE_VALIDATE_BANKINFO.CE_VALIDATE_CD_DE(
325 Xi_CD => p_ext_bank_acct_rec.check_digits,
326 Xi_X_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num);
327
328 x_valid := TRUE;
329
330 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
331 print_debuginfo('RETURN ' || l_module_name);
332
333
334 END IF;
335 END iby_validate_account_de;
336
337
338 -- iby_validate_account_dk
339 --
340 -- API name : iby_validate_account_dk
341 -- Type : Public
342 -- Pre-reqs : None
343 -- Function : Denmark Validations
344 -- Current version : 1.0
345 -- Previous version: 1.0
346 -- Initial version : 1.0
347 PROCEDURE iby_validate_account_dk(
348 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
349 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
350 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
351 foreign_payment_flag IN BOOLEAN,
352 x_valid IN OUT NOCOPY BOOLEAN
353 )
354 IS
355 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_dk';
356 l_api_version CONSTANT NUMBER := 1.0;
357 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
358
359 val_result BOOLEAN;
360 l_bank_account_num VARCHAR2(100);
361 l_bank_branch_num VARCHAR2(30);
362 l_bank_num VARCHAR2(30);
363
364 BEGIN
365
366 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
367 print_debuginfo('ENTER ' || l_module_name);
368 END IF;
369 x_valid := FALSE;
370
371 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
372
373 -- Validate Bank Account Information
374 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_DK (
375 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
376 Xi_PASS_MAND_CHECK => 'P',
377 Xo_VALUE_OUT => l_bank_account_num);
378
379 p_ext_bank_acct_rec.bank_account_num :=
380 NVL(l_bank_account_num,p_ext_bank_acct_rec.bank_account_num);
381
382 x_valid := TRUE;
383
384 END iby_validate_account_dk;
385
386
387 -- iby_validate_account_fi
388 --
389 -- API name : iby_validate_account_fi
390 -- Type : Public
391 -- Pre-reqs : None
392 -- Function : Finnish Validations
393 -- Current version : 1.0
394 -- Previous version: 1.0
395 -- Initial version : 1.0
396 PROCEDURE iby_validate_account_fi(
397 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
398 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
399 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
400 foreign_payment_flag IN BOOLEAN,
401 x_valid IN OUT NOCOPY BOOLEAN
402 )
403 IS
404 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_fi';
405 l_api_version CONSTANT NUMBER := 1.0;
406 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
407
408 val_result BOOLEAN;
409 l_bank_account_num VARCHAR2(100);
410 l_bank_branch_num VARCHAR2(30);
411 l_bank_num VARCHAR2(30);
412
413 BEGIN
414
415 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
416 print_debuginfo('ENTER ' || l_module_name);
417 END IF;
418 x_valid := FALSE;
419
420 -- Validate Bank Account Information
421 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_FI (
422 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
423 Xi_PASS_MAND_CHECK => 'P');
424
425
426 x_valid := TRUE;
427
428 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
429 print_debuginfo('RETURN ' || l_module_name);
430
431 END IF;
432 END iby_validate_account_fi;
433
434
435 -- iby_validate_account_fr
436 --
437 -- API name : iby_validate_account_fr
438 -- Type : Public
439 -- Pre-reqs : None
440 -- Function : France Validations
441 -- Current version : 1.0
442 -- Previous version: 1.0
443 -- Initial version : 1.0
444 PROCEDURE iby_validate_account_fr(
445 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
446 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
447 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
448 foreign_payment_flag IN BOOLEAN,
449 x_valid IN OUT NOCOPY BOOLEAN
450 )
451 IS
452 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_fr';
453 l_api_version CONSTANT NUMBER := 1.0;
454 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
455
456 val_result BOOLEAN;
457 l_bank_account_num VARCHAR2(100);
458 l_bank_branch_num VARCHAR2(30);
459 l_bank_num VARCHAR2(30);
460
461
462 BEGIN
463
464 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
465 print_debuginfo('ENTER ' || l_module_name);
466 END IF;
467 x_valid := FALSE;
468
469 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
470
471 -- Validate Bank Account Information
472 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_FR (
473 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
474 Xi_PASS_MAND_CHECK => 'P',
475 Xo_VALUE_OUT => l_bank_account_num);
476
477 p_ext_bank_acct_rec.bank_account_num :=
478 NVL(l_bank_account_num,p_ext_bank_acct_rec.bank_account_num);
479
480 IF (foreign_payment_flag) THEN
481
482 l_bank_num := p_ext_bank_rec.bank_number;
483
484 -- Validate Bank
485 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_FR(
486 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number,
487 Xi_PASS_MAND_CHECK => 'P',
488 Xo_VALUE_OUT => l_bank_num);
489
490 p_ext_bank_rec.bank_number :=
491 NVL(l_bank_num,p_ext_bank_rec.bank_number);
492
493 l_bank_branch_num := p_ext_bank_branch_rec.branch_name;
494
495 -- Validate Bank Branch
496 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_FR(
497 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
498 Xi_PASS_MAND_CHECK => 'P',
499 Xo_VALUE_OUT => l_bank_branch_num);
500
501 p_ext_bank_branch_rec.branch_number :=
502 NVL(l_bank_branch_num, p_ext_bank_branch_rec.branch_number);
503
504 END IF;
505
506 -- Validate Check Digits
507 CE_VALIDATE_BANKINFO.CE_VALIDATE_CD_FR(
508 Xi_CD => p_ext_bank_acct_rec.check_digits,
509 Xi_PASS_MAND_CHECK => 'P',
510 Xi_X_BANK_NUMBER => p_ext_bank_rec.bank_number,
511 Xi_X_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
512 Xi_X_ACCOUNT_NUMBER => translate(p_ext_bank_acct_rec.bank_account_num,
513 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
514 '123456789123456789234567890'));
515
516 x_valid := TRUE;
517
518 END iby_validate_account_fr;
519
520
521 -- iby_validate_account_gb
522 --
523 -- API name : iby_validate_account_gb
524 -- Type : Public
525 -- Pre-reqs : None
526 -- Function : Greek Validations
527 -- Current version : 1.0
528 -- Previous version: 1.0
529 -- Initial version : 1.0
530 PROCEDURE iby_validate_account_gb(
531 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
532 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
533 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
534 foreign_payment_flag IN BOOLEAN,
535 x_valid IN OUT NOCOPY BOOLEAN
536 )
537 IS
538 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_gb';
539 l_api_version CONSTANT NUMBER := 1.0;
540 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
541
542 val_result BOOLEAN;
543 l_bank_account_num VARCHAR2(100);
544 l_bank_branch_num VARCHAR2(30);
545 l_bank_num VARCHAR2(30);
546
547 BEGIN
548
549 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
550 print_debuginfo('ENTER ' || l_module_name);
551 END IF;
552 x_valid := FALSE;
553
554 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
555
556 -- 16506399 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_GB CALL NEEDS TO BE MODIFIED L
557 -- Validate Bank Account Information
558 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_GB (
559 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
560 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
561 Xo_VALUE_OUT => l_bank_account_num);
562
563 p_ext_bank_acct_rec.bank_account_num :=
564 NVL(l_bank_account_num,p_ext_bank_acct_rec.bank_account_num);
565
566 IF (foreign_payment_flag) THEN
567
568 -- Validate Bank Bank
569 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_GB(
570 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number);
571
572 /*
573 -- Validate Bank Branch
574 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_GB(
575 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
576 Xi_BANK_ID => p_ext_bank_rec.bank_id);
577 */
578
579 -- Validate Bank Branch
580 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
581 print_debuginfo('Calling bank branch validation CE API');
582 END IF;
583 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_BANK(
584 Xi_COUNTRY => 'GB',
585 Xi_BRANCH_NUM => p_ext_bank_branch_rec.branch_number,
586 Xi_BANK_NUM => p_ext_bank_rec.bank_number,
587 Xo_VALUE_OUT => l_bank_branch_num);
588
589 END IF;
590
591 x_valid := TRUE;
592
593 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
594 print_debuginfo('RETURN ' || l_module_name);
595
596 END IF;
597 END iby_validate_account_gb;
598
599
600 -- iby_validate_account_gr
601 --
602 -- API name : iby_validate_account_gr
603 -- Type : Public
604 -- Pre-reqs : None
605 -- Function : Greek Validations
606 -- Current version : 1.0
607 -- Previous version: 1.0
608 -- Initial version : 1.0
609 PROCEDURE iby_validate_account_gr(
610 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
611 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
612 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
613 foreign_payment_flag IN BOOLEAN,
614 x_valid IN OUT NOCOPY BOOLEAN
615 )
616 IS
617 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_gr';
618 l_api_version CONSTANT NUMBER := 1.0;
619 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
620
621 val_result BOOLEAN;
622 l_bank_account_num VARCHAR2(100);
623 l_bank_branch_num VARCHAR2(30);
624 l_bank_num VARCHAR2(30);
625
626
627 BEGIN
628
629 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
630 print_debuginfo('ENTER ' || l_module_name);
631 END IF;
632 x_valid := FALSE;
633
634 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
635
636 -- Validate Bank Account Information
637 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_GR (
638 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
639 Xo_VALUE_OUT => l_bank_account_num);
640
641 p_ext_bank_acct_rec.bank_account_num :=
642 NVL(l_bank_account_num,p_ext_bank_acct_rec.bank_account_num);
643
644 IF (foreign_payment_flag) THEN
645
646 -- Validate Bank Bank
647 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_GR(
648 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number);
649
650 -- Validate Bank Branch
651 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_GR(
652 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number);
653
654 END IF;
655
656 -- Validate Check Digits
657 CE_VALIDATE_BANKINFO.CE_VALIDATE_CD_GR(
658 Xi_CD => p_ext_bank_acct_rec.check_digits,
659 Xi_PASS_MAND_CHECK => 'P',
660 Xi_X_BANK_NUMBER => p_ext_bank_rec.bank_number,
661 Xi_X_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
662 Xi_X_ACCOUNT_NUMBER => translate(p_ext_bank_acct_rec.bank_account_num,
663 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
664 '123456789123456789234567890'));
665
666
667 x_valid := TRUE;
668
669 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
670 print_debuginfo('RETURN ' || l_module_name);
671
672 END IF;
673 END iby_validate_account_gr;
674
675
676 -- iby_validate_account_hk
677 --
678 -- API name : iby_validate_account_hk
679 -- Type : Public
680 -- Pre-reqs : None
681 -- Function : Hongkong Validations
682 -- Current version : 1.0
683 -- Previous version: 1.0
684 -- Initial version : 1.0
685 PROCEDURE iby_validate_account_hk(
686 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
687 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
688 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
689 foreign_payment_flag IN BOOLEAN,
690 x_valid IN OUT NOCOPY BOOLEAN
691 )
692 IS
693 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_hk';
694 l_api_version CONSTANT NUMBER := 1.0;
695 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
696
697 val_result BOOLEAN;
698 l_bank_account_num VARCHAR2(100);
699 l_bank_branch_num VARCHAR2(30);
700 l_bank_num VARCHAR2(30);
701
702 BEGIN
703
704 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
705 print_debuginfo('ENTER ' || l_module_name);
706
707 END IF;
708 x_valid := TRUE;
709
710 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
711 print_debuginfo('RETURN ' || l_module_name);
712
713 END IF;
714 END iby_validate_account_hk;
715
716
717 -- iby_validate_account_il
718 --
719 -- API name : iby_validate_account_il
720 -- Type : Public
721 -- Pre-reqs : None
722 -- Function : Iceland Validations
723 -- Current version : 1.0
724 -- Previous version: 1.0
725 -- Initial version : 1.0
726 PROCEDURE iby_validate_account_il(
727 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
728 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
729 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
730 foreign_payment_flag IN BOOLEAN,
731 x_valid IN OUT NOCOPY BOOLEAN
732 )
733 IS
734 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_il';
735 l_api_version CONSTANT NUMBER := 1.0;
736 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
737
738 val_result BOOLEAN;
739 l_bank_account_num VARCHAR2(100);
740 l_bank_branch_num VARCHAR2(30);
741 l_bank_num VARCHAR2(30);
742
743 BEGIN
744
745 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
746 print_debuginfo('ENTER ' || l_module_name);
747 END IF;
748 x_valid := FALSE;
749
750 -- Validate Bank Account Information
751 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_IL (
752 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num);
753
754 IF (foreign_payment_flag) THEN
755
756 -- Validate Bank
757 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_IL(
758 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number,
759 Xi_PASS_MAND_CHECK => 'P');
760
761 -- Validate Bank Branch
762 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_IL(
763 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
764 Xi_PASS_MAND_CHECK => 'P');
765
766 END IF;
767
768 x_valid := TRUE;
769
770 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
771 print_debuginfo('RETURN ' || l_module_name);
772
773
774 END IF;
775 END iby_validate_account_il;
776
777
778 -- iby_validate_account_ie
779 --
780 -- API name : iby_validate_account_ie
781 -- Type : Public
782 -- Pre-reqs : None
783 -- Function : Ireland Validations
784 -- Current version : 1.0
785 -- Previous version: 1.0
786 -- Initial version : 1.0
787 PROCEDURE iby_validate_account_ie(
788 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
789 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
790 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
791 foreign_payment_flag IN BOOLEAN,
792 x_valid IN OUT NOCOPY BOOLEAN
793 )
794 IS
795 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_ie';
796 l_api_version CONSTANT NUMBER := 1.0;
797 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
798
799 val_result BOOLEAN;
800 l_bank_account_num VARCHAR2(100);
801 l_bank_branch_num VARCHAR2(30);
802 l_bank_num VARCHAR2(30);
803
804
805
806 BEGIN
807
808 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
809 print_debuginfo('ENTER ' || l_module_name);
810 END IF;
811 x_valid := FALSE;
812
813 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_IE (
814 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num);
815
816 IF (foreign_payment_flag) THEN
817
818 -- Validate Bank
819 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_IE(
820 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number);
821
822 /*
823 -- Validate Bank Branch
824 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_IE(
825 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
826 Xi_BANK_ID => p_ext_bank_rec.bank_id);
827 */
828
829 -- Validate Bank Branch
830 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
831 print_debuginfo('Calling bank branch validation CE API');
832 END IF;
833 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_BANK(
834 Xi_COUNTRY => 'IE',
835 Xi_BRANCH_NUM => p_ext_bank_branch_rec.branch_number,
836 Xi_BANK_NUM => p_ext_bank_rec.bank_number,
837 Xo_VALUE_OUT => l_bank_branch_num);
838 END IF;
839
840 x_valid := TRUE;
841
842 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
843 print_debuginfo('RETURN ' || l_module_name);
844
845 END IF;
846 END iby_validate_account_ie;
847
848 -- iby_validate_account_is
849 --
850 -- API name : iby_validate_account_is
851 -- Type : Public
852 -- Pre-reqs : None
853 -- Function : Italy Validations
854 -- Current version : 1.0
855 -- Previous version: 1.0
856 -- Initial version : 1.0
857 PROCEDURE iby_validate_account_is(
858 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
859 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
860 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
861 foreign_payment_flag IN BOOLEAN,
862 x_valid IN OUT NOCOPY BOOLEAN
863 )
864 IS
865 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_is';
866 l_api_version CONSTANT NUMBER := 1.0;
867 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
868
869 val_result BOOLEAN;
870 l_bank_account_num VARCHAR2(100);
871 l_bank_branch_num VARCHAR2(30);
872 l_bank_num VARCHAR2(30);
873
874
875 BEGIN
876
877 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
878 print_debuginfo('ENTER ' || l_module_name);
879 END IF;
880 x_valid := FALSE;
881
882 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
883
884 -- Validate Bank Account Information
885 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_IS (
886 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
887 Xo_VALUE_OUT => l_bank_account_num);
888
889 p_ext_bank_acct_rec.bank_account_num :=
890 NVL(l_bank_account_num,p_ext_bank_acct_rec.bank_account_num);
891
892 IF (foreign_payment_flag) THEN
893
894 l_bank_branch_num := p_ext_bank_branch_rec.branch_name;
895
896 /*
897 -- Validate Bank Branch
898 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_IS(
899 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
900 Xi_BANK_ID => p_ext_bank_rec.bank_id,
901 Xo_VALUE_OUT => l_bank_branch_num);
902 */
903
904 -- Validate Bank Branch
905 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
906 print_debuginfo('Calling bank branch validation CE API');
907 END IF;
908 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_BANK(
909 Xi_COUNTRY => 'IS',
910 Xi_BRANCH_NUM => p_ext_bank_branch_rec.branch_number,
911 Xi_BANK_NUM => p_ext_bank_rec.bank_number,
912 Xo_VALUE_OUT => l_bank_branch_num);
913
914 p_ext_bank_branch_rec.branch_number :=
915 NVL(l_bank_branch_num, p_ext_bank_branch_rec.branch_number);
916
917 END IF;
918
919 -- Validate Check Digits
920 CE_VALIDATE_BANKINFO.CE_VALIDATE_CD_IS(
921 Xi_CD => p_ext_bank_acct_rec.check_digits,
922 Xi_X_ACCOUNT_NUMBER => translate(p_ext_bank_acct_rec.bank_account_num,
923 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
924 '123456789123456789234567890'));
925
926 x_valid := TRUE;
927
928 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
929 print_debuginfo('RETURN ' || l_module_name);
930
931 END IF;
932 END iby_validate_account_is;
933
934 -- iby_validate_account_it
935 --
936 -- API name : iby_validate_account_it
937 -- Type : Public
938 -- Pre-reqs : None
939 -- Function : Italy Validations
940 -- Current version : 1.0
941 -- Previous version: 1.0
942 -- Initial version : 1.0
943 PROCEDURE iby_validate_account_it(
944 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
945 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
946 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
947 foreign_payment_flag IN BOOLEAN,
948 x_valid IN OUT NOCOPY BOOLEAN
949 )
950 IS
951 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_it';
952 l_api_version CONSTANT NUMBER := 1.0;
953 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
954
955 val_result BOOLEAN;
956 l_bank_account_num VARCHAR2(100);
957 l_bank_branch_num VARCHAR2(30);
958 l_bank_num VARCHAR2(30);
959
960
961 BEGIN
962
963 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
964 print_debuginfo('ENTER ' || l_module_name);
965 END IF;
966 x_valid := FALSE;
967
968 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
969
970 -- Validate Bank Account Information
971 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_IT (
972 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
973 Xo_VALUE_OUT => l_bank_account_num);
974
975 p_ext_bank_acct_rec.bank_account_num :=
976 NVL(l_bank_account_num,p_ext_bank_acct_rec.bank_account_num);
977
978 IF (foreign_payment_flag) THEN
979
980 -- Validate Bank Branch
981 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_IT(
982 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
983 Xi_PASS_MAND_CHECK => 'P');
984
985 END IF;
986
987 -- Validate Check Digits
988 CE_VALIDATE_BANKINFO.CE_VALIDATE_CD_IT(
989 Xi_CD => p_ext_bank_acct_rec.check_digits,
990 Xi_PASS_MAND_CHECK => 'P',
991 Xi_X_BANK_NUMBER => p_ext_bank_rec.bank_number,
992 Xi_X_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
993 Xi_X_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num);
994
995 x_valid := TRUE;
996
997 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
998 print_debuginfo('RETURN ' || l_module_name);
999
1000 END IF;
1001 END iby_validate_account_it;
1002
1003
1004 -- iby_validate_account_jp
1005 --
1006 -- API name : iby_validate_account_jp
1007 -- Type : Public
1008 -- Pre-reqs : None
1009 -- Function : Japan Validations
1010 -- Current version : 1.0
1011 -- Previous version: 1.0
1012 -- Initial version : 1.0
1013 PROCEDURE iby_validate_account_jp(
1014 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1015 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1016 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1017 foreign_payment_flag IN BOOLEAN,
1018 x_valid IN OUT NOCOPY BOOLEAN
1019 )
1020 IS
1021 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_jp';
1022 l_api_version CONSTANT NUMBER := 1.0;
1023 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1024
1025 val_result BOOLEAN;
1026 l_bank_account_num VARCHAR2(100);
1027 l_bank_branch_num VARCHAR2(30);
1028 l_bank_num VARCHAR2(30);
1029
1030 BEGIN
1031
1032 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1033 print_debuginfo('ENTER ' || l_module_name);
1034 END IF;
1035 x_valid := FALSE;
1036
1037 -- Validate Bank Account Information
1038 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_JP(
1039 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
1040 Xi_ACCOUNT_TYPE => p_ext_bank_acct_rec.acct_type);
1041
1042
1043 IF (foreign_payment_flag) THEN
1044
1045 -- Validate Bank Bank
1046 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_JP(
1047 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number,
1048 Xi_BANK_NAME_ALT => p_ext_bank_rec.bank_alt_name,
1049 Xi_PASS_MAND_CHECK => 'P');
1050
1051 -- Validate Bank Branch
1052 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_JP(
1053 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1054 Xi_BRANCH_NAME_ALT => p_ext_bank_branch_rec.alternate_branch_name,
1055 Xi_PASS_MAND_CHECK => 'P');
1056
1057
1058 END IF;
1059
1060 x_valid := TRUE;
1061
1062 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1063 print_debuginfo('RETURN ' || l_module_name);
1064
1065 END IF;
1066 END iby_validate_account_jp;
1067
1068
1069 -- iby_validate_account_lu
1070 --
1071 -- API name : iby_validate_account_lu
1072 -- Type : Public
1073 -- Pre-reqs : None
1074 -- Function : Luzembourg Validations
1075 -- Current version : 1.0
1076 -- Previous version: 1.0
1077 -- Initial version : 1.0
1078 PROCEDURE iby_validate_account_lu(
1079 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1080 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1081 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1082 foreign_payment_flag IN BOOLEAN,
1083 x_valid IN OUT NOCOPY BOOLEAN
1084 )
1085 IS
1086 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_lu';
1087 l_api_version CONSTANT NUMBER := 1.0;
1088 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1089
1090 val_result BOOLEAN;
1091 l_bank_account_num VARCHAR2(100);
1092 l_bank_branch_num VARCHAR2(30);
1093 l_bank_num VARCHAR2(30);
1094
1095 BEGIN
1096
1097 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1098 print_debuginfo('ENTER ' || l_module_name);
1099 END IF;
1100 x_valid := FALSE;
1101
1102 -- Validate Bank Account Information
1103 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_LU (
1104 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num);
1105
1106 IF (foreign_payment_flag) THEN
1107
1108 -- Validate Bank Bank
1109 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_LU(
1110 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number);
1111
1112 /*
1113 -- Validate Bank Branch
1114 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_LU(
1115 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1116 Xi_BANK_ID => p_ext_bank_rec.bank_id);
1117 */
1118
1119 -- Validate Bank Branch
1120 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1121 print_debuginfo('Calling bank branch validation CE API');
1122 END IF;
1123 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_BANK(
1124 Xi_COUNTRY => 'LU',
1125 Xi_BRANCH_NUM => p_ext_bank_branch_rec.branch_number,
1126 Xi_BANK_NUM => p_ext_bank_rec.bank_number,
1127 Xo_VALUE_OUT => l_bank_branch_num);
1128
1129 END IF;
1130
1131 -- Validate Check Digits
1132 CE_VALIDATE_BANKINFO.CE_VALIDATE_CD_LU(
1133 Xi_CD => p_ext_bank_acct_rec.check_digits,
1134 Xi_X_BANK_NUMBER => p_ext_bank_rec.bank_number,
1135 Xi_X_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1136 Xi_X_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num);
1137
1138 x_valid := TRUE;
1139
1140 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1141 print_debuginfo('RETURN ' || l_module_name);
1142
1143 END IF;
1144 END iby_validate_account_lu;
1145
1146
1147 -- iby_validate_account_nl
1148 --
1149 -- API name : iby_validate_account_nl
1150 -- Type : Public
1151 -- Pre-reqs : None
1152 -- Function : Netherlands Validations
1153 -- Current version : 1.0
1154 -- Previous version: 1.0
1155 -- Initial version : 1.0
1156 PROCEDURE iby_validate_account_nl(
1157 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1158 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1159 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1160 foreign_payment_flag IN BOOLEAN,
1161 x_valid IN OUT NOCOPY BOOLEAN
1162 )
1163 IS
1164 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_nl';
1165 l_api_version CONSTANT NUMBER := 1.0;
1166 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1167
1168 val_result BOOLEAN;
1169 l_bank_account_num VARCHAR2(100);
1170 l_bank_branch_num VARCHAR2(30);
1171 l_bank_num VARCHAR2(30);
1172
1173 BEGIN
1174
1175 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1176 print_debuginfo('ENTER ' || l_module_name);
1177
1178 END IF;
1179 -- Validate Bank Account Information
1180 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_NL (
1181 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
1182 Xi_PASS_MAND_CHECK => 'P');
1183
1184 x_valid := TRUE;
1185
1186 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1187 print_debuginfo('RETURN ' || l_module_name);
1188 END IF;
1189 END iby_validate_account_nl;
1190
1191
1192 -- iby_validate_account_nz
1193 --
1194 -- API name : iby_validate_account_nz
1195 -- Type : Public
1196 -- Pre-reqs : None
1197 -- Function : New Zealand Validations
1198 -- Current version : 1.0
1199 -- Previous version: 1.0
1200 -- Initial version : 1.0
1201 PROCEDURE iby_validate_account_nz(
1202 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1203 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1204 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1205 foreign_payment_flag IN BOOLEAN,
1206 x_valid IN OUT NOCOPY BOOLEAN
1207 )
1208 IS
1209 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_nz';
1210 l_api_version CONSTANT NUMBER := 1.0;
1211 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1212
1213 val_result BOOLEAN;
1214 l_bank_account_num VARCHAR2(100);
1215 l_bank_branch_num VARCHAR2(30);
1216 l_bank_num VARCHAR2(30);
1217
1218 BEGIN
1219
1220 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1221 print_debuginfo('ENTER ' || l_module_name);
1222 END IF;
1223 x_valid := FALSE;
1224
1225 -- Validate Bank Account Information
1226 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_NZ (
1227 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
1228 Xi_ACCOUNT_SUFFIX => p_ext_bank_acct_rec.acct_suffix);
1229
1230 IF (foreign_payment_flag) THEN
1231
1232 -- Validate Bank
1233 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_NZ(
1234 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number,
1235 Xi_PASS_MAND_CHECK => 'P');
1236
1237
1238 -- Validate Bank Branch
1239 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_NZ(
1240 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1241 Xi_PASS_MAND_CHECK => 'P');
1242
1243 END IF;
1244
1245 x_valid := TRUE;
1246
1247 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1248 print_debuginfo('RETURN ' || l_module_name);
1249
1250 END IF;
1251 END iby_validate_account_nz;
1252
1253
1254 -- iby_validate_account_no
1255 --
1256 -- API name : iby_validate_account_no
1257 -- Type : Public
1258 -- Pre-reqs : None
1259 -- Function : Norway Validations
1260 -- Current version : 1.0
1261 -- Previous version: 1.0
1262 -- Initial version : 1.0
1263 PROCEDURE iby_validate_account_no(
1264 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1265 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1266 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1267 foreign_payment_flag IN BOOLEAN,
1268 x_valid IN OUT NOCOPY BOOLEAN
1269 )
1270 IS
1271 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_no';
1272 l_api_version CONSTANT NUMBER := 1.0;
1273 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1274
1275 val_result BOOLEAN;
1276 l_bank_account_num VARCHAR2(100);
1277 l_bank_branch_num VARCHAR2(30);
1278 l_bank_num VARCHAR2(30);
1279
1280 BEGIN
1281
1282 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1283 print_debuginfo('ENTER ' || l_module_name);
1284 END IF;
1285 x_valid := FALSE;
1286
1287 -- Validate Bank Account Information
1288 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_NO (
1289 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
1290 Xi_PASS_MAND_CHECK => 'P');
1291
1292 x_valid := TRUE;
1293
1294 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1295 print_debuginfo('RETURN ' || l_module_name);
1296
1297 END IF;
1298 END iby_validate_account_no;
1299
1300
1301 -- iby_validate_account_pl
1302 --
1303 -- API name : iby_validate_account_pl
1304 -- Type : Public
1305 -- Pre-reqs : None
1306 -- Function : Poland Validations
1307 -- Current version : 1.0
1308 -- Previous version: 1.0
1309 -- Initial version : 1.0
1310 PROCEDURE iby_validate_account_pl(
1311 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1312 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1313 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1314 foreign_payment_flag IN BOOLEAN,
1315 x_valid IN OUT NOCOPY BOOLEAN
1316 )
1317 IS
1318 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_pl';
1319 l_api_version CONSTANT NUMBER := 1.0;
1320 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1321
1322 val_result BOOLEAN;
1323 l_bank_account_num VARCHAR2(100);
1324 l_bank_branch_num VARCHAR2(30);
1325 l_bank_num VARCHAR2(30);
1326
1327 BEGIN
1328
1329 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1330 print_debuginfo('ENTER ' || l_module_name);
1331 END IF;
1332 x_valid := FALSE;
1333
1334 -- Validate Bank Account Information
1335 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_PL (
1336 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num);
1337
1338
1339 IF (foreign_payment_flag) THEN
1340
1341 -- Validate Bank
1342 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_PL(
1343 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number);
1344
1345 /*
1346 -- Validate Bank Branch
1347 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_PL(
1348 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1349 Xi_BANK_ID => p_ext_bank_rec.bank_id);
1350 */
1351
1352 -- Validate Bank Branch
1353 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1354 print_debuginfo('Calling bank branch validation CE API');
1355 END IF;
1356 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_BANK(
1357 Xi_COUNTRY => 'PL',
1358 Xi_BRANCH_NUM => p_ext_bank_branch_rec.branch_number,
1359 Xi_BANK_NUM => p_ext_bank_rec.bank_number,
1360 Xo_VALUE_OUT => l_bank_branch_num);
1361 END IF;
1362
1363 x_valid := TRUE;
1364
1365 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1366 print_debuginfo('RETURN ' || l_module_name);
1367
1368 END IF;
1369 END iby_validate_account_pl;
1370
1371
1372 -- iby_validate_account_pt
1373 --
1374 -- API name : iby_validate_account_pt
1375 -- Type : Public
1376 -- Pre-reqs : None
1377 -- Function : Portugal Validations
1378 -- Current version : 1.0
1379 -- Previous version: 1.0
1380 -- Initial version : 1.0
1381 PROCEDURE iby_validate_account_pt(
1382 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1383 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1384 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1385 foreign_payment_flag IN BOOLEAN,
1386 x_valid IN OUT NOCOPY BOOLEAN
1387 )
1388 IS
1389 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_pt';
1390 l_api_version CONSTANT NUMBER := 1.0;
1391 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1392
1393 val_result BOOLEAN;
1394 l_bank_account_num VARCHAR2(100);
1395 l_bank_branch_num VARCHAR2(30);
1396 l_bank_num VARCHAR2(30);
1397
1398 BEGIN
1399
1400 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1401 print_debuginfo('ENTER ' || l_module_name);
1402 END IF;
1403 x_valid := FALSE;
1404
1405 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
1406
1407 -- Validate Bank Account Information
1408 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_PT (
1409 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
1410 Xi_PASS_MAND_CHECK => 'P',
1411 Xo_VALUE_OUT => l_bank_account_num);
1412
1413 p_ext_bank_acct_rec.bank_account_num :=
1414 NVL(l_bank_account_num,p_ext_bank_acct_rec.bank_account_num);
1415
1416 IF (foreign_payment_flag) THEN
1417
1418 -- Validate Bank
1419 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_PT(
1420 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number,
1421 Xi_PASS_MAND_CHECK => 'P');
1422
1423 -- Validate Bank Branch
1424 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_PT(
1425 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1426 Xi_PASS_MAND_CHECK => 'P');
1427
1428 END IF;
1429
1430 -- Validate Check Digits
1431 CE_VALIDATE_BANKINFO.CE_VALIDATE_CD_PT(
1432 Xi_CD => p_ext_bank_acct_rec.check_digits,
1433 Xi_PASS_MAND_CHECK => 'P',
1434 Xi_X_BANK_NUMBER => p_ext_bank_rec.bank_number,
1435 Xi_X_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1436 Xi_X_ACCOUNT_NUMBER => translate(p_ext_bank_acct_rec.bank_account_num,
1437 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
1438 '123456789123456789234567890'));
1439
1440 x_valid := TRUE;
1441
1442 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1443 print_debuginfo('RETURN ' || l_module_name);
1444 END IF;
1445 END iby_validate_account_pt;
1446
1447
1448 -- iby_validate_account_sg
1449 --
1450 -- API name : iby_validate_account_sg
1451 -- Type : Public
1452 -- Pre-reqs : None
1453 -- Function : Italy Validations
1454 -- Current version : 1.0
1455 -- Previous version: 1.0
1456 -- Initial version : 1.0
1457 PROCEDURE iby_validate_account_sg(
1458 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1459 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1460 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1461 foreign_payment_flag IN BOOLEAN,
1462 x_valid IN OUT NOCOPY BOOLEAN
1463 )
1464 IS
1465 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_sg';
1466 l_api_version CONSTANT NUMBER := 1.0;
1467 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1468
1469 val_result BOOLEAN;
1470 l_bank_account_num VARCHAR2(100);
1471 l_bank_branch_num VARCHAR2(30);
1472 l_bank_num VARCHAR2(30);
1473
1474 BEGIN
1475
1476 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1477 print_debuginfo('ENTER ' || l_module_name);
1478
1479 END IF;
1480 x_valid := TRUE;
1481
1482 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1483 print_debuginfo('RETURN ' || l_module_name);
1484
1485 END IF;
1486 END iby_validate_account_sg;
1487
1488
1489
1490 -- iby_validate_account_es
1491 --
1492 -- API name : iby_validate_account_es
1493 -- Type : Public
1494 -- Pre-reqs : None
1495 -- Function : Italy Validations
1496 -- Current version : 1.0
1497 -- Previous version: 1.0
1498 -- Initial version : 1.0
1499 PROCEDURE iby_validate_account_es(
1500 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1501 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1502 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1503 foreign_payment_flag IN BOOLEAN,
1504 x_valid IN OUT NOCOPY BOOLEAN
1505 )
1506 IS
1507 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_es';
1508 l_api_version CONSTANT NUMBER := 1.0;
1509 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1510
1511 val_result BOOLEAN;
1512 l_bank_account_num VARCHAR2(100);
1513 l_bank_branch_num VARCHAR2(30);
1514 l_bank_num VARCHAR2(30);
1515
1516
1517 BEGIN
1518
1519 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1520 print_debuginfo('ENTER ' || l_module_name);
1521 END IF;
1522 x_valid := FALSE;
1523
1524 l_bank_account_num := p_ext_bank_acct_rec.bank_account_num;
1525
1526 -- Validate Bank Account Information
1527 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_ES (
1528 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num,
1529 Xi_PASS_MAND_CHECK => 'P',
1530 Xo_VALUE_OUT => l_bank_account_num);
1531
1532 p_ext_bank_acct_rec.bank_account_num :=
1533 NVL(l_bank_account_num,p_ext_bank_acct_rec.bank_account_num);
1534
1535 IF (foreign_payment_flag) THEN
1536
1537 l_bank_num := p_ext_bank_rec.bank_number;
1538
1539 -- Validate Bank
1540 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_ES(
1541 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number,
1542 Xi_PASS_MAND_CHECK => 'P',
1543 Xo_VALUE_OUT => l_bank_num);
1544
1545 p_ext_bank_rec.bank_number :=
1546 NVL(l_bank_num,p_ext_bank_rec.bank_number);
1547
1548 l_bank_branch_num := p_ext_bank_branch_rec.branch_number;
1549
1550 -- Validate Bank Branch
1551 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_ES(
1552 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1553 Xi_PASS_MAND_CHECK => 'P',
1554 Xo_VALUE_OUT => l_bank_branch_num);
1555
1556 p_ext_bank_branch_rec.branch_number :=
1557 NVL(l_bank_branch_num, p_ext_bank_branch_rec.branch_number);
1558
1559 END IF;
1560
1561 -- Validate Check Digits
1562 CE_VALIDATE_BANKINFO.CE_VALIDATE_CD_ES(
1563 Xi_CD => p_ext_bank_acct_rec.check_digits,
1564 Xi_PASS_MAND_CHECK => 'P',
1565 Xi_X_BANK_NUMBER => p_ext_bank_rec.bank_number,
1566 Xi_X_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1567 Xi_X_ACCOUNT_NUMBER => translate(p_ext_bank_acct_rec.bank_account_num,
1568 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
1569 '123456789123456789234567890'));
1570
1571 END iby_validate_account_es;
1572
1573
1574 -- iby_validate_account_se
1575 --
1576 -- API name : iby_validate_account_se
1577 -- Type : Public
1578 -- Pre-reqs : None
1579 -- Function : Italy Validations
1580 -- Current version : 1.0
1581 -- Previous version: 1.0
1582 -- Initial version : 1.0
1583 PROCEDURE iby_validate_account_se(
1584 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1585 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1586 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1587 foreign_payment_flag IN BOOLEAN,
1588 x_valid IN OUT NOCOPY BOOLEAN
1589 )
1590 IS
1591 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_se';
1592 l_api_version CONSTANT NUMBER := 1.0;
1593 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1594
1595 val_result BOOLEAN;
1596 l_bank_account_num VARCHAR2(100);
1597 l_bank_branch_num VARCHAR2(30);
1598 l_bank_num VARCHAR2(30);
1599
1600 BEGIN
1601
1602 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1603 print_debuginfo('ENTER ' || l_module_name);
1604 END IF;
1605 x_valid := FALSE;
1606
1607 -- Validate Bank Account Information
1608 CE_VALIDATE_BANKINFO.CE_VALIDATE_ACCOUNT_SE (
1609 Xi_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num);
1610
1611 IF (foreign_payment_flag) THEN
1612
1613 -- Validate Bank
1614 CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_SE(
1615 Xi_BANK_NUMBER => p_ext_bank_rec.bank_number);
1616
1617 /*
1618 -- Validate Bank Branch
1619 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_SE(
1620 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1621 Xi_BANK_ID => p_ext_bank_rec.bank_id);
1622 */
1623
1624 -- Validate Bank Branch
1625 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1626 print_debuginfo('Calling bank branch validation CE API');
1627 END IF;
1628 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_BANK(
1629 Xi_COUNTRY => 'SE',
1630 Xi_BRANCH_NUM => p_ext_bank_branch_rec.branch_number,
1631 Xi_BANK_NUM => p_ext_bank_rec.bank_number,
1632 Xo_VALUE_OUT => l_bank_branch_num);
1633 END IF;
1634
1635 x_valid := TRUE;
1636
1637 -- Validate Check Digit
1638 CE_VALIDATE_BANKINFO.CE_VALIDATE_CD_SE(
1639 Xi_CD => p_ext_bank_acct_rec.check_digits,
1640 Xi_X_ACCOUNT_NUMBER => p_ext_bank_acct_rec.bank_account_num);
1641
1642 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1643 print_debuginfo('RETURN ' || l_module_name);
1644
1645 END IF;
1646 END iby_validate_account_se;
1647
1648
1649 -- iby_validate_account_us
1650 --
1651 -- API name : iby_validate_account_us
1652 -- Type : Public
1653 -- Pre-reqs : None
1654 -- Function : Italy Validations
1655 -- Current version : 1.0
1656 -- Previous version: 1.0
1657 -- Initial version : 1.0
1658 PROCEDURE iby_validate_account_us(
1659 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1660 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1661 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1662 foreign_payment_flag IN BOOLEAN,
1663 x_valid IN OUT NOCOPY BOOLEAN
1664 )
1665 IS
1666 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account_us';
1667 l_api_version CONSTANT NUMBER := 1.0;
1668 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1669
1670 val_result BOOLEAN;
1671 l_bank_account_num VARCHAR2(100);
1672 l_bank_branch_num VARCHAR2(30);
1673 l_bank_num VARCHAR2(30);
1674
1675 BEGIN
1676
1677 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1678 print_debuginfo('ENTER ' || l_module_name);
1679 END IF;
1680 x_valid := FALSE;
1681
1682 IF (foreign_payment_flag
1683 AND p_ext_bank_branch_rec.branch_number IS NOT NULL -- Bug 6043905
1684 ) THEN
1685
1686 l_bank_num := p_ext_bank_rec.bank_number;
1687
1688 l_bank_branch_num := p_ext_bank_branch_rec.branch_name;
1689
1690 -- Validate Bank Branch
1691 CE_VALIDATE_BANKINFO.CE_VALIDATE_BRANCH_US(
1692 Xi_BRANCH_NUMBER => p_ext_bank_branch_rec.branch_number,
1693 Xi_PASS_MAND_CHECK => 'P',
1694 Xo_VALUE_OUT => l_bank_branch_num);
1695
1696 p_ext_bank_branch_rec.branch_number :=
1697 NVL(l_bank_branch_num, p_ext_bank_branch_rec.branch_number);
1698
1699 END IF;
1700
1701 x_valid := TRUE;
1702
1703 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1704 print_debuginfo('RETURN ' || l_module_name);
1705
1706 END IF;
1707 END iby_validate_account_us;
1708
1709
1710 -- iby_validate_account
1711 --
1712 -- API name : iby_validate_account
1713 -- Type : Public
1714 -- Pre-reqs : None
1715 -- Function : validates the external bank account
1716 -- Current version : 1.0
1717 -- Previous version: 1.0
1718 -- Initial version : 1.0
1719 --
1720
1721 PROCEDURE iby_validate_account(
1722 p_api_version IN NUMBER,
1723 p_init_msg_list IN VARCHAR2 default FND_API.G_FALSE,
1724 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1725 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1726 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1727 x_return_status OUT NOCOPY VARCHAR2,
1728 x_msg_count OUT NOCOPY NUMBER,
1729 x_msg_data OUT NOCOPY VARCHAR2,
1730 x_response OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
1731 )
1732 IS
1733
1734 BEGIN
1735
1736 iby_validate_account(
1737 p_api_version => p_api_version,
1738 p_init_msg_list => p_init_msg_list,
1739 p_create_flag => FND_API.G_TRUE,
1740 p_ext_bank_rec => p_ext_bank_rec,
1741 p_ext_bank_branch_rec => p_ext_bank_branch_rec,
1742 p_ext_bank_acct_rec => p_ext_bank_acct_rec,
1743 x_return_status => x_return_status,
1744 x_msg_count => x_msg_count,
1745 x_msg_data => x_msg_data,
1746 x_response => x_response
1747 );
1748
1749
1750 END iby_validate_account;
1751
1752
1753 -- iby_validate_account
1754 --
1755 -- API name : iby_validate_account
1756 -- Type : Public
1757 -- Pre-reqs : None
1758 -- Function : validates the external bank account, overloaded
1759 -- using the p_create_flag parameter
1760 -- Current version : 1.0
1761 -- Previous version: 1.0
1762 -- Initial version : 1.0
1763 --
1764
1765 PROCEDURE iby_validate_account(
1766 p_api_version IN NUMBER,
1767 p_init_msg_list IN VARCHAR2 default FND_API.G_FALSE,
1768 p_create_flag IN VARCHAR2 default FND_API.G_TRUE,
1769 p_ext_bank_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBank_rec_type,
1770 p_ext_bank_branch_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankBranch_rec_type,
1771 p_ext_bank_acct_rec IN OUT NOCOPY IBY_EXT_BANKACCT_PUB.ExtBankAcct_rec_type,
1772 x_return_status OUT NOCOPY VARCHAR2,
1773 x_msg_count OUT NOCOPY NUMBER,
1774 x_msg_data OUT NOCOPY VARCHAR2,
1775 x_response OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
1776 )
1777 IS
1778 l_bank_rec hz_bank_pub.bank_rec_type;
1779 l_branch_rec hz_bank_pub.bank_rec_type;
1780 l_org_rec hz_party_v2pub.organization_rec_type;
1781 l_country VARCHAR2(60);
1782 l_party_rec hz_party_v2pub.party_rec_type;
1783 l_api_name CONSTANT VARCHAR2(30) := 'iby_validate_account';
1784 l_api_version CONSTANT NUMBER := 1.0;
1785 l_module_name CONSTANT VARCHAR2(200) := G_PKG_NAME || '.' || l_api_name;
1786
1787 X_PASS_MAND_CHECK VARCHAR2(1) := 'P';
1788 COUNTRY VARCHAR2(2);
1789 x_valid BOOLEAN := FALSE;
1790 l_foreign_pmt_flag BOOLEAN := FALSE;
1791 l_count NUMBER;
1792 l_return_status VARCHAR2(35);
1793 l_iban VARCHAR2(50);
1794 l_bank_number VARCHAR2(30);
1795 l_branch_number VARCHAR2(30);
1796 l_bank_name VARCHAR2(360);
1797 -- get bank info. cursor
1798 CURSOR c_bank IS
1799 SELECT hz_p.party_name, hz_org.bank_or_branch_number, hz_org.home_country
1800 FROM hz_parties hz_p,
1801 hz_organization_profiles hz_org
1802 WHERE hz_p.party_id = hz_org.party_id
1803 AND SYSDATE between TRUNC(hz_org.effective_start_date)
1804 and NVL(TRUNC(hz_org.effective_end_date), SYSDATE+1)
1805 AND hz_p.party_id = p_ext_bank_acct_rec.bank_id;
1806
1807 -- checks if account already exists
1808 CURSOR uniq_check (p_account_number VARCHAR2,
1809 p_currency VARCHAR2,
1810 p_bank_id NUMBER,
1811 p_branch_id NUMBER,
1812 p_country_code VARCHAR2,
1813 p_bank_account_id NUMBER) IS
1814
1815 SELECT count(1)
1816 FROM IBY_EXT_BANK_ACCOUNTS
1817 WHERE ((BANK_ACCOUNT_NUM = p_account_number) OR
1818 (BANK_ACCOUNT_NUM_HASH1= iby_security_pkg.Get_Hash
1819 (p_account_number,'F')
1820 AND BANK_ACCOUNT_NUM_HASH2=iby_security_pkg.Get_Hash
1821 (p_account_number,'T') ))
1822 AND ((p_currency IS NULL and CURRENCY_CODE is NULL) OR (CURRENCY_CODE = p_currency))
1823 AND ((p_bank_id IS NULL AND BANK_ID is NULL) OR (BANK_ID = p_bank_id))
1824 AND ((p_branch_id IS NULL AND BRANCH_ID is NULL) OR (BRANCH_ID = p_branch_id))
1825 AND p_country_code=COUNTRY_CODE
1826 AND ((p_bank_account_id is NULL) OR p_bank_account_id<>EXT_BANK_ACCOUNT_ID);
1827
1828
1829 -- Country specific unique check cursor, bug 16321448
1830 -- where account type has to be considered
1831 CURSOR uniq_check_acctType (p_account_number VARCHAR2,
1832 p_currency VARCHAR2,
1833 p_bank_id NUMBER,
1834 p_branch_id NUMBER,
1835 p_country_code VARCHAR2,
1836 p_acct_type varchar2,
1837 p_acct_id NUMBER) IS
1838
1839 SELECT count(1)
1840 FROM IBY_EXT_BANK_ACCOUNTS
1841 WHERE ((BANK_ACCOUNT_NUM = p_account_number) OR
1842 (BANK_ACCOUNT_NUM_HASH1= iby_security_pkg.Get_Hash
1843 (p_account_number,'F')
1844 AND BANK_ACCOUNT_NUM_HASH2=iby_security_pkg.Get_Hash
1845 (p_account_number,'T') ))
1846 AND ((p_currency IS NULL and CURRENCY_CODE is NULL) OR (CURRENCY_CODE = p_currency))
1847 AND ((p_bank_id IS NULL AND BANK_ID is NULL) OR (BANK_ID = p_bank_id))
1848 AND ((p_branch_id IS NULL AND BRANCH_ID is NULL) OR (BRANCH_ID = p_branch_id))
1849 AND p_country_code=COUNTRY_CODE
1850 AND ((p_acct_id IS NULL) OR (EXT_BANK_ACCOUNT_ID <> p_acct_id))
1851 AND ((p_acct_type is NULL and BANK_ACCOUNT_TYPE is NULL)OR (p_acct_type=BANK_ACCOUNT_TYPE));
1852
1853 -- Country specific unique check cursor
1854 -- where account suffix is to be considered
1855 CURSOR uniq_check_acctSuffix (p_account_number VARCHAR2,
1856 p_currency VARCHAR2,
1857 p_bank_id NUMBER,
1858 p_branch_id NUMBER,
1859 p_country_code VARCHAR2,
1860 p_acct_suffix varchar2,
1861 p_acct_id NUMBER) IS
1862
1863 SELECT count(1)
1864 FROM IBY_EXT_BANK_ACCOUNTS
1865 WHERE ((BANK_ACCOUNT_NUM = p_account_number) OR
1866 (BANK_ACCOUNT_NUM_HASH1= iby_security_pkg.Get_Hash
1867 (p_account_number,'F')
1868 AND BANK_ACCOUNT_NUM_HASH2=iby_security_pkg.Get_Hash
1869 (p_account_number,'T') ))
1870 AND ((p_currency IS NULL and CURRENCY_CODE is NULL) OR (CURRENCY_CODE = p_currency))
1871 AND ((p_bank_id IS NULL AND BANK_ID is NULL) OR (BANK_ID = p_bank_id))
1872 AND ((p_branch_id IS NULL AND BRANCH_ID is NULL) OR (BRANCH_ID = p_branch_id))
1873 AND p_country_code=COUNTRY_CODE
1874 AND ((p_acct_id IS NULL) OR (EXT_BANK_ACCOUNT_ID <> p_acct_id))
1875 AND ((p_acct_suffix is NULL and ACCOUNT_SUFFIX is NULL)OR (p_acct_suffix=ACCOUNT_SUFFIX));
1876
1877 BEGIN
1878
1879 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1880 print_debuginfo('ENTER ' || l_module_name);
1881
1882 END IF;
1883 -- Standard call to check for call compatibility.
1884 IF NOT FND_API.Compatible_API_Call(l_api_version,
1885 p_api_version,
1886 l_api_name,
1887 G_PKG_NAME) THEN
1888 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1889 END IF;
1890
1891 -- Initialize message list if p_init_msg_list is set to TRUE.
1892 IF FND_API.to_Boolean(p_init_msg_list) THEN
1893 FND_MSG_PUB.initialize;
1894 END IF;
1895
1896 -- Initialize API return status to success
1897 x_return_status := FND_API.G_RET_STS_SUCCESS;
1898
1899 -- Initialize message list if p_init_msg_list is set to TRUE.
1900 IF FND_API.to_Boolean(p_init_msg_list) THEN
1901 FND_MSG_PUB.initialize;
1902 END IF;
1903
1904 -- Account Number is mandatory
1905 check_mandatory('IBY_ACCT_NUM_FIELD', p_ext_bank_acct_rec.bank_account_num);
1906
1907 IF (p_create_flag = FND_API.G_TRUE) THEN
1908
1909 -- Account Name if specfied should be unique
1910 IF (p_ext_bank_acct_rec.bank_account_name <> NULL) THEN
1911 SELECT COUNT(EXT_BANK_ACCOUNT_ID)
1912 INTO l_count
1913 FROM IBY_EXT_BANK_ACCOUNTS_V
1914 WHERE BANK_ACCOUNT_NAME =p_ext_bank_acct_rec.bank_account_name;
1915
1916 IF (l_count > 0) THEN
1917 fnd_message.set_name('IBY', 'IBY_UNIQ_ACCOUNT_NAME');
1918 fnd_msg_pub.add;
1919 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1920 print_debuginfo('Bank Account Name failed unique check');
1921 END IF;
1922 x_valid := FALSE;
1923 END IF;
1924 END IF;
1925
1926 -- Check if bank account exists
1927 -- For Japan, account type has to be considered for Unique check
1928 -- Bug No: 16321448
1929 IF (p_ext_bank_acct_rec.country_code = 'JP') THEN
1930 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1931 print_debuginfo('Inside country_code - JP');
1932 END IF;
1933 OPEN uniq_check_acctType(p_ext_bank_acct_rec.bank_account_num, p_ext_bank_acct_rec.currency, p_ext_bank_acct_rec.bank_id,
1934 p_ext_bank_acct_rec.branch_id, p_ext_bank_acct_rec.country_code, p_ext_bank_acct_rec.acct_type,
1935 p_ext_bank_acct_rec.bank_account_id);
1936 FETCH uniq_check_acctType into l_count;
1937 CLOSE uniq_check_acctType;
1938
1939 -- Check if bank account exists
1940 -- For New Zealand, account suffix has to be considered for Unique check
1941 -- Bug No: 16321448
1942 ELSIF (p_ext_bank_acct_rec.country_code = 'NZ') THEN
1943 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1944 print_debuginfo('Inside country_code - NZ');
1945 END IF;
1946 OPEN uniq_check_acctSuffix(p_ext_bank_acct_rec.bank_account_num, p_ext_bank_acct_rec.currency, p_ext_bank_acct_rec.bank_id,
1947 p_ext_bank_acct_rec.branch_id, p_ext_bank_acct_rec.country_code, p_ext_bank_acct_rec.acct_suffix,
1948 p_ext_bank_acct_rec.bank_account_id);
1949 FETCH uniq_check_acctSuffix into l_count;
1950 CLOSE uniq_check_acctSuffix;
1951
1952 ELSE
1953 -- perform unique check for account
1954 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1955 print_debuginfo('Inside generic check');
1956 END IF;
1957 OPEN uniq_check(p_ext_bank_acct_rec.bank_account_num,
1958 p_ext_bank_acct_rec.currency,
1959 p_ext_bank_acct_rec.bank_id,
1960 p_ext_bank_acct_rec.branch_id,
1961 p_ext_bank_acct_rec.country_code,
1962 p_ext_bank_acct_rec.bank_account_id);
1963 FETCH uniq_check into l_count;
1964 END IF;
1965
1966 IF (l_count > 0) THEN
1967 fnd_message.set_name('IBY', 'IBY_UNIQ_ACCOUNT');
1968 fnd_msg_pub.add;
1969 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1970 print_debuginfo('Bank Account Number failed unique check');
1971 END IF;
1972 x_valid := FALSE;
1973 END IF;
1974
1975 END IF;
1976
1977 /* Foreign Payment Flag decides whether bank and branch records
1978 * are optional or mandatory
1979 */
1980 IF ((p_ext_bank_acct_rec.foreign_payment_use_flag = 'Y') AND
1981 (p_ext_bank_acct_rec.bank_id is NULL) AND
1982 (p_ext_bank_rec.bank_name is NULL)) THEN
1983 l_foreign_pmt_flag := TRUE;
1984 -- Bank Name is mandatory
1985 --check_mandatory('IBY_BANK_NAME_FIELD',p_ext_bank_rec.bank_name);
1986 fnd_message.set_name('IBY', 'IBY_API_NO_BANK');
1987 fnd_msg_pub.add;
1988 RAISE fnd_api.g_exc_error;
1989 END IF;
1990
1991 IF ((p_ext_bank_acct_rec.foreign_payment_use_flag = 'Y') AND
1992 (p_ext_bank_acct_rec.branch_id is NULL) AND
1993 (p_ext_bank_branch_rec.branch_name IS NULL)) THEN
1994 l_foreign_pmt_flag := TRUE;
1995 -- Bank Branch Name is mandatory
1996 --check_mandatory('IBY_BRANCH_NAME_FIELD',p_ext_bank_branch_rec.branch_name);
1997 fnd_message.set_name('IBY', 'IBY_API_NO_BRANCH');
1998 fnd_msg_pub.add;
1999 RAISE fnd_api.g_exc_error;
2000 END IF;
2001
2002 /* if bank information provided, we need validate bank info.*/
2003 if((NOT p_ext_bank_rec.bank_name is NULL) AND
2004 (p_ext_bank_acct_rec.bank_id is NULL)) then
2005
2006 /* Bug 6043905: Bank number is not mandatory for all the countries */
2007 -- check_mandatory(IBY_BANK_NUM_FIELD, p_ext_bank_rec.bank_number);
2008
2009 -- call CE validate bank api to validate bank
2010 -- country specific validation API call here
2011 ce_validate_bankinfo.ce_validate_bank(p_ext_bank_rec.country_code,
2012 p_ext_bank_rec.bank_number,
2013 p_ext_bank_rec.bank_name,
2014 p_ext_bank_rec.bank_alt_name,
2015 p_ext_bank_rec.tax_payer_id,
2016 null, -- bank_id
2017 FND_API.G_FALSE, -- do not re-initialize msg stack
2018 x_msg_count,
2019 x_msg_data,
2020 l_bank_number, -- reformated bank number
2021 x_return_status);
2022
2023 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2024 print_debuginfo('After return from CE country specific validation: '|| x_return_status);
2025 END IF;
2026 -- raise an exception if country specific validations fail
2027 IF (x_return_status IS NULL OR
2028 x_return_status <> fnd_api.g_ret_sts_success) THEN
2029 RAISE fnd_api.g_exc_error;
2030 END IF;
2031
2032 -- call HZ bank validation API to validate bank record
2033 l_party_rec.attribute_category := p_ext_bank_rec.attribute_category;
2034 l_party_rec.attribute1 := p_ext_bank_rec.attribute1;
2035 l_party_rec.attribute2 := p_ext_bank_rec.attribute2;
2036 l_party_rec.attribute3 := p_ext_bank_rec.attribute3;
2037 l_party_rec.attribute4 := p_ext_bank_rec.attribute4;
2038 l_party_rec.attribute5 := p_ext_bank_rec.attribute5;
2039 l_party_rec.attribute6 := p_ext_bank_rec.attribute6;
2040 l_party_rec.attribute7 := p_ext_bank_rec.attribute7;
2041 l_party_rec.attribute8 := p_ext_bank_rec.attribute8;
2042 l_party_rec.attribute9 := p_ext_bank_rec.attribute9;
2043 l_party_rec.attribute10 := p_ext_bank_rec.attribute10;
2044 l_party_rec.attribute11 := p_ext_bank_rec.attribute11;
2045 l_party_rec.attribute12 := p_ext_bank_rec.attribute12;
2046 l_party_rec.attribute13 := p_ext_bank_rec.attribute13;
2047 l_party_rec.attribute14 := p_ext_bank_rec.attribute14;
2048 l_party_rec.attribute15 := p_ext_bank_rec.attribute15;
2049 l_party_rec.attribute16 := p_ext_bank_rec.attribute16;
2050 l_party_rec.attribute17 := p_ext_bank_rec.attribute17;
2051 l_party_rec.attribute18 := p_ext_bank_rec.attribute18;
2052 l_party_rec.attribute19 := p_ext_bank_rec.attribute19;
2053 l_party_rec.attribute20 := p_ext_bank_rec.attribute20;
2054 l_party_rec.attribute21 := p_ext_bank_rec.attribute21;
2055 l_party_rec.attribute22 := p_ext_bank_rec.attribute22;
2056 l_party_rec.attribute23 := p_ext_bank_rec.attribute23;
2057 l_party_rec.attribute24 := p_ext_bank_rec.attribute24;
2058
2059
2060 l_org_rec.organization_name := p_ext_bank_rec.bank_name;
2061 l_org_rec.organization_name_phonetic := p_ext_bank_rec.bank_alt_name;
2062 l_org_rec.known_as := p_ext_bank_rec.bank_short_name;
2063 l_org_rec.mission_statement := p_ext_bank_rec.description;
2064 l_org_rec.jgzz_fiscal_code := p_ext_bank_rec.tax_payer_id;
2065 l_org_rec.tax_reference := p_ext_bank_rec.tax_registration_number;
2066 l_org_rec.created_by_module := 'CE';
2067 l_org_rec.party_rec := l_party_rec;
2068 l_org_rec.home_country := p_ext_bank_rec.country_code;
2069 l_bank_rec.bank_or_branch_number := p_ext_bank_rec.bank_number;
2070 l_bank_rec.country := p_ext_bank_rec.country_code;
2071 l_bank_rec.institution_type := 'BANK';
2072 l_bank_rec.organization_rec := l_org_rec;
2073
2074 -- now call HZ validation api
2075 hz_bank_pub.validate_bank (p_init_msg_list,
2076 l_bank_rec,
2077 'I',
2078 x_return_status,
2079 x_msg_count,
2080 x_msg_data);
2081 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2082 print_debuginfo('After return from HZ bank validation: '|| x_return_status);
2083 END IF;
2084 -- raise an exception if the validation routine is unsuccessful
2085 IF l_return_status <> fnd_api.g_ret_sts_success THEN
2086 RAISE fnd_api.g_exc_error;
2087 END IF;
2088 end if;
2089
2090 /* Bug 6043905: The branch number is not mandatory for all countries.
2091 if((NOT p_ext_bank_branch_rec.branch_name is NULL) AND
2092 (p_ext_bank_acct_rec.branch_id is NULL)) then
2093 check_mandatory('Branch Number', p_ext_bank_branch_rec.branch_number);
2094 end if;
2095 */
2096
2097 /*
2098 * If bank id is not available, do not validate the bank branch.
2099 *
2100 * The bank is the primary entity, and the branch is the secondary entity.
2101 * The CE branch validation API expects the bank id as an input param.
2102 *
2103 * Without the bank id, this API will always return an error for the
2104 * branch validation. Therefore, it is logical to skip the branch
2105 * validation when the bank id is not available.
2106 *
2107 * See bug 5117620 for a discussion on this subject.
2108 */
2109 -- if the bank is not new, and branch is new, we need validate the branch info.
2110 if((NOT p_ext_bank_branch_rec.branch_name is NULL) AND
2111 (p_ext_bank_acct_rec.branch_id is NULL) AND
2112 (NOT p_ext_bank_acct_rec.bank_id is NULL) ) then
2113
2114 -- call CE bank branch validation api
2115
2116
2117 -- get bank information
2118 OPEN c_bank;
2119 FETCH c_bank INTO l_bank_name, l_bank_number, l_country;
2120 IF c_bank%NOTFOUND THEN
2121 fnd_message.set_name('CE', 'CE_API_NO_BANK');
2122 fnd_msg_pub.add;
2123 x_return_status := fnd_api.g_ret_sts_error;
2124 RAISE fnd_api.g_exc_error;
2125 END IF;
2126 CLOSE c_bank;
2127
2128 -- country specific validation API call here
2129 ce_validate_bankinfo.ce_validate_branch(l_country,
2130 l_bank_number,
2131 p_ext_bank_branch_rec.branch_number,
2132 l_bank_name,
2133 p_ext_bank_branch_rec.branch_name,
2134 p_ext_bank_branch_rec.alternate_branch_name,
2135 p_ext_bank_acct_rec.bank_id,
2136 null, -- branch_id
2137 FND_API.G_FALSE, -- do not re-initialize msg stack
2138 x_msg_count,
2139 x_msg_data,
2140 l_branch_number, -- reformatted branch number
2141 x_return_status);
2142
2143 -- raise an exception if country specific validations fail
2144 IF (x_return_status IS NULL OR
2145 x_return_status <> fnd_api.g_ret_sts_success) THEN
2146 RAISE fnd_api.g_exc_error;
2147 END IF;
2148 -- check HZ validate branch API
2149 l_party_rec.attribute_category := p_ext_bank_branch_rec.attribute_category;
2150 l_party_rec.attribute1 := p_ext_bank_branch_rec.attribute1;
2151 l_party_rec.attribute2 := p_ext_bank_branch_rec.attribute2;
2152 l_party_rec.attribute3 := p_ext_bank_branch_rec.attribute3;
2153 l_party_rec.attribute4 := p_ext_bank_branch_rec.attribute4;
2154 l_party_rec.attribute5 := p_ext_bank_branch_rec.attribute5;
2155 l_party_rec.attribute6 := p_ext_bank_branch_rec.attribute6;
2156 l_party_rec.attribute7 := p_ext_bank_branch_rec.attribute7;
2157 l_party_rec.attribute8 := p_ext_bank_branch_rec.attribute8;
2158 l_party_rec.attribute9 := p_ext_bank_branch_rec.attribute9;
2159 l_party_rec.attribute10 := p_ext_bank_branch_rec.attribute10;
2160 l_party_rec.attribute11 := p_ext_bank_branch_rec.attribute11;
2161 l_party_rec.attribute12 := p_ext_bank_branch_rec.attribute12;
2162 l_party_rec.attribute13 := p_ext_bank_branch_rec.attribute13;
2163 l_party_rec.attribute14 := p_ext_bank_branch_rec.attribute14;
2164 l_party_rec.attribute15 := p_ext_bank_branch_rec.attribute15;
2165 l_party_rec.attribute16 := p_ext_bank_branch_rec.attribute16;
2166 l_party_rec.attribute17 := p_ext_bank_branch_rec.attribute17;
2167 l_party_rec.attribute18 := p_ext_bank_branch_rec.attribute18;
2168 l_party_rec.attribute19 :=p_ext_bank_branch_rec. attribute19;
2169 l_party_rec.attribute20 := p_ext_bank_branch_rec.attribute20;
2170 l_party_rec.attribute21 := p_ext_bank_branch_rec.attribute21;
2171 l_party_rec.attribute22 := p_ext_bank_branch_rec.attribute22;
2172 l_party_rec.attribute23 := p_ext_bank_branch_rec.attribute23;
2173 l_party_rec.attribute24 := p_ext_bank_branch_rec.attribute24;
2174
2175 l_org_rec.organization_name := p_ext_bank_branch_rec.branch_name;
2176 l_org_rec.organization_name_phonetic := p_ext_bank_branch_rec.alternate_branch_name;
2177 l_org_rec.mission_statement := p_ext_bank_branch_rec.description;
2178 l_org_rec.created_by_module := 'CE';
2179 l_org_rec.party_rec := l_party_rec;
2180 l_org_rec.home_country := l_country;
2181
2182 l_branch_rec.bank_or_branch_number := p_ext_bank_branch_rec.branch_number;
2183 l_branch_rec.branch_type := p_ext_bank_branch_rec.branch_type;
2184 l_branch_rec.rfc_code := p_ext_bank_branch_rec.rfc_identifier;
2185 l_branch_rec.institution_type := 'BANK_BRANCH';
2186 l_branch_rec.organization_rec := l_org_rec;
2187 l_branch_rec.country := l_country;
2188
2189 -- now call HZ validation branch api
2190 hz_bank_pub.validate_bank_branch (p_init_msg_list,
2191 p_ext_bank_acct_rec.bank_id,
2192 l_branch_rec,
2193 'I',
2194 x_return_status,
2195 x_msg_count,
2196 x_msg_data);
2197 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2198 print_debuginfo('After return from HZ branch validation: '|| x_return_status);
2199 END IF;
2200 -- raise an exception if the validation routine is unsuccessful
2201 IF l_return_status <> fnd_api.g_ret_sts_success THEN
2202 RAISE fnd_api.g_exc_error;
2203 END IF;
2204
2205 end if;
2206
2207 /* perform validation on bank number, bank branch number*/
2208
2209
2210 COUNTRY := p_ext_bank_acct_rec.country_code;
2211 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2212 print_debuginfo('Country Code: '||COUNTRY);
2213 END IF;
2214 CE_BANK_AND_ACCOUNT_VALIDATION.validate_country(
2215 p_country_code => p_ext_bank_acct_rec.country_code,
2216 x_return_status => l_return_status);
2217 IF (l_return_status = fnd_api.g_ret_sts_error) THEN
2218 RAISE fnd_api.g_exc_error;
2219 END IF;
2220
2221 -- Validate IBAN Number
2222 IF (p_ext_bank_acct_rec.iban IS NOT NULL) THEN
2223 CE_BANK_AND_ACCOUNT_VALIDATION.validate_IBAN (
2224 p_IBAN => p_ext_bank_acct_rec.iban,
2225 p_IBAN_OUT => l_iban,
2226 x_return_status => l_return_status);
2227 END IF;
2228 IF (l_return_status = fnd_api.g_ret_sts_error) THEN
2229 RAISE fnd_api.g_exc_error;
2230 END IF;
2231
2232 -- invoke Country specific validation procedures
2233 CASE COUNTRY
2234 WHEN 'AT' THEN
2235 iby_validate_account_at(
2236 p_ext_bank_rec,
2237 p_ext_bank_branch_rec,
2238 p_ext_bank_acct_rec,
2239 l_foreign_pmt_flag,
2240 x_valid);
2241 WHEN 'AU' THEN
2242 iby_validate_account_au(
2243 p_ext_bank_rec,
2244 p_ext_bank_branch_rec,
2245 p_ext_bank_acct_rec,
2246 l_foreign_pmt_flag,
2247 x_valid);
2248 WHEN 'BE' THEN
2249 iby_validate_account_be(
2250 p_ext_bank_rec,
2251 p_ext_bank_branch_rec,
2252 p_ext_bank_acct_rec,
2253 l_foreign_pmt_flag,
2254 x_valid);
2255 WHEN 'CA' THEN
2256 iby_validate_account_ca(
2257 p_ext_bank_rec,
2258 p_ext_bank_branch_rec,
2259 p_ext_bank_acct_rec,
2260 l_foreign_pmt_flag,
2261 x_valid);
2262 WHEN 'DE' THEN
2263 iby_validate_account_de(
2264 p_ext_bank_rec,
2265 p_ext_bank_branch_rec,
2266 p_ext_bank_acct_rec,
2267 l_foreign_pmt_flag,
2268 x_valid);
2269 WHEN 'DK' THEN
2270 iby_validate_account_dk(
2271 p_ext_bank_rec,
2272 p_ext_bank_branch_rec,
2273 p_ext_bank_acct_rec,
2274 l_foreign_pmt_flag,
2275 x_valid);
2276 WHEN 'ES' THEN
2277 iby_validate_account_es(
2278 p_ext_bank_rec,
2279 p_ext_bank_branch_rec,
2280 p_ext_bank_acct_rec,
2281 l_foreign_pmt_flag,
2282 x_valid);
2283 WHEN 'FI' THEN
2284 iby_validate_account_fi(
2285 p_ext_bank_rec,
2286 p_ext_bank_branch_rec,
2287 p_ext_bank_acct_rec,
2288 l_foreign_pmt_flag,
2289 x_valid);
2290 WHEN 'FR' THEN
2291 iby_validate_account_fr(
2292 p_ext_bank_rec,
2293 p_ext_bank_branch_rec,
2294 p_ext_bank_acct_rec,
2295 l_foreign_pmt_flag,
2296 x_valid);
2297 WHEN 'GB' THEN
2298 iby_validate_account_gb(
2299 p_ext_bank_rec,
2300 p_ext_bank_branch_rec,
2301 p_ext_bank_acct_rec,
2302 l_foreign_pmt_flag,
2303 x_valid);
2304 WHEN 'GR' THEN
2305 iby_validate_account_gr(
2306 p_ext_bank_rec,
2307 p_ext_bank_branch_rec,
2308 p_ext_bank_acct_rec,
2309 l_foreign_pmt_flag,
2310 x_valid);
2311 WHEN 'HK' THEN
2312 iby_validate_account_hk(
2313 p_ext_bank_rec,
2314 p_ext_bank_branch_rec,
2315 p_ext_bank_acct_rec,
2316 l_foreign_pmt_flag,
2317 x_valid);
2318 WHEN 'IE' THEN
2319 iby_validate_account_ie(
2320 p_ext_bank_rec,
2321 p_ext_bank_branch_rec,
2322 p_ext_bank_acct_rec,
2323 l_foreign_pmt_flag,
2324 x_valid);
2325 WHEN 'IL' THEN
2326 iby_validate_account_il(
2327 p_ext_bank_rec,
2328 p_ext_bank_branch_rec,
2329 p_ext_bank_acct_rec,
2330 l_foreign_pmt_flag,
2331 x_valid);
2332 WHEN 'IS' THEN
2333 iby_validate_account_is(
2334 p_ext_bank_rec,
2335 p_ext_bank_branch_rec,
2336 p_ext_bank_acct_rec,
2337 l_foreign_pmt_flag,
2338 x_valid);
2339 WHEN 'IT' THEN
2340 iby_validate_account_it(
2341 p_ext_bank_rec,
2342 p_ext_bank_branch_rec,
2343 p_ext_bank_acct_rec,
2344 l_foreign_pmt_flag,
2345 x_valid);
2346 WHEN 'JP' THEN
2347 iby_validate_account_jp(
2348 p_ext_bank_rec,
2349 p_ext_bank_branch_rec,
2350 p_ext_bank_acct_rec,
2351 l_foreign_pmt_flag,
2352 x_valid);
2353 WHEN 'LU' THEN
2354 iby_validate_account_lu(
2355 p_ext_bank_rec,
2356 p_ext_bank_branch_rec,
2357 p_ext_bank_acct_rec,
2358 l_foreign_pmt_flag,
2359 x_valid);
2360 WHEN 'NL' THEN
2361 iby_validate_account_nl(
2362 p_ext_bank_rec,
2363 p_ext_bank_branch_rec,
2364 p_ext_bank_acct_rec,
2365 l_foreign_pmt_flag,
2366 x_valid);
2367 WHEN 'NO' THEN
2368 iby_validate_account_no(
2369 p_ext_bank_rec,
2370 p_ext_bank_branch_rec,
2371 p_ext_bank_acct_rec,
2372 l_foreign_pmt_flag,
2373 x_valid);
2374 WHEN 'NZ' THEN
2375 iby_validate_account_nz(
2376 p_ext_bank_rec,
2377 p_ext_bank_branch_rec,
2378 p_ext_bank_acct_rec,
2379 l_foreign_pmt_flag,
2380 x_valid);
2381 WHEN 'PL' THEN
2382 iby_validate_account_pl(
2383 p_ext_bank_rec,
2384 p_ext_bank_branch_rec,
2385 p_ext_bank_acct_rec,
2386 l_foreign_pmt_flag,
2387 x_valid);
2388 WHEN 'PT' THEN
2389 iby_validate_account_pt(
2390 p_ext_bank_rec,
2391 p_ext_bank_branch_rec,
2392 p_ext_bank_acct_rec,
2393 l_foreign_pmt_flag,
2394 x_valid);
2395 WHEN 'SE' THEN
2396 iby_validate_account_se(
2397 p_ext_bank_rec,
2398 p_ext_bank_branch_rec,
2399 p_ext_bank_acct_rec,
2400 l_foreign_pmt_flag,
2401 x_valid);
2402 WHEN 'SG' THEN
2403 iby_validate_account_sg(
2404 p_ext_bank_rec,
2405 p_ext_bank_branch_rec,
2406 p_ext_bank_acct_rec,
2407 l_foreign_pmt_flag,
2408 x_valid);
2409 WHEN 'US' THEN
2410 iby_validate_account_us(
2411 p_ext_bank_rec,
2412 p_ext_bank_branch_rec,
2413 p_ext_bank_acct_rec,
2414 l_foreign_pmt_flag,
2415 x_valid);
2416 ELSE
2417 -- Not a recognized country, mark as successful
2418 x_valid := TRUE;
2419 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2420 print_debuginfo('No validations for country'|| COUNTRY);
2421 END IF;
2422 END CASE;
2423
2424
2425 -- get message count and if count is 1, get message info.
2426 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2427 p_count => x_msg_count,
2428 p_data => x_msg_data);
2429
2430
2431 IF x_msg_count > 0 THEN
2432 x_return_status := fnd_api.g_ret_sts_error;
2433 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2434 print_debuginfo('Account Validations Failed ');
2435 END IF;
2436 ELSE
2437 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2438 print_debuginfo('Account Validations Successful');
2439 END IF;
2440 END IF;
2441
2442 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2443 print_debuginfo('RETURN ' || l_module_name);
2444
2445 END IF;
2446 EXCEPTION
2447 WHEN fnd_api.g_exc_error THEN
2448 x_return_status := fnd_api.g_ret_sts_error;
2449 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2450 print_debuginfo('IN Exception fnd_api.g_exc_error');
2451 END IF;
2452 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2453 p_count => x_msg_count,
2454 p_data => x_msg_data);
2455
2456 WHEN fnd_api.g_exc_unexpected_error THEN
2457 x_return_status := fnd_api.g_ret_sts_unexp_error;
2458 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2459 print_debuginfo('IN Exception fnd_api.g_ret_sts_unexp_error');
2460 END IF;
2461 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2462 p_count => x_msg_count,
2463 p_data => x_msg_data);
2464
2465
2466 WHEN OTHERS THEN
2467 x_return_status := fnd_api.g_ret_sts_unexp_error;
2468 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2469 print_debuginfo('Exception : ' || SQLERRM);
2470 END IF;
2471 -- fnd_message.set_name('CE', 'CE_API_OTHERS_EXCEP');
2472 -- fnd_message.set_token('ERROR',SQLERRM);
2473 FND_MSG_PUB.add_exc_msg(G_PKG_NAME, l_module_name, null);
2474 -- fnd_msg_pub.add;
2475 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2476 p_count => x_msg_count,
2477 p_data => x_msg_data);
2478
2479 END iby_validate_account;
2480
2481
2482
2483 -- print_debuginfo
2484 --
2485 -- Type : check_mandatory procedure
2486 -- Pre-reqs : None
2487 -- Function : check for mandatory parameters.
2488 -- Current version : 1.0
2489 -- Previous version: 1.0
2490 -- Initial version : 1.0
2491
2492 PROCEDURE check_mandatory(
2493 p_field IN VARCHAR2,
2494 p_value IN VARCHAR2
2495 ) IS
2496
2497 l_temp VARCHAR2(80);
2498
2499 CURSOR c_validate_currency (p_currency_code VARCHAR2) IS
2500 SELECT CURRENCY_CODE
2501 FROM FND_CURRENCIES
2502 WHERE CURRENCY_CODE = p_currency_code;
2503
2504 BEGIN
2505
2506 if (p_value is NULL) THEN
2507 fnd_message.set_name('IBY', 'IBY_MISSING_MANDATORY_PARAM');
2508 fnd_message.set_token('PARAM', fnd_message.get_string('IBY', p_field));
2509 fnd_msg_pub.add;
2510 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2511 print_debuginfo(p_field || ' is a required parameter.');
2512 END IF;
2513 RAISE fnd_api.g_exc_error;
2514 END IF;
2515
2516
2517 --Validate Currency
2518 IF (UPPER(p_field) = 'CURRENCY') THEN
2519 OPEN c_validate_currency(p_value);
2520 FETCH c_validate_currency INTO l_temp;
2521 CLOSE c_validate_currency;
2522
2523 IF (l_temp IS NULL) THEN
2524 fnd_message.set_name('IBY', 'IBY_INVALID_CURRENCY');
2525 fnd_message.set_token('CURRENCY_CODE', p_field);
2526 fnd_msg_pub.add;
2527 RAISE fnd_api.g_exc_error;
2528 END IF;
2529
2530 END IF;
2531 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2532 print_debuginfo('Checked mandatory field : ' || p_field || ' : ' || p_value);
2533 END IF;
2534 END check_mandatory;
2535
2536
2537
2538 -- print_debuginfo
2539 --
2540 -- Type : utility procedure
2541 -- Pre-reqs : None
2542 -- Function : write to log
2543 -- Current version : 1.0
2544 -- Previous version: 1.0
2545 -- Initial version : 1.0
2546
2547 PROCEDURE print_debuginfo(
2548 p_message IN VARCHAR2,
2549 p_prefix IN VARCHAR2 DEFAULT 'DEBUG',
2550 p_msg_level IN NUMBER DEFAULT FND_LOG.LEVEL_STATEMENT,
2551 p_module IN VARCHAR2 DEFAULT G_DEBUG_MODULE
2552 ) IS
2553
2554 l_message VARCHAR2(4000);
2555 l_module VARCHAR2(255);
2556
2557 BEGIN
2558
2559
2560 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2561 -- Debug info.
2562 l_module :=SUBSTRB(p_module,1,255);
2563
2564 IF p_prefix IS NOT NULL THEN
2565 l_message :=SUBSTRB(p_prefix||'-'||p_message,1,4000);
2566 ELSE
2567 l_message :=SUBSTRB(p_message,1,4000);
2568 END IF;
2569 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,l_module,l_message);
2570
2571 END IF;
2572 -- dbms_output.put_line(p_module || ': ' || p_message);
2573 END print_debuginfo;
2574
2575 END IBY_EXT_BANKACCT_VALIDATIONS;