[Home] [Help]
PACKAGE BODY: APPS.CE_VALIDATE_BANKINFO_UPG
Source
1 package body CE_VALIDATE_BANKINFO_UPG as
2 /* $Header: cevlbkub.pls 120.4 2005/08/23 21:52:35 lkwan noship $ */
3
4
5 l_DEBUG varchar2(1) := NVL(FND_PROFILE.value('CE_DEBUG'), 'N');
6 --l_DEBUG varchar2(1) := 'Y';
7
8
9 -- 8/27/03 use CE_UPG_BANK_REC table
10
11 cursor get_bank_num ( Xi_BANK_ID NUMBER) IS
12 select PartyBank.BANK_OR_BRANCH_NUMBER
13 From CE_UPG_BANK_REC PartyBank
14 Where
15 PartyBank.CE_UPGRADE_ID = Xi_BANK_ID
16 --PartyBank.source_pk_id = Xi_BANK_ID
17 And PartyBank.BANK_ENTITY_TYPE = 'BANK';
18
19 function ce_check_numeric(check_value VARCHAR2,
20 pos_from NUMBER,
21 pos_for NUMBER)
22 RETURN VARCHAR2
23 IS
24 num_check VARCHAR2(40);
25 BEGIN
26 num_check := '1';
27 num_check := nvl(
28 rtrim(
29 translate(substr(check_value,pos_from,pos_for),
30 '1234567890',
31 ' ')
32 ), '0'
33 );
34 RETURN(num_check);
35 END ce_check_numeric;
36
37 /* --------------------------------------------------------------------
38 | PRIVATE PROCEDURE |
39 | COMPARE_BANK_AND_BRANCH_NUM |
40 | |
41 | CALLED BY |
42 | CE_VALIDATE_BRANCH_* |
43 | - DE, IS, SE, GB |
44 | |
45 | DESCRIPTION |
46 | Verify that the value entered for Bank number and Branch number |
47 | fields are the same when both fields are entered for some |
48 | countries |
49 --------------------------------------------------------------------- */
50
51
52 PROCEDURE COMPARE_BANK_AND_BRANCH_NUM(Xi_branch_num IN VARCHAR2,
53 Xi_BANK_ID IN NUMBER) AS
54
55
56 /* 10/19/04 move to top of package
57 -- 8/27/03 use CE_UPG_BANK_REC table
58 cursor get_bank_num is
59 select PartyBank.BANK_OR_BRANCH_NUMBER
60 From CE_UPG_BANK_REC PartyBank
61 Where
62 PartyBank.CE_UPGRADE_ID = Xi_BANK_ID
63 --PartyBank.source_pk_id = Xi_BANK_ID
64 And PartyBank.BANK_ENTITY_TYPE = 'BANK';
65 */
66
67 BANK_NUM varchar2(60);
68 bank_count number;
69 BEGIN
70 IF l_DEBUG in ('Y', 'C') THEN
71 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.compare_bank_and_branch_num');
72 END IF;
73
74 select count(*) into bank_count
75 From CE_UPG_BANK_REC PartyBank
76 Where
77 PartyBank.CE_UPGRADE_ID = Xi_BANK_ID
78 --PartyBank.source_pk_id = Xi_BANK_ID
79 And PartyBank.BANK_ENTITY_TYPE = 'BANK';
80
81
82 IF (bank_count = 1) then
83
84 OPEN get_bank_num(Xi_BANK_ID);
85 FETCH get_bank_num INTO bank_num;
86
87 IF l_DEBUG in ('Y', 'C') THEN
88 cep_standard.debug('fetch BANK_NUM : ' ||BANK_NUM);
89 END IF;
90
91 IF (BANK_NUM is null) then
92 null;
93 ELSIF (BANK_NUM is not null) then
94 BANK_NUM := upper(replace(BANK_NUM,' ',''));
95
96 BANK_NUM := upper(replace(BANK_NUM,'-',''));
97
98 IF l_DEBUG in ('Y', 'C') THEN
99 cep_standard.debug('new BANK_NUM : ' ||BANK_NUM);
100 END IF;
101
102
103 IF ((nvl(BANK_NUM,Xi_branch_num) <> Xi_branch_num)) then
104 IF l_DEBUG in ('Y', 'C') THEN
105 cep_standard.debug('Bank number and branch number does not match' ||
106 ' CE_BANK_BRANCH_NUM_NOT_MATCHED');
107 END IF;
108 fnd_message.set_name('CE', 'CE_BANK_BRANCH_NUM_NOT_MATCHED');
109 fnd_msg_pub.add;
110
111 END IF;
112
113 END IF;
114
115 close get_bank_num;
116 ELSIF (bank_count > 1) then
117 IF l_DEBUG in ('Y', 'C') THEN
118 cep_standard.debug('EXCEPTION: More than one bank match ');
119 END IF;
120 FND_MESSAGE.set_name('CE', 'CE_MANY_BANKS');
121 fnd_msg_pub.add;
122
123 ELSIF (bank_count = 0) then
124 IF l_DEBUG in ('Y', 'C') THEN
125 cep_standard.debug(' CE_BANK_DOES_NOT_EXISTS');
126 END IF;
127 fnd_message.set_name ('CE', 'CE_BANK_DOES_NOT_EXISTS');
128 fnd_msg_pub.add;
129
130
131 END IF;
132
133 /*IF l_DEBUG in ('Y', 'C') THEN
134 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.compare_bank_and_branch_num');
135 END IF;
136 */
137 EXCEPTION
138 WHEN OTHERS THEN
139 IF l_DEBUG in ('Y', 'C') THEN
140 cep_standard.debug('CE_VALIDATE_BANKINFO_UPG.COMPARE_BANK_AND_BRANCH_NUM ' );
141 END IF;
142
143 FND_MESSAGE.set_name('CE', 'CE_UNHANDLED_EXCEPTION');
144 fnd_message.set_token('PROCEDURE', 'CE_VALIDATE_BANKINFO_UPG.compare_bank_and_branch_num');
145 fnd_msg_pub.add;
146 RAISE;
147
148 END COMPARE_BANK_AND_BRANCH_NUM;
149
150 /* --------------------------------------------------------------------
151 | PRIVATE PROCEDURE |
152 | COMPARE_ACCOUNT_NUM_AND_CD |
153 | |
154 | CALLED BY |
155 | CE_VALIDATE_CD_* |
156 | |
157 | DESCRIPTION |
158 | Verify that the check digit entered on the account number |
159 | and check digit fields are the same |
160 --------------------------------------------------------------------- */
161
162 FUNCTION COMPARE_ACCOUNT_NUM_AND_CD(Xi_account_num IN VARCHAR2,
163 Xi_CD IN NUMBER,
164 Xi_CD_length in number,
165 Xi_CD_pos_from_right IN Number default 0) RETURN BOOLEAN AS
166
167 cd_position number;
168 acct_cd number;
169
170 /**************************/
171
172 procedure pass_check is
173 begin
174 IF l_DEBUG in ('Y', 'C') THEN
175 null;
176 --cep_standard.debug('COMPARE_ACCOUNT_NUM_AND_CD: ' || 'CD match');
177 END IF;
178 end pass_check;
179
180 /**************************/
181
182
183 BEGIN
184 IF l_DEBUG in ('Y', 'C') THEN
185 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.COMPARE_ACCOUNT_NUM_AND_CD');
186 END IF;
187
188 cd_position := (length(Xi_account_num) - Xi_CD_pos_from_right);
189 acct_cd := substr(Xi_account_num, cd_position, Xi_CD_length);
190
191 IF l_DEBUG in ('Y', 'C') THEN
192 cep_standard.debug('cd_position : '||cd_position || ' acct_cd : '||acct_cd ||' Xi_CD : '||Xi_CD );
193 END IF;
194
195
196 IF ( acct_cd <> Xi_CD) then
197 IF l_DEBUG in ('Y', 'C') THEN
198 cep_standard.debug('CD does not match '|| 'CE_ACCT_NUM_AND_CD_NOT_MATCHED');
199 END IF;
200 fnd_message.set_name('CE', 'CE_ACCT_NUM_AND_CD_NOT_MATCHED');
201 fnd_msg_pub.add;
202 return false;
203 ELSE
204 pass_check;
205 return true;
206 END IF;
207
208 /*
209 IF l_DEBUG in ('Y', 'C') THEN
210 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.COMPARE_ACCOUNT_NUM_AND_CD');
211 END IF;
212 */
213 END COMPARE_ACCOUNT_NUM_AND_CD;
214
215 /* --------------------------------------------------------------------
216 | PRIVATE FUNCTION |
217 | CE_VAL_UNIQUE_TAX_PAYER_ID |
218 | |
219 | CALLED BY |
220 | CE_VALIDATE_BANK_CO |
221 | |
222 | DESCRIPTION |
223 | Unique Tax Payer ID VALIDATIONS |
224 | |
225 --------------------------------------------------------------------- */
226
227 FUNCTION CE_VAL_UNIQUE_TAX_PAYER_ID (p_country_code IN VARCHAR2,
228 p_taxpayer_id IN VARCHAR2
229 ) RETURN VARCHAR2 IS
230
231
232 CURSOR CHECK_UNIQUE_TAXID_BK IS -- Banks
233 SELECT JGZZ_FISCAL_CODE
234 FROM CE_UPG_BANK_REC --HZ_PARTIES
235 WHERE JGZZ_FISCAL_CODE = p_taxpayer_id
236 AND country = p_country_code;
237
238 l_taxid VARCHAR2(30);
239
240 BEGIN
241 IF l_DEBUG in ('Y', 'C') THEN
242 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.CE_VAL_UNIQUE_TAX_PAYER_ID');
243 END IF;
244
245 OPEN CHECK_UNIQUE_TAXID_BK;
246 FETCH CHECK_UNIQUE_TAXID_BK INTO l_taxid;
247
248 IF (CHECK_UNIQUE_TAXID_BK%NOTFOUND) THEN
249 RETURN('TRUE');
250 ELSE
251 RETURN('FALSE');
252 IF l_DEBUG in ('Y', 'C') THEN
253 cep_standard.debug('CE_VAL_UNIQUE_TAX_PAYER_ID false');
254 END IF;
255 END IF;
256 CLOSE CHECK_UNIQUE_TAXID_BK;
257 /*
258 IF l_DEBUG in ('Y', 'C') THEN
259 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.CE_VAL_UNIQUE_TAX_PAYER_ID');
260 END IF;
261 */
262 END CE_VAL_UNIQUE_TAX_PAYER_ID;
263
264 /* --------------------------------------------------------------------
265 | PRIVATE PROCEDURE |
266 | CE_CHECK_CROSS_MODULE_TAX_ID |
267 | |
268 | CALLED BY |
269 | CE_VALIDATE_BANK_CO |
270 | |
271 | DESCRIPTION |
272 | Unique Tax Payer ID VALIDATIONS |
273 | |
274 --------------------------------------------------------------------- */
275 -- Check the cross validation
276 -- This procedure checks in AR, AP and HR to see if the TAX ID entered
277 -- for the Bank is used by a Customer, Supplier or a Company.
278 -- If it is used then the Customer name, Supplier name or the Company
279 -- name should match with the Bank name.
280 -- Depending upon the different combinations different error codes are
281 -- returned
282 -- The messages codes returned are:
283 -- bk1 Tax ID is used by a different Company
284 -- bk2 Tax ID is used by a different Customer
285 -- bk3 Tax ID is used by a different Supplier
286 -- bk4 Bank exists as a Customer with different Tax ID or Tax ID Type
287 -- bk5 Bank exists as a Supplier with different Tax ID or Tax ID Type
288 -- bk6 Bank exists as a Company with different Tax ID or Tax ID Type
289
290 PROCEDURE ce_check_cross_module_tax_id(p_country_code IN VARCHAR2,
291 p_entity_name IN VARCHAR2, --l_bank_name
292 p_taxpayer_id IN VARCHAR2,
293 p_return_ar OUT NOCOPY VARCHAR2,
294 p_return_ap OUT NOCOPY VARCHAR2,
295 p_return_hr OUT NOCOPY VARCHAR2,
296 p_return_bk OUT NOCOPY VARCHAR2) IS
297
298 CURSOR CHECK_CROSS_AP IS --Suppliers
299 SELECT AP.VENDOR_NAME, AP.NUM_1099
300 FROM PO_VENDORS AP
301 WHERE (AP.VENDOR_NAME=p_entity_name
302 OR AP.NUM_1099= p_taxpayer_id)
303 AND substrb(nvl(AP.GLOBAL_ATTRIBUTE_CATEGORY,'XX.XX'),4,2) = p_country_code;
304
305 CURSOR CHECK_CROSS_AR IS --Customers
306 SELECT AR.PARTY_NAME, AR.JGZZ_FISCAL_CODE
307 FROM HZ_PARTIES AR
308 WHERE (AR.PARTY_NAME=p_entity_name
309 OR AR.JGZZ_FISCAL_CODE= p_taxpayer_id)
310 AND substrb(nvl(AR.GLOBAL_ATTRIBUTE_CATEGORY,'XX.XX'),4,2) = p_country_code;
311
312 CURSOR CHECK_CROSS_HR IS --Companies
313 SELECT HR.GLOBAL_ATTRIBUTE8, HR.GLOBAL_ATTRIBUTE11
314 FROM HR_LOCATIONS HR
315 WHERE (HR.GLOBAL_ATTRIBUTE8= p_entity_name
316 OR HR.GLOBAL_ATTRIBUTE11= p_taxpayer_id)
317 AND substrb(nvl(HR.GLOBAL_ATTRIBUTE_CATEGORY,'XX.XX'),4,2) = p_country_code
318 AND HR.LOCATION_USE = 'HR';
319
320 l_taxid VARCHAR2(30);
321 l_taxid_type VARCHAR2(150);
322 l_entity_name VARCHAR2(80);
323
324 BEGIN
325 IF l_DEBUG in ('Y', 'C') THEN
326 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_check_cross_module_tax_id'||
327 ' p_taxpayer_id: ' || p_taxpayer_id );
328 END IF;
329
330 -- Checking cross module Banks/Customers
331
332 OPEN CHECK_CROSS_AR;
333 FETCH CHECK_CROSS_AR INTO l_entity_name, l_taxid;
334
338
335 IF l_DEBUG in ('Y', 'C') THEN
336 cep_standard.debug('l_entity_name: ' ||l_entity_name || ' l_taxid: ' ||l_taxid );
337 END IF;
339 IF CHECK_CROSS_AR%NOTFOUND THEN
340 p_return_ar:='SUCCESS';
341
342 ELSIF (l_taxid IS NULL AND l_entity_name=p_entity_name) THEN
343 p_return_ar:='SUCCESS';
344
345 ELSIF (l_taxid IS NOT NULL) THEN
346
347 IF (l_entity_name=p_entity_name AND l_taxid=p_taxpayer_id ) THEN
348 p_return_ar:='SUCCESS';
349
350 -- Check if Tax ID is used by a different Customer
351
352 ELSIF (l_entity_name<>p_entity_name AND l_taxid=p_taxpayer_id) THEN
353 p_return_ar:='bk2';
354
355 -- Check if Bank exists as Customer with different TAX ID or Tax ID
356 -- Type
357
358 ELSIF (l_entity_name=p_entity_name AND (l_taxid<>p_taxpayer_id )) THEN
359 p_return_ar:='bk4';
360
361 END IF;
362
363 END IF;
364
365 IF l_DEBUG in ('Y', 'C') THEN
366 cep_standard.debug('p_return_ar: ' || p_return_ar );
367 END IF;
368
369 CLOSE CHECK_CROSS_AR;
370
371 -- Checking cross module Banks/Companies
372
373 IF p_country_code='CO' THEN
374 l_taxid_type:='LEGAL_ENTITY';
375 END IF;
376
377 OPEN CHECK_CROSS_HR;
378 FETCH CHECK_CROSS_HR INTO l_entity_name, l_taxid;
379
380 IF CHECK_CROSS_HR%NOTFOUND THEN
381 p_return_hr:='SUCCESS';
382
383 ELSIF (l_taxid IS NULL AND l_entity_name=p_entity_name) THEN
384 p_return_hr:='SUCCESS';
385
386 ELSIF (l_taxid IS NOT NULL) THEN
387
388 IF (l_entity_name=p_entity_name AND l_taxid=p_taxpayer_id ) THEN
389 p_return_hr:='SUCCESS';
390
391 -- Check if Tax ID is used by a different Company
392
393 ELSIF (l_entity_name<>p_entity_name AND l_taxid=p_taxpayer_id) THEN
394 p_return_hr:='bk1';
395
399 p_return_hr:='bk6';
396 -- Check if Bank exists as Company with different Tax ID
397
398 ELSIF (l_entity_name=p_entity_name AND (l_taxid<>p_taxpayer_id)) THEN
400
401 END IF;
402
403 END IF;
404
405 CLOSE CHECK_CROSS_HR;
406
407 -- Checking cross module Banks/Suppliers
408
409 OPEN CHECK_CROSS_AP;
410 FETCH CHECK_CROSS_AP INTO l_entity_name, l_taxid;
411
412 IF CHECK_CROSS_AP%NOTFOUND THEN
413 p_return_ap:='SUCCESS';
414
415 ELSIF (l_taxid IS NULL AND l_entity_name=p_entity_name) THEN
416 p_return_ap:='SUCCESS';
417
418 ELSIF (l_taxid IS NOT NULL) THEN
419
420 IF (l_entity_name=p_entity_name AND l_taxid=p_taxpayer_id) THEN
421 p_return_ap:='SUCCESS';
422
423 -- Check if Tax ID is used by a different Supplier
424
425 ELSIF (l_entity_name<>p_entity_name AND l_taxid=p_taxpayer_id) THEN
426 p_return_ap:='bk3';
427
428 -- Check if Bank exists as Supplier with different Tax ID
429
430 ELSIF (l_entity_name=p_entity_name AND (l_taxid<>p_taxpayer_id )) THEN
431 p_return_ap:='bk5';
432
433 END IF;
434
435 END IF;
436
437 CLOSE CHECK_CROSS_AP;
438 p_return_bk:='NA';
439
440 /*
441 IF l_DEBUG in ('Y', 'C') THEN
442 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_check_cross_module_tax_id');
443 END IF;
444 */
445 END ce_check_cross_module_tax_id;
446 /* --------------------------------------------------------------------
447 | PRIVATE FUNCTION |
448 | CE_TAX_ID_CHECK_ALGORITHM |
449 | |
450 | CALLED BY |
451 | CE_VALIDATE_BANK_CO |
452 | |
453 | DESCRIPTION |
454 | Unique Tax Payer ID VALIDATIONS |
455 | |
456 --------------------------------------------------------------------- */
457 -- Taxpayer ID Validation
458
459 FUNCTION ce_tax_id_check_algorithm(p_taxpayer_id IN VARCHAR2,
460 p_country IN VARCHAR2,
461 p_tax_id_cd IN VARCHAR2
462 ) RETURN VARCHAR2 IS
463 l_var1 VARCHAR2(20);
464 l_val_digit VARCHAR2(2);
465 l_mod_value NUMBER(2);
466 BEGIN
467
468 IF l_DEBUG in ('Y', 'C') THEN
469 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.CE_TAX_ID_CHECK_ALGORITHM '||p_COUNTRY );
470 END IF;
471
472 -- Check the Taxpayer ID Valdiation digit for Colombia
473
474 IF p_country='CO' THEN
475
476 l_var1:=LPAD(p_taxpayer_id,15,'0');
477 l_mod_value:=(MOD(((TO_NUMBER(SUBSTR(l_var1,15,1))) *3 +
478 (TO_NUMBER(SUBSTR(l_var1,14,1))) *7 +
479 (TO_NUMBER(SUBSTR(l_var1,13,1))) *13 +
480 (TO_NUMBER(SUBSTR(l_var1,12,1))) *17 +
481 (TO_NUMBER(SUBSTR(l_var1,11,1))) *19 +
482 (TO_NUMBER(SUBSTR(l_var1,10,1))) *23 +
483 (TO_NUMBER(SUBSTR(l_var1,9,1))) *29 +
484 (TO_NUMBER(SUBSTR(l_var1,8,1))) *37 +
485 (TO_NUMBER(SUBSTR(l_var1,7,1))) *41 +
486 (TO_NUMBER(SUBSTR(l_var1,6,1))) *43 +
487 (TO_NUMBER(SUBSTR(l_var1,5,1))) *47 +
488 (TO_NUMBER(SUBSTR(l_var1,4,1))) *53 +
489 (TO_NUMBER(SUBSTR(l_var1,3,1))) *59 +
490 (TO_NUMBER(SUBSTR(l_var1,2,1))) *67 +
491 (TO_NUMBER(SUBSTR(l_var1,1,1))) *71),11));
492
493 IF l_DEBUG in ('Y', 'C') THEN
494 cep_standard.debug('l_mod_value: '|| l_mod_value);
495 END IF;
496
497 IF (l_mod_value IN (1,0)) THEN
498 l_val_digit:=l_mod_value;
499 ELSE
500 l_val_digit:=11-l_mod_value;
501 END IF;
502
503 IF l_DEBUG in ('Y', 'C') THEN
504 cep_standard.debug('l_val_digit: '|| l_val_digit|| ' p_tax_id_cd: '|| p_tax_id_cd );
505 END IF;
506
507 IF l_val_digit<> p_tax_id_cd THEN
508 IF l_DEBUG in ('Y', 'C') THEN
509 cep_standard.debug('failed ce_tax_id_check_algorithm' );
510 END IF;
511 RETURN('FALSE');
512
513 ELSE
514 RETURN('TRUE');
515 END IF;
516
517 END IF;
518 /*
519 IF l_DEBUG in ('Y', 'C') THEN
520 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.CE_TAX_ID_CHECK_ALGORITHM');
521 END IF;
522 */
523 END ce_tax_id_check_algorithm;
524
525
526 /* --------------------------------------------------------------------
527 | PRIVATE PROCEDURE |
528 | CE_VALIDATE_CD |
529 | |
530 | CALLED BY |
531 | CE_VALIDATE_ACCOUNT |
532 | |
533 | CALLS |
534 | CE_VALIDATE_CD_* for each country |
538 PROCEDURE CE_VALIDATE_CD(X_COUNTRY_NAME IN varchar2,
535 --------------------------------------------------------------------- */
536
537
539 X_CD IN varchar2,
540 X_BANK_NUMBER IN varchar2,
541 X_BRANCH_NUMBER IN varchar2,
542 X_ACCOUNT_NUMBER IN varchar2) AS
543 --p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
544 --x_msg_count OUT NOCOPY NUMBER,
545 --x_msg_data OUT NOCOPY VARCHAR2) AS
546 --X_VALUE_OUT OUT NOCOPY varchar2) AS
547
548 COUNTRY_NAME VARCHAR2(2);
549
550 X_PASS_MAND_CHECK VARCHAR2(1);
551
552 BEGIN
553 IF l_DEBUG in ('Y', 'C') THEN
554 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_cd X_COUNTRY_NAME: ' ||X_COUNTRY_NAME);
555 END IF;
556
557 COUNTRY_NAME := X_COUNTRY_NAME;
558
559 --X_VALUE_OUT := X_CD;
560
561
562 /*
563 IF l_DEBUG in ('Y', 'C') THEN
564 cep_standard.debug('COUNTRY_NAME: '|| COUNTRY_NAME);
565 --'CE_VALIDATE_BANKINFO_UPG.ce_validate_cd - X_VALUE_OUT: '|| X_VALUE_OUT|| '----------' ||
566 --'CE_VALIDATE_BANKINFO_UPG.ce_validate_cd - P_INIT_MSG_LIST: '|| P_INIT_MSG_LIST);
567 END IF;
568 */
569 /* removed 9/2/03
570 -- Initialize message list if p_init_msg_list is set to TRUE.
571 IF FND_API.to_Boolean(p_init_msg_list) THEN
572 FND_MSG_PUB.initialize;
573 END IF;
574 */
575 /* We must validate the Check Digit*/
576
577 IF X_CD is null
578 AND (X_BANK_NUMBER is not null
579 OR X_BRANCH_NUMBER is not null
580 OR X_ACCOUNT_NUMBER is not null)
581 then
582
583 X_PASS_MAND_CHECK := 'F';
584
585 ELSIF X_CD is not null then
586 X_PASS_MAND_CHECK := 'P';
587 ELSE
588 X_PASS_MAND_CHECK := ' ';
589
590 END IF;
591
592 IF (COUNTRY_NAME = 'FR') then
593
594 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_FR(X_CD,
595 X_PASS_MAND_CHECK,
596 X_BANK_NUMBER,
597 X_BRANCH_NUMBER,
598 translate(X_ACCOUNT_NUMBER,
599 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
600 '123456789123456789234567890') );
601
602 ELSIF (COUNTRY_NAME = 'ES') then
603
604 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_ES(X_CD,
605 X_PASS_MAND_CHECK,
606 X_BANK_NUMBER,
607 X_BRANCH_NUMBER,
608 translate(X_ACCOUNT_NUMBER,
609 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
610 '123456789123456789234567890') );
611
612 ELSIF (COUNTRY_NAME = 'PT') then
613
614 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_PT(X_CD,
615 X_PASS_MAND_CHECK,
616 X_BANK_NUMBER,
617 X_BRANCH_NUMBER,
618 translate(X_ACCOUNT_NUMBER,
619 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
620 '123456789123456789234567890') );
621
622 -- added 5/14/02
623
624 ELSIF (COUNTRY_NAME = 'DE') then
625
626 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_DE(X_CD,
627 X_ACCOUNT_NUMBER);
628
629 ELSIF (COUNTRY_NAME = 'GR') then
630
631 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_GR(X_CD,
632 X_PASS_MAND_CHECK,
633 X_BANK_NUMBER,
634 X_BRANCH_NUMBER,
635 translate(X_ACCOUNT_NUMBER,
636 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
637 '123456789123456789234567890') );
638
639 ELSIF (COUNTRY_NAME = 'IS') then
640
641 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_IS(X_CD,
642 translate(X_ACCOUNT_NUMBER,
643 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
644 '123456789123456789234567890') );
645
646 ELSIF (COUNTRY_NAME = 'IT') then
647
648 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_IT(X_CD,
649 X_PASS_MAND_CHECK,
650 X_BANK_NUMBER,
651 X_BRANCH_NUMBER,
652 translate(X_ACCOUNT_NUMBER,
653 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
654 '123456789123456789234567890') );
655
656 ELSIF (COUNTRY_NAME = 'LU') then
657
658 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_LU(X_CD,
659 X_BANK_NUMBER,
660 X_BRANCH_NUMBER,
661 X_ACCOUNT_NUMBER);
662 -- X_VALUE_OUT);
663
664 ELSIF (COUNTRY_NAME = 'SE') then
665
666 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_SE(X_CD,
667 X_ACCOUNT_NUMBER);
668
669
670 END IF;
671
672 /* 9/2/03
673 FND_MSG_PUB.Count_And_Get(
674 p_encoded => FND_API.G_FALSE,
675 p_count => x_msg_count,
676 p_data => x_msg_data);
677 */
678 IF l_DEBUG in ('Y', 'C') THEN
679 --cep_standard.debug('CE_VALIDATE_BANKINFO_UPG.ce_validate_cd - P_COUNT: '|| x_msg_count|| '----------' ||
680 --'CE_VALIDATE_BANKINFO_UPG.ce_validate_cd - P_DATA: '|| x_msg_data|| '----------' ||
681 --'CE_VALIDATE_BANKINFO_UPG.ce_validate_cd - X_VALUE_OUT: '|| X_VALUE_OUT|| '----------' ||
682 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_cd X_PASS_MAND_CHECK: '|| X_PASS_MAND_CHECK);
683 END IF;
684 EXCEPTION
685 WHEN OTHERS THEN
686 IF l_DEBUG in ('Y', 'C') THEN
690 FND_MESSAGE.set_name('CE', 'CE_UNHANDLED_EXCEPTION');
687 cep_standard.debug('CE_VALIDATE_BANKINFO_UPG.ce_validate_cd ' ||X_COUNTRY_NAME );
688 END IF;
689
691 fnd_message.set_token('PROCEDURE', 'CE_VALIDATE_BANKINFO_UPG.cd_validate_cd');
692 fnd_msg_pub.add;
693 RAISE;
694
695
696 END CE_VALIDATE_CD;
697
698
699 /* --------------------------------------------------------------------
700 | PRIVATE PROCEDURE |
701 | CE_VALIDATE_BRANCH |
702 | |
703 | CALLED BY |
704 | ceupgcpy.sql - Bank pre-upgrade script |
705 | |
706 | CALLS |
707 | CE_VALIDATE_BRANCH_* for each country |
708 | removed CE_VALIDATE_UNIQUE_BRANCH_* for each country |
709 --------------------------------------------------------------------- */
710
711
712 PROCEDURE CE_VALIDATE_BRANCH(X_COUNTRY_NAME IN varchar2,
713 --X_BANK_NUMBER IN varchar2,
714 X_BRANCH_NUMBER IN varchar2,
715 --X_BANK_NAME IN varchar2,
716 --X_BRANCH_NAME IN varchar2,
717 X_BRANCH_NAME_ALT IN varchar2,
718 X_BANK_ID IN NUMBER,
719 --X_BRANCH_ID IN NUMBER,
720 X_VALIDATION_TYPE IN varchar2 := 'ALL',
721 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
722 x_msg_count OUT NOCOPY NUMBER,
723 x_msg_data OUT NOCOPY VARCHAR2,
724 X_VALUE_OUT OUT NOCOPY varchar2,
725 x_message_name_all OUT NOCOPY varchar2)
726 AS
727
728 COUNTRY_NAME VARCHAR2(2);
729
730 X_PASS_MAND_CHECK VARCHAR2(1);
731
732 l_msg_data varchar2(2000);
733 l_msg_index_out number;
734 l_error varchar2(2000);
735 l_error_description varchar2(4000);
736 l_message_name varchar2(2000);
737 --x_message_name_all varchar2(2000);
738 l_message_name_all_tmp varchar2(2000);
739 v_error_description varchar2(2000);
740 l_app_short_name varchar2(20);
741
742
743 BEGIN
744 IF l_DEBUG in ('Y', 'C') THEN
745 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch');
746 END IF;
747
748
749 COUNTRY_NAME := X_COUNTRY_NAME;
750
751 X_VALUE_OUT := X_BRANCH_NUMBER;
752
753 -- Initialize message list if p_init_msg_list is set to TRUE.
754 IF FND_API.to_Boolean(p_init_msg_list) THEN
755 FND_MSG_PUB.initialize;
756 END IF;
757
758 IF l_DEBUG in ('Y', 'C') THEN
759 cep_standard.debug('COUNTRY_NAME: '|| COUNTRY_NAME
760 || ' X_VALUE_OUT: '|| X_VALUE_OUT || ' P_INIT_MSG_LIST: '|| P_INIT_MSG_LIST );
761 END IF;
762
763
764 /* X_COUNTRY_NAME cannot be null, not able to make this required on form, so must do validation here */
765
766 IF X_COUNTRY_NAME is null then
767 IF l_DEBUG in ('Y', 'C') THEN
768 cep_standard.debug('CE_VALIDATE_BRANCH: ' || 'CE_COUNTRY_NAME_REQUIRED');
769 END IF;
770 fnd_message.set_name ('CE', 'CE_COUNTRY_NAME_REQUIRED');
771 fnd_msg_pub.add;
772 END IF;
773
774
775 /* We must validate the Bank Branch Number */
776
777 IF X_BRANCH_NUMBER is null then
778 X_PASS_MAND_CHECK := 'F';
779 ELSE
780 X_PASS_MAND_CHECK := 'P';
781 END IF;
782
783 IF l_DEBUG in ('Y', 'C') THEN
784 IF (X_PASS_MAND_CHECK <> 'P') THEN
785 cep_standard.debug('X_PASS_MAND_CHECK: '|| X_PASS_MAND_CHECK);
786 END IF;
787 END IF;
788
789 -- VALIDATION TYPE: KEY, ALL
790
791 IF (COUNTRY_NAME = 'AT')
792 THEN
793 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_AT(X_BRANCH_NUMBER,
794 X_PASS_MAND_CHECK,
795 X_VALUE_OUT);
796
797 ELSIF (COUNTRY_NAME = 'ES')
798 then
799 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_ES(X_BRANCH_NUMBER,
800 X_PASS_MAND_CHECK,
801 X_VALUE_OUT);
802
803 ELSIF (COUNTRY_NAME = 'FR')
804 then
805 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_FR(X_BRANCH_NUMBER,
806 X_PASS_MAND_CHECK,
807 X_VALUE_OUT);
808
809 ELSIF (COUNTRY_NAME = 'PT')
810 then
811 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_PT(X_BRANCH_NUMBER,
812 X_PASS_MAND_CHECK);
813
814 ELSIF (COUNTRY_NAME = 'BR')
815 then
816 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_BR(X_BRANCH_NUMBER,
817 X_PASS_MAND_CHECK,
818 X_VALUE_OUT);
819
820 -- added 5/14/02
821
822 ELSIF (COUNTRY_NAME = 'DE')
823 then
824 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_DE(X_BRANCH_NUMBER,
825 X_BANK_ID);
826
827 ELSIF (COUNTRY_NAME = 'GR')
828 then
829 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_GR(X_BRANCH_NUMBER);
830
831 ELSIF (COUNTRY_NAME = 'IS')
832 then
833 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_IS(X_BRANCH_NUMBER,
834 X_BANK_ID,
835 X_VALUE_OUT);
836
837 ELSIF (COUNTRY_NAME = 'IE')
838 then
842 ELSIF (COUNTRY_NAME = 'IT')
839 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_IE(X_BRANCH_NUMBER,
840 X_BANK_ID);
841
843 then
844 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_IT(X_BRANCH_NUMBER,
845 X_PASS_MAND_CHECK);
846
847 ELSIF (COUNTRY_NAME = 'LU')
848 then
849 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_LU(X_BRANCH_NUMBER,
850 X_BANK_ID);
851
852 ELSIF (COUNTRY_NAME = 'PL')
853 then
854 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_PL(X_BRANCH_NUMBER,
855 X_BANK_ID);
856
857 ELSIF (COUNTRY_NAME = 'SE')
858 then
859 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_SE(X_BRANCH_NUMBER,
860 X_BANK_ID);
861
862 ELSIF (COUNTRY_NAME = 'CH')
863 then
864 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_CH(X_BRANCH_NUMBER,
865 X_BANK_ID);
866
867 ELSIF (COUNTRY_NAME = 'GB')
868 then
869 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_GB(X_BRANCH_NUMBER,
870 X_BANK_ID);
871
872 ELSIF (COUNTRY_NAME = 'US')
873 then
874 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BRANCH_US(X_BRANCH_NUMBER,
875 X_PASS_MAND_CHECK,
876 X_VALUE_OUT);
877 -- added 10/19/04
878
879 ELSIF (COUNTRY_NAME = 'AU')
880 then
881 CE_VALIDATE_BRANCH_AU(X_BRANCH_NUMBER,
882 X_BANK_ID,
883 X_PASS_MAND_CHECK);
884 ELSIF (COUNTRY_NAME = 'IL')
885 then
886 CE_VALIDATE_BRANCH_IL(X_BRANCH_NUMBER,
887 X_PASS_MAND_CHECK);
888 ELSIF (COUNTRY_NAME = 'NZ')
889 then
890 CE_VALIDATE_BRANCH_NZ(X_BRANCH_NUMBER,
891 X_PASS_MAND_CHECK);
892
893 ELSIF (COUNTRY_NAME = 'JP')
894 then
895 CE_VALIDATE_BRANCH_JP(X_BRANCH_NUMBER,
896 X_BRANCH_NAME_ALT,
897 X_PASS_MAND_CHECK,
898 X_VALIDATION_TYPE );
899
900 END IF;
901
902
903 /** UNIQUE VALIDATION CHECK for branch **/
904 -- NO UNIQUE VALIDATION CHECK
905 /*
906 IF l_DEBUG in ('Y', 'C') THEN
907 cep_standard.debug('UNIQUE VALIDATION CHECK for branch' );
908 END IF;
909
910 IF (COUNTRY_NAME = 'DE') THEN
911 IF l_DEBUG in ('Y', 'C') THEN
912 cep_standard.debug('call CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_BRANCH_DE' );
913 END IF;
914
915 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_BRANCH_DE(X_BRANCH_NUMBER,
916 X_BRANCH_NAME,
917 X_BANK_ID,
918 X_BRANCH_ID);
919
920 ELSIF (COUNTRY_NAME = 'US') THEN
921 IF l_DEBUG in ('Y', 'C') THEN
922 cep_standard.debug('CE_VALIDATE_BRANCH: ' || 'call CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_BRANCH_US' );
923 END IF;
924
925 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_BRANCH_US(X_BRANCH_NUMBER,
926 X_BRANCH_NAME,
927 X_BANK_ID,
928 X_BRANCH_ID);
929
930 ELSIF (COUNTRY_NAME = 'JP') THEN
931 IF l_DEBUG in ('Y', 'C') THEN
932 cep_standard.debug('call CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_BRANCH_JP' );
933 END IF;
934
935 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_BRANCH_JP(X_COUNTRY_NAME,
936 X_BRANCH_NUMBER,
937 X_BRANCH_NAME,
938 X_BRANCH_NAME_ALT,
939 X_BANK_ID,
940 X_BRANCH_ID);
941 ELSE
942 IF l_DEBUG in ('Y', 'C') THEN
943 cep_standard.debug('call CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_BRANCH' );
944 END IF;
945 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_BRANCH(X_COUNTRY_NAME,
946 X_BRANCH_NUMBER,
947 X_BRANCH_NAME,
948 X_BANK_ID,
949 X_BRANCH_ID);
950
951
952 END IF;
953
954 */
955 /** end country unique check for branch **/
956
957 --cep_standard.debug('call FND_MSG_PUB.Count_And_Get');
958 --cep_standard.debug('x_msg_count= '|| x_msg_count);
959 --cep_standard.debug('x_msg_data= '|| x_msg_data);
960
961 FND_MSG_PUB.Count_And_Get(
962 p_encoded => FND_API.G_FALSE,
963 p_count => x_msg_count,
964 p_data => x_msg_data);
965
966 --cep_standard.debug('call FND_MSG_PUB.Count_Msg');
967
968 FOR j in 1..FND_MSG_PUB.Count_Msg LOOP
969 FND_MSG_PUB.Get(
970 p_msg_index=>j,
971 p_encoded=>'T',
972 p_data=>x_msg_data,
973 p_msg_index_out=>l_msg_index_out);
974 v_error_description := l_error_description || ':' || x_msg_data;
975
976 FND_MESSAGE.PARSE_ENCODED(x_msg_data,l_app_short_name,l_message_name);
977
978 --cep_standard.debug('l_message_name: '|| l_message_name );
979 l_message_name_all_tmp:=(l_message_name_all_tmp ||','|| l_message_name);
980
981 END LOOP;
982 x_message_name_all:=substr(l_message_name_all_tmp,2);
983 cep_standard.debug('x_message_name_all: '|| x_message_name_all );
984
985
986 IF l_DEBUG in ('Y', 'C') THEN
987 cep_standard.debug('<<BRANCH: X_PASS_MAND_CHECK: '|| X_PASS_MAND_CHECK ||' P_COUNT: '
988 || x_msg_count ||' X_VALUE_OUT: '|| X_VALUE_OUT );
989 --cep_standard.debug('P_DATA: '|| x_msg_data );
993 EXCEPTION
990 --cep_standard.debug('CE_VALIDATE_BRANCH: ' || 'CE_VALIDATE_BANKINFO_UPG.ce_validate_branch - X_VALUE_OUT: '|| X_VALUE_OUT);
991 --cep_standard.debug('CE_VALIDATE_BRANCH: ' || '<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch');
992 END IF;
994 WHEN OTHERS THEN
995 IF l_DEBUG in ('Y', 'C') THEN
996 cep_standard.debug('CE_VALIDATE_BRANCH: ' || 'CE_VALIDATE_BANKINFO_UPG.ce_validate_branch ' ||X_COUNTRY_NAME );
997 END IF;
998
999 FND_MESSAGE.set_name('CE', 'CE_UNHANDLED_EXCEPTION');
1000 fnd_message.set_token('PROCEDURE', 'CE_VALIDATE_BANKINFO_UPG.cd_validate_branch');
1001 fnd_msg_pub.add;
1002 RAISE;
1003
1004 END CE_VALIDATE_BRANCH;
1005
1006
1007 /* --------------------------------------------------------------------
1008 | PRIVATE PROCEDURE |
1009 | CE_VALIDATE_ACCOUNT |
1010 | |
1011 | CALLED BY |
1012 | ceupgcpy.sql - Bank pre-upgrade script |
1013 | |
1014 | CALLS |
1015 | CE_VALIDATE_ACCOUNT_* for each country |
1016 | removed CE_VALIDATE_UNIQUE_ACCOUNT_* for each country |
1017 --------------------------------------------------------------------- */
1018
1019
1020 PROCEDURE CE_VALIDATE_ACCOUNT(X_COUNTRY_NAME IN varchar2,
1021 X_BANK_NUMBER IN varchar2,
1022 X_BRANCH_NUMBER IN varchar2,
1023 X_ACCOUNT_NUMBER IN varchar2,
1024 --X_BANK_ID IN number,
1025 --X_BRANCH_ID IN number,
1026 --X_ACCOUNT_ID IN number,
1027 --X_CURRENCY_CODE IN varchar2,
1028 X_ACCOUNT_TYPE IN varchar2,
1029 X_ACCOUNT_SUFFIX IN varchar2,
1030 X_SECONDARY_ACCOUNT_REFERENCE IN varchar2,
1031 X_ACCOUNT_NAME IN varchar2,
1032 X_CD IN varchar2,
1033 X_VALIDATION_TYPE IN varchar2 := 'ALL',
1034 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1035 x_msg_count OUT NOCOPY NUMBER,
1036 x_msg_data OUT NOCOPY VARCHAR2,
1037 X_VALUE_OUT OUT NOCOPY varchar2,
1038 x_message_name_all OUT NOCOPY varchar2)
1039 AS
1040
1041 COUNTRY_NAME VARCHAR2(2);
1042
1043 X_PASS_MAND_CHECK VARCHAR2(1);
1044 l_msg_data varchar2(2000);
1045 l_msg_index_out number;
1046 l_error varchar2(2000);
1047 l_error_description varchar2(4000);
1048 l_message_name varchar2(2000);
1049 --x_message_name_all varchar2(2000);
1050 l_message_name_all_tmp varchar2(2000);
1051 v_error_description varchar2(2000);
1052 l_app_short_name varchar2(20);
1053
1054
1055 BEGIN
1056 IF l_DEBUG in ('Y', 'C') THEN
1057 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account');
1058 END IF;
1059
1060 COUNTRY_NAME := X_COUNTRY_NAME;
1061 X_VALUE_OUT := X_ACCOUNT_NUMBER;
1062
1063 -- Initialize message list if p_init_msg_list is set to TRUE.
1064
1065 IF FND_API.to_Boolean(p_init_msg_list) THEN
1066 FND_MSG_PUB.initialize;
1067 END IF;
1068
1069 IF l_DEBUG in ('Y', 'C') THEN
1070 cep_standard.debug('COUNTRY_NAME: '|| COUNTRY_NAME
1071 ||' X_VALUE_OUT: '|| X_VALUE_OUT || ' P_INIT_MSG_LIST: '|| P_INIT_MSG_LIST);
1072 END IF;
1073
1074
1075 /* X_COUNTRY_NAME cannot be null, not able to make this required on form, so must do validation here */
1076
1077 IF X_COUNTRY_NAME is null then
1078 IF l_DEBUG in ('Y', 'C') THEN
1079 cep_standard.debug('CE_VALIDATE_ACCOUNT: ' || 'CE_COUNTRY_NAME_REQUIRED');
1080 END IF;
1081 fnd_message.set_name ('CE', 'CE_COUNTRY_NAME_REQUIRED');
1082 fnd_msg_pub.add;
1083 END IF;
1084
1085
1086 /* We must validate the Bank Account Number */
1087
1088 IF X_ACCOUNT_NUMBER is null then
1089 X_PASS_MAND_CHECK := 'F';
1090 ELSE
1091 X_PASS_MAND_CHECK := 'P';
1092 END IF;
1093
1094 -- VALIDATION TYPE: KEY, ALL
1095
1096 IF (COUNTRY_NAME = 'AT')
1097 then
1098 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_AT(X_ACCOUNT_NUMBER,
1099 X_PASS_MAND_CHECK,
1100 X_VALUE_OUT);
1101
1102 ELSIF (COUNTRY_NAME = 'DK')
1103 then
1104 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_DK(X_ACCOUNT_NUMBER,
1105 X_PASS_MAND_CHECK,
1106 X_VALUE_OUT);
1107
1108 ELSIF (COUNTRY_NAME = 'NO')
1109 then
1110 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_NO(X_ACCOUNT_NUMBER,
1111 X_PASS_MAND_CHECK);
1112
1113 ELSIF (COUNTRY_NAME = 'ES')
1114 then
1115
1116 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_ES(X_ACCOUNT_NUMBER,
1117 X_PASS_MAND_CHECK,
1118 X_VALUE_OUT);
1119
1120
1121 ELSIF (COUNTRY_NAME = 'NL')
1122 then
1123
1124 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_NL(X_ACCOUNT_NUMBER,
1125 X_PASS_MAND_CHECK);
1126
1127 ELSIF (COUNTRY_NAME = 'FR')
1128 then
1129
1130 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_FR(X_ACCOUNT_NUMBER,
1131 X_PASS_MAND_CHECK,
1132 X_VALUE_OUT);
1133
1134
1138 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_BE(X_ACCOUNT_NUMBER,
1135 ELSIF (COUNTRY_NAME = 'BE')
1136 then
1137
1139 X_PASS_MAND_CHECK);
1140
1141
1142 ELSIF (COUNTRY_NAME = 'PT')
1143 then
1144
1145 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_PT(X_ACCOUNT_NUMBER,
1146 X_PASS_MAND_CHECK,
1147 X_VALUE_OUT);
1148
1149 ELSIF (COUNTRY_NAME = 'FI')
1150 AND (X_BRANCH_NUMBER='LMP')
1151 then
1152
1153 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_FI(X_ACCOUNT_NUMBER,
1154 X_PASS_MAND_CHECK);
1155
1156 -- added 5/14/02
1157
1158 ELSIF (COUNTRY_NAME = 'DE')
1159 then
1160
1161 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_DE(X_ACCOUNT_NUMBER,
1162 X_VALUE_OUT );
1163
1164 ELSIF (COUNTRY_NAME = 'GR')
1165 then
1166
1167 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_GR(X_ACCOUNT_NUMBER,
1168 X_VALUE_OUT);
1169
1170 ELSIF (COUNTRY_NAME = 'IS')
1171 then
1172
1173 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_IS(X_ACCOUNT_NUMBER,
1174 X_VALUE_OUT );
1175
1176
1177 ELSIF (COUNTRY_NAME = 'IE')
1178 then
1179
1180 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_IE(X_ACCOUNT_NUMBER);
1181
1182 ELSIF (COUNTRY_NAME = 'IT')
1183 then
1184 IF l_DEBUG in ('Y', 'C') THEN
1185 cep_standard.debug('X_ACCOUNT_NUMBER : '|| X_ACCOUNT_NUMBER||
1186 ' X_VALUE_OUT : '|| X_VALUE_OUT);
1187 END IF;
1188
1189 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_IT(X_ACCOUNT_NUMBER,
1190 X_VALUE_OUT);
1191
1192 ELSIF (COUNTRY_NAME = 'LU')
1193 then
1194
1195 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_LU(X_ACCOUNT_NUMBER);
1196
1197
1198 ELSIF (COUNTRY_NAME = 'PL')
1199 then
1200
1201 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_PL(X_ACCOUNT_NUMBER);
1202
1203
1204 ELSIF (COUNTRY_NAME = 'SE')
1205 then
1206
1207 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_SE(X_ACCOUNT_NUMBER);
1208
1209
1210 ELSIF (COUNTRY_NAME = 'CH')
1211 then
1212
1213 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_CH(X_ACCOUNT_NUMBER,
1214 X_ACCOUNT_TYPE,
1215 X_VALIDATION_TYPE );
1216
1217 ELSIF (COUNTRY_NAME = 'GB')
1218 then
1219
1220 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_GB(X_ACCOUNT_NUMBER,
1221 X_VALUE_OUT);
1222
1223 -- added 10/19/04
1224 ELSIF (COUNTRY_NAME = 'AU')
1225 then
1226
1227 CE_VALIDATE_ACCOUNT_AU(X_ACCOUNT_NUMBER);
1228
1229
1230 ELSIF (COUNTRY_NAME = 'IL')
1231 then
1232 CE_VALIDATE_ACCOUNT_IL(X_ACCOUNT_NUMBER);
1233
1234 ELSIF (COUNTRY_NAME = 'NZ')
1235 then
1236
1237 CE_VALIDATE_ACCOUNT_NZ(X_ACCOUNT_NUMBER,
1238 X_ACCOUNT_SUFFIX,
1239 X_VALIDATION_TYPE);
1240 ELSIF (COUNTRY_NAME = 'JP')
1241 then
1242 CE_VALIDATE_ACCOUNT_JP(X_ACCOUNT_NUMBER,
1243 X_ACCOUNT_TYPE,
1244 X_VALIDATION_TYPE );
1245
1246 END IF; /** country account check **/
1247
1248
1249 IF (X_VALIDATION_TYPE = 'ALL') THEN
1250
1251 IF (COUNTRY_NAME = 'BR')
1252 then
1253
1254 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_BR(X_ACCOUNT_NUMBER,
1255 X_SECONDARY_ACCOUNT_REFERENCE);
1256 END IF;
1257
1258 END IF;
1259
1260 IF (X_VALIDATION_TYPE in ('KEY', 'ALL')) THEN
1261
1262 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD(X_COUNTRY_NAME,
1263 X_CD ,
1264 X_BANK_NUMBER ,
1265 X_BRANCH_NUMBER ,
1266 X_ACCOUNT_NUMBER);
1267 END IF;
1268
1269
1270 /** UNIQUE VALIDATION CHECK for account **/
1271
1272 -- NO UNIQUE VALIDATION CHECK
1273
1274 /*
1275 IF l_DEBUG in ('Y', 'C') THEN
1276 cep_standard.debug('UNIQUE_VALIDATION CHECK for account');
1277 END IF;
1278
1279 IF (COUNTRY_NAME = 'JP') THEN
1280 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_ACCOUNT_JP(X_ACCOUNT_NUMBER,
1281 X_CURRENCY_CODE,
1282 X_ACCOUNT_TYPE,
1283 X_ACCOUNT_NAME,
1284 X_BRANCH_ID,
1285 X_ACCOUNT_ID);
1286
1287 ELSIF (COUNTRY_NAME = 'NZ') THEN
1288 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_ACCOUNT_NZ(X_ACCOUNT_NUMBER,
1289 X_CURRENCY_CODE,
1290 X_ACCOUNT_SUFFIX,
1291 X_ACCOUNT_NAME,
1292 X_BRANCH_ID,
1293 X_ACCOUNT_ID);
1294 ELSE
1295 IF l_DEBUG in ('Y', 'C') THEN
1296 cep_standard.debug('call CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_ACCOUNT' );
1297 END IF;
1298 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_ACCOUNT(
1299 X_ACCOUNT_NUMBER,
1300 X_CURRENCY_CODE,
1301 X_ACCOUNT_NAME,
1302 X_BRANCH_ID,
1303 X_ACCOUNT_ID);
1304
1305 END IF;
1306 */
1307
1308 FND_MSG_PUB.Count_And_Get(
1312
1309 p_encoded => FND_API.G_FALSE,
1310 p_count => x_msg_count,
1311 p_data => x_msg_data);
1313 FOR j in 1..FND_MSG_PUB.Count_Msg LOOP
1314 FND_MSG_PUB.Get(
1315 p_msg_index=>j,
1316 p_encoded=>'T',
1317 p_data=>x_msg_data,
1318 p_msg_index_out=>l_msg_index_out);
1319 v_error_description := l_error_description || ':' || x_msg_data;
1320
1321 FND_MESSAGE.PARSE_ENCODED(x_msg_data,l_app_short_name,l_message_name);
1322
1323 --cep_standard.debug('l_message_name: '|| l_message_name );
1324 l_message_name_all_tmp:=(l_message_name_all_tmp ||','|| l_message_name);
1325
1326 END LOOP;
1327 x_message_name_all:=substr(l_message_name_all_tmp,2);
1328 cep_standard.debug('x_message_name_all: '|| x_message_name_all );
1329
1330
1331 IF l_DEBUG in ('Y', 'C') THEN
1332 cep_standard.debug('<<ACCOUNT: X_PASS_MAND_CHECK: '|| X_PASS_MAND_CHECK ||
1333 ' P_COUNT: '|| x_msg_count || ' X_VALUE_OUT: '|| X_VALUE_OUT);
1334 --cep_standard.debug('P_DATA: '|| x_msg_data );
1335 --cep_standard.debug('CE_VALIDATE_ACCOUNT: ' || 'CE_VALIDATE_BANKINFO_UPG.ce_validate_account - X_VALUE_OUT: '|| X_VALUE_OUT);
1336 --cep_standard.debug('CE_VALIDATE_ACCOUNT: ' || '<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account');
1337 END IF;
1338 EXCEPTION
1339 WHEN OTHERS THEN
1340
1341 IF l_DEBUG in ('Y', 'C') THEN
1342 cep_standard.debug('CE_VALIDATE_ACCOUNT: ' || 'CE_VALIDATE_BANKINFO_UPG.ce_validate_account ' ||X_COUNTRY_NAME );
1343 END IF;
1344 FND_MESSAGE.set_name('CE', 'CE_UNHANDLED_EXCEPTION');
1345 fnd_message.set_token('PROCEDURE', 'CE_VALIDATE_BANKINFO_UPG.cd_validate_account');
1346 fnd_msg_pub.add;
1347 RAISE;
1348
1349 END CE_VALIDATE_ACCOUNT;
1350
1351 /* --------------------------------------------------------------------
1352 | PRIVATE PROCEDURE |
1353 | CE_VALIDATE_BANK |
1354 | |
1355 | CALLED BY |
1356 | ceupgcpy.sql - Bank pre-upgrade script |
1357 | |
1358 | CALLS |
1359 | CE_VALIDATE_BANK_* for each country |
1360 | removed CE_VALIDATE_UNIQUE_BANK_* for each country |
1361 --------------------------------------------------------------------- */
1362
1363
1364 PROCEDURE CE_VALIDATE_BANK( X_COUNTRY_NAME IN varchar2,
1365 X_BANK_NUMBER IN varchar2,
1366 X_BANK_NAME IN varchar2,
1367 X_BANK_NAME_ALT IN varchar2,
1368 X_TAX_PAYER_ID IN varchar2,
1369 --X_BANK_ID IN NUMBER,
1370 X_VALIDATION_TYPE IN varchar2 := 'ALL',
1371 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1372 x_msg_count OUT NOCOPY NUMBER,
1373 x_msg_data OUT NOCOPY VARCHAR2,
1374 X_VALUE_OUT OUT NOCOPY varchar2,
1375 x_message_name_all OUT NOCOPY varchar2 ) AS
1376
1377 COUNTRY_NAME VARCHAR2(2);
1378
1379 X_PASS_MAND_CHECK VARCHAR2(1);
1380
1381 l_msg_data varchar2(2000);
1382 l_msg_index_out number;
1383 l_error varchar2(2000);
1384 l_error_description varchar2(4000);
1385 l_message_name varchar2(2000);
1386 --x_message_name_all varchar2(2000);
1387 l_message_name_all_tmp varchar2(2000);
1388 v_error_description varchar2(2000);
1389 l_app_short_name varchar2(20);
1390
1391 BEGIN
1392 IF l_DEBUG in ('Y', 'C') THEN
1393 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank');
1394 END IF;
1395
1396 COUNTRY_NAME := X_COUNTRY_NAME;
1397 X_VALUE_OUT := X_BANK_NUMBER;
1398
1399 -- Initialize message list if p_init_msg_list is set to TRUE.
1400 IF FND_API.to_Boolean(p_init_msg_list) THEN
1401 FND_MSG_PUB.initialize;
1402 END IF;
1403
1404 IF l_DEBUG in ('Y', 'C') THEN
1405 cep_standard.debug('COUNTRY_NAME: '|| COUNTRY_NAME||
1406 ' X_VALUE_OUT: '|| X_VALUE_OUT || ' P_INIT_MSG_LIST: '|| P_INIT_MSG_LIST);
1407 END IF;
1408
1409 /* X_COUNTRY_NAME cannot be null, not able to make this required on form, so must do validation here */
1410
1411 IF X_COUNTRY_NAME is null then
1412 IF l_DEBUG in ('Y', 'C') THEN
1413 cep_standard.debug('CE_VALIDATE_BANK: ' || 'CE_COUNTRY_NAME_REQUIRED');
1414 END IF;
1415 fnd_message.set_name ('CE', 'CE_COUNTRY_NAME_REQUIRED');
1416 fnd_msg_pub.add;
1417 END IF;
1418
1419 /* We must validate the Bank Number */
1420
1421 IF X_BANK_NUMBER is null then
1422 X_PASS_MAND_CHECK := 'F';
1423 ELSE
1424 X_PASS_MAND_CHECK := 'P';
1425 END IF;
1426
1427 -- VALIDATION TYPE: KEY, ALL
1428
1429 IF (COUNTRY_NAME = 'ES')
1430 then
1431 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_ES(X_BANK_NUMBER,
1432 X_PASS_MAND_CHECK,
1433 X_VALUE_OUT);
1434
1435 ELSIF (COUNTRY_NAME = 'FR')
1436 then
1437 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_FR(X_BANK_NUMBER,
1438 X_PASS_MAND_CHECK,
1439 X_VALUE_OUT);
1440
1441 ELSIF (COUNTRY_NAME = 'PT')
1442 then
1443 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_PT(X_BANK_NUMBER,
1444 X_PASS_MAND_CHECK);
1445
1446 ELSIF (COUNTRY_NAME = 'BR')
1447 then
1448 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_BR(X_BANK_NUMBER,
1452 -- Added 5/14/02
1449 X_PASS_MAND_CHECK,
1450 X_VALUE_OUT);
1451
1453
1454
1455 ELSIF (COUNTRY_NAME = 'DE')
1456 then
1457 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_DE(X_BANK_NUMBER);
1458
1459 ELSIF (COUNTRY_NAME = 'GR')
1460 then
1461 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_GR(X_BANK_NUMBER);
1462
1463 ELSIF (COUNTRY_NAME = 'IS')
1464 then
1465 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_IS(X_BANK_NUMBER,
1466 X_VALUE_OUT);
1467
1468 ELSIF (COUNTRY_NAME = 'IE')
1469 then
1470 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_IE(X_BANK_NUMBER);
1471
1472 ELSIF (COUNTRY_NAME = 'IT')
1473 then
1474 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_IT(X_BANK_NUMBER,
1475 X_PASS_MAND_CHECK);
1476
1477 ELSIF (COUNTRY_NAME = 'LU')
1478 then
1479 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_LU(X_BANK_NUMBER);
1480
1481
1482 ELSIF (COUNTRY_NAME = 'PL')
1483 then
1484 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_PL(X_BANK_NUMBER);
1485
1486 ELSIF (COUNTRY_NAME = 'SE')
1487 then
1488 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_SE(X_BANK_NUMBER);
1489
1490 ELSIF (COUNTRY_NAME = 'CH')
1491 then
1492 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_CH(X_BANK_NUMBER);
1493
1494 ELSIF (COUNTRY_NAME = 'GB')
1495 then
1496 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_GB(X_BANK_NUMBER);
1497
1498 -- Added 10/19/04
1499
1500 ELSIF (COUNTRY_NAME = 'AU')
1501 then
1502 CE_VALIDATE_BANK_AU(X_BANK_NUMBER);
1503 --CE_VALIDATE_BANKINFO.CE_VALIDATE_BANK_AU(X_BANK_NUMBER);
1504 ELSIF (COUNTRY_NAME = 'IL')
1505 then
1506 CE_VALIDATE_BANK_IL(X_BANK_NUMBER,
1507 X_PASS_MAND_CHECK);
1508 ELSIF (COUNTRY_NAME = 'NZ')
1509 then
1510 CE_VALIDATE_BANK_NZ(X_BANK_NUMBER,
1511 X_PASS_MAND_CHECK);
1512
1513 ELSIF (COUNTRY_NAME = 'JP')
1514 then
1515 CE_VALIDATE_BANK_JP(X_BANK_NUMBER,
1516 X_BANK_NAME_ALT,
1517 X_PASS_MAND_CHECK,
1518 X_VALIDATION_TYPE);
1519
1520
1521 END IF; /** country check for bank **/
1522
1523
1524 IF (X_VALIDATION_TYPE = 'ALL') THEN
1525 IF (COUNTRY_NAME = 'CO')
1526 then
1527 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_CO(X_COUNTRY_NAME,
1528 X_BANK_NAME ,
1529 X_TAX_PAYER_ID);
1530 END IF;
1531 END IF;
1532
1533
1534
1535
1536
1537 /** UNIQUE VALIDATION CHECK for bank **/
1538 -- NO UNIQUE VALIDATION CHECK
1539 /*
1540 IF l_DEBUG in ('Y', 'C') THEN
1541 cep_standard.debug('UNIQUE VALIDATION CHECK for bank' );
1542 END IF;
1543
1544 IF (COUNTRY_NAME = 'JP') THEN
1545 IF l_DEBUG in ('Y', 'C') THEN
1546 cep_standard.debug('call CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_BANK_JP' );
1547 END IF;
1548
1549 CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_UNIQUE_BANK_JP(X_COUNTRY_NAME,
1550 X_BANK_NUMBER ,
1551 X_BANK_NAME ,
1552 X_BANK_NAME_ALT,
1553 X_BANK_ID);
1554
1555 END IF;
1556 */
1557 /** country unique check for bank **/
1558
1559
1560 FND_MSG_PUB.Count_And_Get(
1561 p_encoded => FND_API.G_FALSE,
1562 p_count => x_msg_count,
1563 p_data => x_msg_data);
1564
1565 FOR j in 1..FND_MSG_PUB.Count_Msg LOOP
1566 FND_MSG_PUB.Get(
1567 p_msg_index=>j,
1568 p_encoded=>'T',
1569 p_data=>x_msg_data,
1570 p_msg_index_out=>l_msg_index_out);
1571 v_error_description := l_error_description || ':' || x_msg_data;
1572
1573 FND_MESSAGE.PARSE_ENCODED(x_msg_data,l_app_short_name,l_message_name);
1574
1575 --cep_standard.debug('l_message_name: '|| l_message_name );
1576 l_message_name_all_tmp:=(l_message_name_all_tmp ||','|| l_message_name);
1577
1578 END LOOP;
1579 x_message_name_all:=substr(l_message_name_all_tmp,2);
1580 cep_standard.debug('x_message_name_all: '|| x_message_name_all );
1581
1582 IF l_DEBUG in ('Y', 'C') THEN
1583 cep_standard.debug('<<BANK: X_PASS_MAND_CHECK: '|| X_PASS_MAND_CHECK
1584 ||' P_COUNT: '|| x_msg_count || ' X_VALUE_OUT: '|| X_VALUE_OUT );
1585 --cep_standard.debug('P_DATA: '|| x_msg_data );
1586 --cep_standard.debug('CE_VALIDATE_BANK: ' || 'CE_VALIDATE_BANKINFO_UPG.ce_validate_bank - X_VALUE_OUT: '|| X_VALUE_OUT );
1587 --cep_standard.debug('CE_VALIDATE_BANK: ' || '<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank');
1588 END IF;
1589 EXCEPTION
1590 WHEN OTHERS THEN
1591 IF l_DEBUG in ('Y', 'C') THEN
1592 cep_standard.debug('CE_VALIDATE_BANK: ' || 'CE_VALIDATE_BANKINFO_UPG.ce_validate_bank ' ||X_COUNTRY_NAME );
1593 END IF;
1594
1595 FND_MESSAGE.set_name('CE', 'CE_UNHANDLED_EXCEPTION');
1596 fnd_message.set_token('PROCEDURE', 'CE_VALIDATE_BANKINFO_UPG.cd_validate_bank');
1597 fnd_msg_pub.add;
1598 RAISE;
1599
1600
1601 END CE_VALIDATE_BANK;
1602
1603
1604 /* --------------------------------------------------------------------
1605 | PRIVATE PROCEDURE |
1606 | CE_VALIDATE_CD_* |
1607 | |
1608 | CALLED BY |
1612 | Check Digit PROCEDURES, Validations 1 or more of the following: |
1609 | CE_VALIDATE_CD |
1610 | |
1611 | DESCRIPTION |
1613 | 1. Check Digit length |
1614 | 2. Check Digit Algorithm |
1615 | |
1616 --------------------------------------------------------------------- */
1617
1618
1619 procedure CE_VALIDATE_CD_PT(Xi_CD in varchar2,
1620 Xi_PASS_MAND_CHECK in varchar2,
1621 Xi_X_BANK_NUMBER in varchar2,
1622 Xi_X_BRANCH_NUMBER in varchar2,
1623 Xi_X_ACCOUNT_NUMBER in varchar2)
1624 AS
1625 numeric_result_bk varchar2(40);
1626 numeric_result_br varchar2(40);
1627 numeric_result_cd varchar2(40);
1628 numeric_result_ac varchar2(40);
1629 cal_cd number(10);
1630 CONCED_NUMBER varchar2(30);
1631 cd_value varchar2(20);
1632 bk_value varchar2(30);
1633 ac_value varchar2(30);
1634 br_value varchar2(30);
1635
1636 /**************************/
1637 /* SUB-PROCEDURES SECTION */
1638 /**************************/
1639
1640 procedure fail_mandatory is
1641 begin
1642 fnd_message.set_name ('CE', 'CE_ENTER_CHECK_DIGIT');
1643 fnd_msg_pub.add;
1644 IF l_DEBUG in ('Y', 'C') THEN
1645 cep_standard.debug('CE_VALIDATE_CD: ' || 'CE_ENTER_CHECK_DIGIT');
1646 END IF;
1647 end fail_mandatory;
1648
1649 procedure fail_check is
1650 begin
1651 fnd_message.set_name ('CE', 'CE_INVALID_CHECK_DIGIT');
1652 fnd_msg_pub.add;
1653 IF l_DEBUG in ('Y', 'C') THEN
1654 cep_standard.debug('CE_VALIDATE_CD: ' || 'CE_INVALID_CHECK_DIGIT');
1655 END IF;
1656 end fail_check;
1657
1658 procedure pass_check is
1659 begin
1660 IF l_DEBUG in ('Y', 'C') THEN
1661 null;
1662 --cep_standard.debug('CE_VALIDATE_CD: ' || 'pass_check');
1663 END IF;
1664 end pass_check;
1665 /****************/
1666 /* MAIN SECTION */
1667 /****************/
1668 BEGIN
1669 IF l_DEBUG in ('Y', 'C') THEN
1670 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_pt');
1671 END IF;
1672
1673 CD_VALUE := upper(replace(Xi_CD,' ',''));
1674 bk_value := upper(replace(Xi_X_BANK_NUMBER,' ',''));
1675 br_value := upper(replace(Xi_X_BRANCH_NUMBER,' ',''));
1676 ac_value := upper(replace(Xi_X_ACCOUNT_NUMBER,' ',''));
1677
1678 IF Xi_PASS_MAND_CHECK = 'F'
1679 then
1680 fail_mandatory;
1681
1682 ELSIF Xi_PASS_MAND_CHECK = 'P'
1683 then
1684
1685 numeric_result_bk := ce_check_numeric(bk_value,1,length(bk_value));
1686 numeric_result_br := ce_check_numeric(br_value,1,length(br_value));
1687 numeric_result_ac := ce_check_numeric(ac_value,1,length(ac_value));
1688 numeric_result_cd := ce_check_numeric(CD_VALUE,1,length(CD_VALUE));
1689
1690 IF length(bk_value) = 4 and length(br_value) = 4 and length(ac_value) = 11
1691 and length(CD_VALUE) = 2
1692 then
1693
1694 IF numeric_result_bk = '0' and numeric_result_br = '0'
1695 and numeric_result_ac = '0' and numeric_result_cd = '0'
1696 then
1697 /* its numeric so continue */
1698
1699 CONCED_NUMBER := bk_value||br_value||ac_value||CD_VALUE;
1700
1701 cal_cd := 98 - mod(( (to_number(substr(CONCED_NUMBER,19,1)) * 3)
1702 +(to_number(substr(CONCED_NUMBER,18,1)) * 30)
1703 +(to_number(substr(CONCED_NUMBER,17,1)) * 9)
1704 +(to_number(substr(CONCED_NUMBER,16,1)) * 90)
1705 +(to_number(substr(CONCED_NUMBER,15,1)) * 27)
1706 +(to_number(substr(CONCED_NUMBER,14,1)) * 76)
1707 +(to_number(substr(CONCED_NUMBER,13,1)) * 81)
1708 +(to_number(substr(CONCED_NUMBER,12,1)) * 34)
1709 +(to_number(substr(CONCED_NUMBER,11,1)) * 49)
1710 +(to_number(substr(CONCED_NUMBER,10,1)) * 5)
1711 +(to_number(substr(CONCED_NUMBER,9,1)) * 50)
1712 +(to_number(substr(CONCED_NUMBER,8,1)) * 15)
1713 +(to_number(substr(CONCED_NUMBER,7,1)) * 53)
1714 +(to_number(substr(CONCED_NUMBER,6,1)) * 45)
1715 +(to_number(substr(CONCED_NUMBER,5,1)) * 62)
1716 +(to_number(substr(CONCED_NUMBER,4,1)) * 38)
1717 +(to_number(substr(CONCED_NUMBER,3,1)) * 89)
1718 +(to_number(substr(CONCED_NUMBER,2,1)) * 17)
1719 +(to_number(substr(CONCED_NUMBER,1,1)) * 73)),97);
1720
1721
1722 IF l_DEBUG in ('Y', 'C') THEN
1723 cep_standard.debug('cal_cd: ' || cal_cd);
1724 END IF;
1725
1726 IF CD_VALUE = cal_cd
1727 then
1728 pass_check;
1729 ELSE
1730 fail_check;
1731 END IF;
1732
1733 ELSE
1734 fail_check;
1735
1736 END IF; /* end of numeric check */
1737
1738 ELSE
1739 fail_check;
1740
1741 END IF; /* end of length check */
1742 END IF; /* end of mandatory check */
1743
1744 /*
1745 IF l_DEBUG in ('Y', 'C') THEN
1746 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_pt');
1747 END IF;
1748 */
1749 END CE_VALIDATE_CD_PT;
1750
1751 /**************** End of Procedure CE_VALIDATE_CD_PT ***********/
1752
1753 procedure CE_VALIDATE_CD_ES(Xi_CD in varchar2,
1757 Xi_X_ACCOUNT_NUMBER in varchar2)
1754 Xi_PASS_MAND_CHECK in varchar2,
1755 Xi_X_BANK_NUMBER in varchar2,
1756 Xi_X_BRANCH_NUMBER in varchar2,
1758 AS
1759 numeric_result_bk varchar2(40);
1760 numeric_result_br varchar2(40);
1761 numeric_result_cd varchar2(40);
1762 numeric_result_ac varchar2(40);
1763 cd_1 number(10);
1764 cd_2 number(10);
1765 cd_value varchar2(20);
1766 bk_value varchar2(30);
1767 ac_value varchar2(30);
1768 br_value varchar2(30);
1769
1770 /**************************/
1771 /* SUB-PROCEDURES SECTION */
1772 /**************************/
1773 /*Bug Fix:880887*/
1774 /*Changed the Xo_RET_VAR='F' to 'W' ,in 'fail_mandatory' and 'fail_check'*/
1775 /*so that a warning message is displayed*/
1776 /*for spain instead of Error message*/
1777
1778 procedure fail_mandatory is
1779 begin
1780 fnd_message.set_name ('CE', 'CE_ENTER_CHECK_DIGIT');
1781 fnd_msg_pub.add;
1782 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
1783 IF l_DEBUG in ('Y', 'C') THEN
1784 cep_standard.debug('CE_VALIDATE_CD: ' || 'CE_ENTER_CHECK_DIGIT');
1785 END IF;
1786
1787 end fail_mandatory;
1788
1789 procedure fail_check is
1790 begin
1791 fnd_message.set_name ('CE', 'CE_INVALID_CHECK_DIGIT');
1792 fnd_msg_pub.add;
1793 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
1794 IF l_DEBUG in ('Y', 'C') THEN
1795 cep_standard.debug('CE_VALIDATE_CD: ' || 'CE_INVALID_CHECK_DIGIT');
1796 END IF;
1797
1798 end fail_check;
1799
1800 procedure pass_check is
1801 begin
1802 IF l_DEBUG in ('Y', 'C') THEN
1803 null;
1804 --cep_standard.debug('CE_VALIDATE_CD: ' || 'pass_check');
1805 END IF;
1806
1807 end pass_check;
1808 /****************/
1809 /* MAIN SECTION */
1810 /****************/
1811 BEGIN
1812 IF l_DEBUG in ('Y', 'C') THEN
1813 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_es');
1814 END IF;
1815
1816 CD_VALUE := upper(Xi_CD);
1817 bk_value := upper(Xi_X_BANK_NUMBER);
1818 br_value := upper(Xi_X_BRANCH_NUMBER);
1819 ac_value := upper(Xi_X_ACCOUNT_NUMBER);
1820
1821 IF Xi_PASS_MAND_CHECK = 'F'
1822 then
1823 fail_mandatory;
1824
1825 ELSIF Xi_PASS_MAND_CHECK = 'P'
1826 then
1827
1828 numeric_result_bk := ce_check_numeric(bk_value,1,length(bk_value));
1829 numeric_result_br := ce_check_numeric(br_value,1,length(br_value));
1830 numeric_result_ac := ce_check_numeric(ac_value,1,length(ac_value));
1831 numeric_result_cd := ce_check_numeric(CD_VALUE,1,length(CD_VALUE));
1832
1833 IF numeric_result_bk = '0' and numeric_result_br = '0'
1834 and numeric_result_ac = '0' and numeric_result_cd = '0'
1835 then
1836 /* its numeric so continue */
1837 cd_1 := 11-mod(((to_number(substr(Xi_X_BANK_NUMBER,1,1)) * 4)
1838 + (to_number(substr(Xi_X_BANK_NUMBER,2,1)) * 8)
1839 + (to_number(substr(Xi_X_BANK_NUMBER,3,1)) * 5)
1840 + (to_number(substr(Xi_X_BANK_NUMBER,4,1)) * 10)
1841 + (to_number(substr(Xi_X_BRANCH_NUMBER,1,1)) * 9)
1842 + (to_number(substr(Xi_X_BRANCH_NUMBER,2,1)) * 7)
1843 + (to_number(substr(Xi_X_BRANCH_NUMBER,3,1)) * 3)
1844 + (to_number(substr(Xi_X_BRANCH_NUMBER,4,1)) * 6)),11);
1845
1846
1847 cd_2 := 11-mod(((to_number(substr(Xi_X_ACCOUNT_NUMBER,1,1)) * 1)
1848 + (to_number(substr(Xi_X_ACCOUNT_NUMBER,2,1)) * 2)
1849 + (to_number(substr(Xi_X_ACCOUNT_NUMBER,3,1)) * 4)
1850 + (to_number(substr(Xi_X_ACCOUNT_NUMBER,4,1)) * 8)
1851 + (to_number(substr(Xi_X_ACCOUNT_NUMBER,5,1)) * 5)
1852 + (to_number(substr(Xi_X_ACCOUNT_NUMBER,6,1)) * 10)
1853 + (to_number(substr(Xi_X_ACCOUNT_NUMBER,7,1)) * 9)
1854 + (to_number(substr(Xi_X_ACCOUNT_NUMBER,8,1)) * 7)
1855 + (to_number(substr(Xi_X_ACCOUNT_NUMBER,9,1)) * 3)
1856 + (to_number(substr(Xi_X_ACCOUNT_NUMBER,10,1)) * 6)),11);
1857
1858
1859 IF (cd_1 = 10)
1860 then
1861 cd_1 :=1;
1862 ELSIF (cd_1 = 11)
1863 then
1864 cd_1 := 0;
1865 END IF;
1866
1867 IF (cd_2 = 10)
1868 then
1869 cd_2 :=1;
1870 ELSIF (cd_2 = 11)
1871 then
1872 cd_2 := 0;
1873 END IF;
1874
1875 IF (cd_1 = substr(CD_VALUE,1,1) and cd_2 = substr(CD_VALUE,2,1))
1876 OR (CD_VALUE = '00')
1877 then
1878 /* check digit checks out */
1879 pass_check;
1880 ELSE
1881 fail_check;
1882 END IF;
1883
1884 ELSE
1885 fail_check;
1886
1887 END IF; /* end of numeric check */
1888
1889 END IF; /* end of mandatory check */
1890 /*
1891 IF l_DEBUG in ('Y', 'C') THEN
1892 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_es');
1893 END IF;
1894 */
1895 END CE_VALIDATE_CD_ES;
1896
1897
1898 /**************** End of Procedure CE_VALIDATE_CD_ES ***********/
1899
1900
1901 procedure CE_VALIDATE_CD_FR(Xi_CD in varchar2,
1902 Xi_PASS_MAND_CHECK in varchar2,
1903 Xi_X_BANK_NUMBER in varchar2,
1904 Xi_X_BRANCH_NUMBER in varchar2,
1905 Xi_X_ACCOUNT_NUMBER in varchar2)
1909 numeric_result_cd varchar2(40);
1906 AS
1907 numeric_result_bk varchar2(40);
1908 numeric_result_br varchar2(40);
1910 numeric_result_ac varchar2(40);
1911 calc_value number(30);
1912 cd_value varchar2(20);
1913 bk_value varchar2(30);
1914 ac_value varchar2(30);
1915 br_value varchar2(30);
1916
1917
1918 /**************************/
1919 /* SUB-PROCEDURES SECTION */
1920 /**************************/
1921
1922 procedure fail_mandatory is
1923 begin
1924 fnd_message.set_name ('CE', 'CE_ENTER_CHECK_DIGIT');
1925 fnd_msg_pub.add;
1926 end fail_mandatory;
1927
1928 procedure fail_check is
1929 begin
1930 fnd_message.set_name ('CE', 'CE_INVALID_CHECK_DIGIT');
1931 fnd_msg_pub.add;
1932 end fail_check;
1933
1934 procedure pass_check is
1935 begin
1936 IF l_DEBUG in ('Y', 'C') THEN
1937 null;
1938 -- cep_standard.debug('CE_VALIDATE_CD: ' || 'pass_check');
1939 END IF;
1940
1941 end pass_check;
1942
1943
1944 /****************/
1945 /* MAIN SECTION */
1946 /****************/
1947 BEGIN
1948 IF l_DEBUG in ('Y', 'C') THEN
1949 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_fr');
1950 END IF;
1951
1952 CD_VALUE := upper(Xi_CD);
1953 bk_value := upper(Xi_X_BANK_NUMBER);
1954 br_value := upper(Xi_X_BRANCH_NUMBER);
1955 ac_value := upper(Xi_X_ACCOUNT_NUMBER);
1956
1957 IF Xi_PASS_MAND_CHECK = 'F'
1958 then
1959 fail_mandatory;
1960
1961 ELSIF Xi_PASS_MAND_CHECK = 'P'
1962 then
1963
1964 IF length(CD_VALUE) < 3
1965 then
1966 numeric_result_bk := ce_check_numeric(bk_value,1,length(bk_value));
1967 numeric_result_br := ce_check_numeric(br_value,1,length(br_value));
1968 numeric_result_ac := ce_check_numeric(ac_value,1,length(ac_value));
1969 numeric_result_cd := ce_check_numeric(CD_VALUE,1,length(CD_VALUE));
1970
1971 IF numeric_result_bk = '0' and numeric_result_br = '0'
1972 and numeric_result_cd = '0'
1973 then
1974 /* its numeric so continue */
1975 calc_value := 97-mod(to_number(Xi_X_BANK_NUMBER||Xi_X_BRANCH_NUMBER||
1976 translate(Xi_X_ACCOUNT_NUMBER,
1977 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ',
1978 '123456789123456789234567890')||'00'),97);
1979 IF calc_value = CD_VALUE
1980 then
1981 /* check digit checks out */
1982 pass_check;
1983 ELSE
1984 fail_check;
1985 END IF;
1986
1987 ELSE
1988 fail_check;
1989
1990 END IF; /* end of numeric check */
1991
1992 ELSE
1993 fail_check;
1994
1995 END IF; /* end of length check */
1996 END IF; /* end of mandatory check */
1997
1998 /*
1999 IF l_DEBUG in ('Y', 'C') THEN
2000 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_fr');
2001 END IF;
2002 */
2003 END CE_VALIDATE_CD_FR;
2004
2005
2006 /**************** End of Procedure CE_VALIDATE_CD_FR ***********/
2007
2008 -- new validations for check digits 5/14/02
2009
2010 procedure CE_VALIDATE_CD_DE(Xi_CD in varchar2,
2011 Xi_X_ACCOUNT_NUMBER in varchar2)
2012 AS
2013 numeric_result_cd varchar2(40);
2014
2015 calc_value number;
2016 cd_value varchar2(50);
2017
2018
2019
2020 /**************************/
2021 /* SUB-PROCEDURES SECTION */
2022 /**************************/
2023
2024 procedure fail_check is
2025 begin
2026 fnd_message.set_name ('CE', 'CE_INVALID_CHECK_DIGIT');
2027 fnd_msg_pub.add;
2028 IF l_DEBUG in ('Y', 'C') THEN
2029 cep_standard.debug('CE_VALIDATE_CD: ' || 'CE_INVALID_CHECK_DIGIT');
2030 END IF;
2031 end fail_check;
2032
2033 procedure pass_check is
2034 begin
2035 IF l_DEBUG in ('Y', 'C') THEN
2036 null;
2037 -- cep_standard.debug('CE_VALIDATE_CD: ' || 'pass_check');
2038 END IF;
2039 end pass_check;
2040
2041
2042 /****************/
2043 /* MAIN SECTION */
2044 /****************/
2045 BEGIN
2046 IF l_DEBUG in ('Y', 'C') THEN
2047 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_DE');
2048 END IF;
2049
2050 CD_VALUE := upper(Xi_CD);
2051
2052 IF l_DEBUG in ('Y', 'C') THEN
2053 cep_standard.debug('cd_value: '|| cd_value);
2054 END IF;
2055
2056 IF (CD_VALUE is not null) THEN
2057 IF length(CD_VALUE) = 1 then
2058 numeric_result_cd := ce_check_numeric(CD_VALUE,1,length(CD_VALUE));
2059
2060 IF numeric_result_cd = '0' then
2061 if (CE_VALIDATE_BANKINFO_UPG.COMPARE_ACCOUNT_NUM_AND_CD(Xi_X_ACCOUNT_NUMBER, CD_VALUE, 1, 0)) then
2062 pass_check;
2063 end if;
2064 ELSE
2065 fail_check;
2066 END IF;
2067
2068 ELSE
2069 fail_check;
2070
2071 END IF; /* end of length check */
2072 END IF;
2073
2074 /*
2075 IF l_DEBUG in ('Y', 'C') THEN
2076 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_CD_DE');
2077 END IF;
2078 */
2079 END CE_VALIDATE_CD_DE;
2080
2081 /* -------------------------------------------------------------------- */
2082
2083
2084 procedure CE_VALIDATE_CD_GR(Xi_CD in varchar2,
2085 Xi_PASS_MAND_CHECK in varchar2,
2089 AS
2086 Xi_X_BANK_NUMBER in varchar2,
2087 Xi_X_BRANCH_NUMBER in varchar2,
2088 Xi_X_ACCOUNT_NUMBER in varchar2)
2090 numeric_result_cd varchar2(40);
2091
2092 calc_value number(30);
2093 cd_value varchar2(20);
2094
2095
2096
2097 /**************************/
2098 /* SUB-PROCEDURES SECTION */
2099 /**************************/
2100
2101 procedure fail_check is
2102 begin
2103 fnd_message.set_name ('CE', 'CE_INVALID_CHECK_DIGIT');
2104 fnd_msg_pub.add;
2105 IF l_DEBUG in ('Y', 'C') THEN
2106 cep_standard.debug('CE_VALIDATE_CD: ' || 'CE_INVALID_CHECK_DIGIT');
2107 END IF;
2108 end fail_check;
2109
2110 procedure pass_check is
2111 begin
2112 IF l_DEBUG in ('Y', 'C') THEN
2113 null;
2114 -- cep_standard.debug('CE_VALIDATE_CD: ' || 'pass_check');
2115 END IF;
2116 end pass_check;
2117
2118
2119 /****************/
2120 /* MAIN SECTION */
2121 /****************/
2122 BEGIN
2123
2124 CD_VALUE := upper(Xi_CD);
2125
2126 IF length(CD_VALUE) < 2 then
2127 numeric_result_cd := ce_check_numeric(CD_VALUE,1,length(CD_VALUE));
2128
2129 IF numeric_result_cd = '0' then
2130 pass_check;
2131 ELSE
2132 fail_check;
2133 END IF;
2134
2135 ELSE
2136 fail_check;
2137
2138 END IF; /* end of length check */
2139
2140 END CE_VALIDATE_CD_GR;
2141
2142 /* -------------------------------------------------------------------- */
2143
2144 procedure CE_VALIDATE_CD_IS(Xi_CD in varchar2,
2145 Xi_X_ACCOUNT_NUMBER in varchar2)
2146 AS
2147 numeric_result_cd varchar2(50);
2148 numeric_result_ac varchar2(50);
2149 cal_cd number;
2150 cal_cd1 number;
2151
2152 cd_value varchar2(50);
2153 ac_value varchar2(50);
2154 ac_cd_value varchar2(50);
2155
2156
2157 /**************************/
2158 /* SUB-PROCEDURES SECTION */
2159 /**************************/
2160
2161 procedure fail_check is
2162 begin
2163 fnd_message.set_name ('CE', 'CE_INVALID_CHECK_DIGIT');
2164 fnd_msg_pub.add;
2165 IF l_DEBUG in ('Y', 'C') THEN
2166 cep_standard.debug('CE_VALIDATE_CD: ' || 'CE_INVALID_CHECK_DIGIT');
2167 END IF;
2168 end fail_check;
2169
2170
2171 procedure pass_check is
2172 begin
2173 IF l_DEBUG in ('Y', 'C') THEN
2174 null;
2175 -- cep_standard.debug('CE_VALIDATE_CD: ' || 'pass_check');
2176 END IF;
2177 end pass_check;
2178 /****************/
2179 /* MAIN SECTION */
2180 /****************/
2181 BEGIN
2182 IF l_DEBUG in ('Y', 'C') THEN
2183 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_is');
2184 END IF;
2185
2186 CD_VALUE := upper(replace(Xi_CD,' ',''));
2187 ac_value := upper(replace(Xi_X_ACCOUNT_NUMBER,' ',''));
2188 ac_value := upper(replace(ac_value,'-',''));
2189
2190
2191 ac_cd_value := substr(ac_value,17,1);
2192
2193 IF l_DEBUG in ('Y', 'C') THEN
2194 cep_standard.debug('ac_cd_value : ' || ac_cd_value|| ' cal_cd : ' || cal_cd);
2195 END IF;
2196
2197 IF (CD_VALUE is not null) THEN
2198 IF length(CD_VALUE) = 1 then
2199 numeric_result_cd := ce_check_numeric(CD_VALUE,1,length(CD_VALUE));
2200
2201 IF numeric_result_cd = '0' then
2202 IF l_DEBUG in ('Y', 'C') THEN
2203 cep_standard.debug('CE_VALIDATE_CD: ' || 'cd is numeric');
2204 END IF;
2205 if (CE_VALIDATE_BANKINFO_UPG.COMPARE_ACCOUNT_NUM_AND_CD(ac_value, CD_VALUE, 1,1)) then
2206 pass_check;
2207 IF l_DEBUG in ('Y', 'C') THEN
2208 cep_standard.debug('cd_value = cal_cd');
2209 END IF;
2210 else
2211 fail_check;
2212
2213 end if;
2214 ELSE
2215 IF l_DEBUG in ('Y', 'C') THEN
2216 cep_standard.debug('failed numeric');
2217 END IF;
2218 fail_check;
2219 END IF; --numeric check
2220
2221 ELSE
2222 IF l_DEBUG in ('Y', 'C') THEN
2223 cep_standard.debug('failed length');
2224 END IF;
2225 fail_check;
2226 END IF; /* end of length check */
2227
2228 ELSE
2229 pass_check;
2230 END IF;
2231
2232 /*
2233 IF l_DEBUG in ('Y', 'C') THEN
2234 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_is');
2235 END IF;
2236 */
2237 END CE_VALIDATE_CD_IS;
2238
2239 /* -------------------------------------------------------------------- */
2240
2241 procedure CE_VALIDATE_CD_IT(Xi_CD in varchar2,
2242 Xi_PASS_MAND_CHECK in varchar2,
2243 Xi_X_BANK_NUMBER in varchar2,
2244 Xi_X_BRANCH_NUMBER in varchar2,
2245 Xi_X_ACCOUNT_NUMBER in varchar2)
2246 AS
2247 numeric_result_bk varchar2(40);
2248 numeric_result_br varchar2(40);
2249 numeric_result_cd varchar2(40);
2250 numeric_result_ac varchar2(40);
2251 CONCED_NUMBER varchar2(30);
2252 calc_value varchar2(30);
2253 calc_value1 number;
2254 calc_value2 number;
2255 calc_value3 number;
2256 cd_value varchar2(20);
2257 bk_value varchar2(30);
2258 ac_value varchar2(30);
2259 br_value varchar2(30);
2263 /**************************/
2260
2261
2262
2264 /* SUB-PROCEDURES SECTION */
2265 /**************************/
2266
2267 procedure fail_mandatory is
2268 begin
2269 IF l_DEBUG in ('Y', 'C') THEN
2270 cep_standard.debug('CD: procedure fail_mandatory CE_ENTER_CHECK_DIGIT ');
2271 END IF;
2272 fnd_message.set_name ('CE', 'CE_ENTER_CHECK_DIGIT');
2273 fnd_msg_pub.add;
2274
2275 end fail_mandatory;
2276
2277 procedure fail_check is
2278 begin
2279 IF l_DEBUG in ('Y', 'C') THEN
2280 cep_standard.debug('CD: procedure fail_check CE_INVALID_CHECK_DIGIT');
2281 END IF;
2282 fnd_message.set_name ('CE', 'CE_INVALID_CHECK_DIGIT');
2283 fnd_msg_pub.add;
2284 end fail_check;
2285
2286
2287 procedure pass_check is
2288 begin
2289 IF l_DEBUG in ('Y', 'C') THEN
2290 null;
2291 -- cep_standard.debug('CE_VALIDATE_CD: ' || 'procedure pass_check ');
2292 END IF;
2293 end pass_check;
2294
2295 function get_odd_value(odd_value_in varchar2) RETURN NUMBER
2296 IS
2297 odd_value_out number;
2298 BEGIN
2299 IF (odd_value_in in ('A', '0')) then
2300 odd_value_out := 1;
2301 ELSIF (odd_value_in in ('B', '1')) then
2302 odd_value_out := 0;
2303 ELSIF (odd_value_in in ('C', '2')) then
2304 odd_value_out := 5;
2305 ELSIF (odd_value_in in ('D', '3')) then
2306 odd_value_out := 7;
2307 ELSIF (odd_value_in in ('E', '4')) then
2308 odd_value_out := 9;
2309 ELSIF (odd_value_in in ('F', '5')) then
2310 odd_value_out := 13;
2311 ELSIF (odd_value_in in ('G', '6')) then
2312 odd_value_out := 15;
2313 ELSIF (odd_value_in in ('H', '7')) then
2314 odd_value_out := 17;
2315 ELSIF (odd_value_in in ('I', '8')) then
2316 odd_value_out := 19;
2317 ELSIF (odd_value_in in ('J', '9')) then
2318 odd_value_out := 21;
2319 ELSIF (odd_value_in = 'K') then
2320 odd_value_out := 2;
2321 ELSIF (odd_value_in = 'L') then
2322 odd_value_out := 4;
2323 ELSIF (odd_value_in = 'M') then
2324 odd_value_out := 18;
2325 ELSIF (odd_value_in = 'N') then
2326 odd_value_out := 20;
2327 ELSIF (odd_value_in = 'O') then
2328 odd_value_out := 11;
2329 ELSIF (odd_value_in = 'P') then
2330 odd_value_out := 3;
2331 ELSIF (odd_value_in = 'Q') then
2332 odd_value_out := 6;
2333 ELSIF (odd_value_in = 'R') then
2334 odd_value_out := 8;
2335 ELSIF (odd_value_in = 'S') then
2336 odd_value_out := 12;
2337 ELSIF (odd_value_in = 'T') then
2338 odd_value_out := 14;
2339 ELSIF (odd_value_in = 'U') then
2340 odd_value_out := 16;
2341 ELSIF (odd_value_in = 'V') then
2342 odd_value_out := 10;
2343 ELSIF (odd_value_in = 'W') then
2344 odd_value_out := 22;
2345 ELSIF (odd_value_in = 'X') then
2346 odd_value_out := 25;
2347 ELSIF (odd_value_in = 'Y') then
2348 odd_value_out := 24;
2349 ELSIF (odd_value_in = 'Z') then
2350 odd_value_out := 23;
2351 END IF;
2352
2353 RETURN(odd_value_out);
2354 END get_odd_value;
2355
2356 function get_even_value(even_value_in varchar2) RETURN NUMBER
2357 IS
2358 even_value_out number;
2359 BEGIN
2360 IF (even_value_in in ('A', '0')) then
2361 even_value_out := 0;
2362 ELSIF (even_value_in in ('B', '1')) then
2363 even_value_out := 1;
2364 ELSIF (even_value_in in ('C', '2')) then
2365 even_value_out := 2;
2366 ELSIF (even_value_in in ('D', '3')) then
2367 even_value_out := 3;
2368 ELSIF (even_value_in in ('E', '4')) then
2369 even_value_out := 4;
2370 ELSIF (even_value_in in ('F', '5')) then
2371 even_value_out := 5;
2372 ELSIF (even_value_in in ('G', '6')) then
2373 even_value_out := 6;
2374 ELSIF (even_value_in in ('H', '7')) then
2375 even_value_out := 7;
2376 ELSIF (even_value_in in ('I', '8')) then
2377 even_value_out := 8;
2378 ELSIF (even_value_in in ('J', '9')) then
2379 even_value_out := 9;
2380 ELSIF (even_value_in = 'K') then
2381 even_value_out := 10;
2382 ELSIF (even_value_in = 'L') then
2383 even_value_out := 11;
2384 ELSIF (even_value_in = 'M') then
2385 even_value_out := 12;
2386 ELSIF (even_value_in = 'N') then
2387 even_value_out := 13;
2388 ELSIF (even_value_in = 'O') then
2389 even_value_out := 14;
2390 ELSIF (even_value_in = 'P') then
2391 even_value_out := 15;
2392 ELSIF (even_value_in = 'Q') then
2393 even_value_out := 16;
2394 ELSIF (even_value_in = 'R') then
2395 even_value_out := 17;
2396 ELSIF (even_value_in = 'S') then
2397 even_value_out := 18;
2398 ELSIF (even_value_in = 'T') then
2399 even_value_out := 19;
2400 ELSIF (even_value_in = 'U') then
2401 even_value_out := 20;
2402 ELSIF (even_value_in = 'V') then
2403 even_value_out := 21;
2404 ELSIF (even_value_in = 'W') then
2405 even_value_out := 22;
2406 ELSIF (even_value_in = 'X') then
2407 even_value_out := 23;
2408 ELSIF (even_value_in = 'Y') then
2409 even_value_out := 24;
2410 ELSIF (even_value_in = 'Z') then
2411 even_value_out := 25;
2412 END IF;
2413
2414 RETURN(even_value_out);
2415 END get_even_value;
2416
2417 function get_result_cd(remainder_value_in number) RETURN varchar2
2418 IS
2419 remainder_value_out VARCHAR2(1);
2420 BEGIN
2421 IF (remainder_value_in = '0') then
2422 remainder_value_out := 'A';
2423 ELSIF (remainder_value_in = '1') then
2424 remainder_value_out := 'B';
2425 ELSIF (remainder_value_in = '2') then
2426 remainder_value_out := 'C';
2430 remainder_value_out := 'E';
2427 ELSIF (remainder_value_in = '3') then
2428 remainder_value_out := 'D';
2429 ELSIF (remainder_value_in = '4') then
2431 ELSIF (remainder_value_in = '5') then
2432 remainder_value_out := 'F';
2433 ELSIF (remainder_value_in = '6') then
2434 remainder_value_out := 'G';
2435 ELSIF (remainder_value_in = '7') then
2436 remainder_value_out := 'H';
2437 ELSIF (remainder_value_in = '8') then
2438 remainder_value_out := 'I';
2439 ELSIF (remainder_value_in = '9') then
2440 remainder_value_out := 'J';
2441 ELSIF (remainder_value_in = '10') then
2442 remainder_value_out := 'K';
2443 ELSIF (remainder_value_in = '11') then
2444 remainder_value_out := 'L';
2445 ELSIF (remainder_value_in = '12') then
2446 remainder_value_out := 'M';
2447 ELSIF (remainder_value_in = '13') then
2448 remainder_value_out := 'N';
2449 ELSIF (remainder_value_in = '14') then
2450 remainder_value_out := 'O';
2451 ELSIF (remainder_value_in = '15') then
2452 remainder_value_out := 'P';
2453 ELSIF (remainder_value_in = '16') then
2454 remainder_value_out := 'Q';
2455 ELSIF (remainder_value_in = '17') then
2456 remainder_value_out := 'R';
2457 ELSIF (remainder_value_in = '18') then
2458 remainder_value_out := 'S';
2459 ELSIF (remainder_value_in = '19') then
2460 remainder_value_out := 'T';
2461 ELSIF (remainder_value_in = '20') then
2462 remainder_value_out := 'U';
2463 ELSIF (remainder_value_in = '21') then
2464 remainder_value_out := 'V';
2465 ELSIF (remainder_value_in = '22') then
2466 remainder_value_out := 'W';
2467 ELSIF (remainder_value_in = '23') then
2468 remainder_value_out := 'X';
2469 ELSIF (remainder_value_in = '24') then
2470 remainder_value_out := 'Y';
2471 ELSIF (remainder_value_in = '25') then
2472 remainder_value_out := 'Z';
2473
2474 END IF;
2475
2476 RETURN(remainder_value_out);
2477 END get_result_cd;
2478
2479
2480
2481
2482 /****************/
2483 /* MAIN SECTION */
2484 /****************/
2485 BEGIN
2486
2487 IF l_DEBUG in ('Y', 'C') THEN
2488 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_it'||
2489 ' Xi_X_ACCOUNT_NUMBER: '||Xi_X_ACCOUNT_NUMBER);
2490 END IF;
2491
2492 CD_VALUE := upper(replace(Xi_CD,' ',''));
2493 bk_value := upper(replace(Xi_X_BANK_NUMBER,' ',''));
2494 br_value := upper(replace(Xi_X_BRANCH_NUMBER,' ',''));
2495 ac_value := upper(replace(Xi_X_ACCOUNT_NUMBER,' ',''));
2496
2497 ac_value := upper(ac_value);
2498
2499 IF l_DEBUG in ('Y', 'C') THEN
2500 cep_standard.debug('cd_value: '||cd_value|| ' ac_value: '||ac_value);
2501 END IF;
2502
2503 IF Xi_PASS_MAND_CHECK = 'F'
2504 then
2505 fail_mandatory;
2506
2507 ELSIF Xi_PASS_MAND_CHECK = 'P'
2508 then
2509
2510 IF length(CD_VALUE) = 1
2511 then
2512 numeric_result_bk := ce_check_numeric(bk_value,1,length(bk_value));
2513 numeric_result_br := ce_check_numeric(br_value,1,length(br_value));
2514
2515
2516 IF numeric_result_bk = '0' and numeric_result_br = '0'
2517 then
2518 /* its numeric so continue */
2519
2520
2521 CONCED_NUMBER := bk_value||br_value||ac_value;
2522
2523 IF l_DEBUG in ('Y', 'C') THEN
2524 cep_standard.debug('CONCED_NUMBER: '||CONCED_NUMBER);
2525 END IF;
2526
2527 calc_value1 := (get_odd_value(substr(conced_number,1,1)) +
2528 get_even_value(substr(conced_number,2,1)) +
2529 get_odd_value(substr(conced_number,3,1)) +
2530 get_even_value(substr(conced_number,4,1)) +
2531 get_odd_value(substr(conced_number,5,1)) +
2532 get_even_value(substr(conced_number,6,1)) +
2533 get_odd_value(substr(conced_number,7,1)) +
2534 get_even_value(substr(conced_number,8,1)) +
2535 get_odd_value(substr(conced_number,9,1)) +
2536 get_even_value(substr(conced_number,10,1)) +
2537 get_odd_value(substr(conced_number,11,1)) +
2538 get_even_value(substr(conced_number,12,1)) +
2539 get_odd_value(substr(conced_number,13,1)) +
2540 get_even_value(substr(conced_number,14,1)) +
2541 get_odd_value(substr(conced_number,15,1)) +
2542 get_even_value(substr(conced_number,16,1)) +
2543 get_odd_value(substr(conced_number,17,1)) +
2544 get_even_value(substr(conced_number,18,1)) +
2545 get_odd_value(substr(conced_number,19,1)) +
2546 get_even_value(substr(conced_number,20,1)) +
2547 get_odd_value(substr(conced_number,21,1)) +
2548 get_even_value(substr(conced_number,22,1))) ;
2549
2550
2551 IF l_DEBUG in ('Y', 'C') THEN
2552 cep_standard.debug('Bank Digit 1: '||get_odd_value(substr(conced_number,1,1))||
2553 get_even_value(substr(conced_number,2,1))||
2554 get_odd_value(substr(conced_number,3,1))||
2555 get_even_value(substr(conced_number,4,1))||
2556 get_odd_value(substr(conced_number,5,1))||
2557 ' Branch Digit 6: ' ||get_even_value(substr(conced_number,6,1))||
2558 get_odd_value(substr(conced_number,7,1))||
2559 get_even_value(substr(conced_number,8,1)) ||
2560 get_odd_value(substr(conced_number,9,1)) ||
2561 get_even_value(substr(conced_number,10,1))||
2562 ' Account Digit 11: '||get_odd_value(substr(conced_number,11,1))||
2563 get_even_value(substr(conced_number,12,1))||
2564 get_odd_value(substr(conced_number,13,1))||
2565 get_even_value(substr(conced_number,14,1))||
2566 get_odd_value(substr(conced_number,15,1)) ||
2567 get_even_value(substr(conced_number,16,1))||
2568 get_odd_value(substr(conced_number,17,1))||
2569 get_even_value(substr(conced_number,18,1))||
2570 get_odd_value(substr(conced_number,19,1))||
2574 'calc_value1: '||calc_value1);
2571 get_even_value(substr(conced_number,20,1))||
2572 get_odd_value(substr(conced_number,21,1))||
2573 get_even_value(substr(conced_number,22,1))||
2575 END IF;
2576
2577 calc_value2 := nvl(mod(calc_value1,26),0);
2578
2579 IF l_DEBUG in ('Y', 'C') THEN
2580 cep_standard.debug('calc_value2: '||calc_value2);
2581 END IF;
2582
2583
2584 calc_value := get_result_cd(calc_value2);
2585
2586 IF l_DEBUG in ('Y', 'C') THEN
2587 cep_standard.debug('calc_value: '||calc_value);
2588 END IF;
2589
2590
2591 IF calc_value = CD_VALUE
2592 then
2593 /* check digit checks out */
2594 pass_check;
2595 ELSE
2596 fail_check;
2597 IF l_DEBUG in ('Y', 'C') THEN
2598 cep_standard.debug('fail_check cd_value');
2599 END IF;
2600 END IF;
2601
2602 ELSE
2603 fail_check;
2604 IF l_DEBUG in ('Y', 'C') THEN
2605 cep_standard.debug('fail_check numeric ');
2606 END IF;
2607
2608 END IF; /* end of numeric check */
2609
2610 ELSE
2611 fail_check;
2612 IF l_DEBUG in ('Y', 'C') THEN
2613 cep_standard.debug('fail_check cd length ');
2614 END IF;
2615
2616 END IF; /* end of length check */
2617 END IF;
2618
2619 /*
2620 IF l_DEBUG in ('Y', 'C') THEN
2621 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_it');
2622 END IF;
2623 */
2624 END CE_VALIDATE_CD_IT;
2625
2626 /* -------------------------------------------------------------------- */
2627
2628
2629 procedure CE_VALIDATE_CD_LU(Xi_CD in varchar2,
2630 Xi_X_BANK_NUMBER in varchar2,
2631 Xi_X_BRANCH_NUMBER in varchar2,
2632 Xi_X_ACCOUNT_NUMBER in varchar2)
2633 --Xo_VALUE_OUT OUT NOCOPY varchar2)
2634 AS
2635 numeric_result_cd varchar2(40);
2636
2637 ACCOUNT_VALUE varchar2(30);
2638
2639 CHECK_DIGIT varchar2(2);
2640
2641 /**************************/
2642 /* SUB-PROCEDURES SECTION */
2643 /**************************/
2644
2645 procedure fail_check is
2646 begin
2647 fnd_message.set_name ('CE', 'CE_INVALID_CHECK_DIGIT');
2648 fnd_msg_pub.add;
2649 IF l_DEBUG in ('Y', 'C') THEN
2650 cep_standard.debug('CE_VALIDATE_CD_LU: ' || 'CE_INVALID_CHECK_DIGIT');
2651 END IF;
2652 end fail_check;
2653
2654 procedure pass_check is
2655 begin
2656 IF l_DEBUG in ('Y', 'C') THEN
2657 null;
2658 -- cep_standard.debug('CE_VALIDATE_CD: ' || 'pass_check');
2659 END IF;
2660 end pass_check;
2661
2662
2663 /****************/
2664 /* MAIN SECTION */
2665 /****************/
2666 BEGIN
2667 IF l_DEBUG in ('Y', 'C') THEN
2668 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_lu');
2669 END IF;
2670
2671 ACCOUNT_VALUE := lpad(Xi_X_ACCOUNT_NUMBER,12,0);
2672
2673 CHECK_DIGIT := Xi_CD;
2674
2675
2676 IF CHECK_DIGIT is not null then
2677 IF length(CHECK_DIGIT) = 2 then
2678 numeric_result_cd := ce_check_numeric(CHECK_DIGIT,1,length(CHECK_DIGIT));
2679
2680
2681 IF numeric_result_cd = '0' then
2682 pass_check;
2683
2684 /*IF MOD(account_value,97) = CHECK_DIGIT
2685 THEN pass_check;
2686
2687 ELSIF MOD(account_value,97) = 0
2688 THEN Xo_VALUE_OUT := 97;
2689 ELSE fail_check;
2690
2691 END IF;*/
2692
2693 ELSE
2694 fail_check;
2695
2696 END IF; /* end of numeric check */
2697
2698 ELSE fail_check;
2699
2700 END IF; /* end of length check */
2701
2702 ELSE
2703 pass_check;
2704
2705 END IF;
2706
2707 /*
2708 IF l_DEBUG in ('Y', 'C') THEN
2709 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_lu');
2710 END IF;
2711 */
2712 END CE_VALIDATE_CD_LU;
2713
2714 /* -------------------------------------------------------------------- */
2715
2716 procedure CE_VALIDATE_CD_SE(Xi_CD in varchar2,
2717 Xi_X_ACCOUNT_NUMBER in varchar2)
2718 AS
2719 numeric_result_cd varchar2(40);
2720
2721 calc_value number(30);
2722 cd_value varchar2(20);
2723 account_value varchar2(30);
2724
2725 /**************************/
2726 /* SUB-PROCEDURES SECTION */
2727 /**************************/
2728
2729 procedure fail_check is
2730 begin
2731 fnd_message.set_name ('CE', 'CE_INVALID_CHECK_DIGIT');
2732 fnd_msg_pub.add;
2733 IF l_DEBUG in ('Y', 'C') THEN
2734 cep_standard.debug('CE_VALIDATE_CD: ' || 'CE_INVALID_CHECK_DIGIT');
2735 END IF;
2736 end fail_check;
2737
2738 procedure pass_check is
2739 begin
2740 IF l_DEBUG in ('Y', 'C') THEN
2741 null;
2742 -- cep_standard.debug('CE_VALIDATE_CD: ' || 'pass_check');
2743 END IF;
2744 end pass_check;
2745
2746
2747 /****************/
2748 /* MAIN SECTION */
2749 /****************/
2750 BEGIN
2751 IF l_DEBUG in ('Y', 'C') THEN
2752 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_se');
2753 END IF;
2754
2755 CD_VALUE := upper(Xi_CD);
2759 IF (CD_VALUE is not null) THEN
2756 account_value := upper(replace(Xi_X_ACCOUNT_NUMBER ,' ',''));
2757 account_value := replace(account_value,'-','');
2758
2760 IF length(CD_VALUE) = 1 then
2761 numeric_result_cd := ce_check_numeric(CD_VALUE,1,length(CD_VALUE));
2762
2763 IF numeric_result_cd = '0' then
2764 pass_check;
2765 ELSE
2766 fail_check;
2767 END IF;
2768
2769 ELSE
2770 fail_check;
2771
2772 END IF; /* end of length check */
2773 ELSE
2774 pass_check;
2775 END IF;
2776 /*
2777 IF l_DEBUG in ('Y', 'C') THEN
2778 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_cd_se');
2779 END IF;
2780 */
2781 END CE_VALIDATE_CD_SE;
2782
2783 /* --------------------------------------------------------------------
2784 | PRIVATE PROCEDURE |
2785 | CE_VALIDATE_BRANCH_* |
2786 | |
2787 | CALLED BY |
2788 | CE_VALIDATE_BRANCH |
2789 | |
2790 | DESCRIPTION |
2791 | Branch PROCEDURES, Validate 1 or more of the following: |
2792 | 1. Branch number length |
2793 | 2. Branch number datatype (numeric, alphanumeric, or alphabet |
2794 | 3. Branch number Algorithm |
2795 | |
2796 | RETURN |
2797 | Xo_VALUE_OUT - Branch Number is return with leading 0 |
2798 | (Not for all countries) |
2799 --------------------------------------------------------------------- */
2800
2801
2802 procedure CE_VALIDATE_BRANCH_AT(Xi_BRANCH_NUMBER in varchar2,
2803 Xi_PASS_MAND_CHECK in varchar2,
2804 Xo_VALUE_OUT OUT NOCOPY varchar2)
2805 AS
2806 BRANCH_VALUE varchar2(30);
2807
2808 numeric_result varchar2(40);
2809
2810 /**************************/
2811 /* SUB-PROCEDURES SECTION */
2812 /**************************/
2813
2814 procedure fail_mandatory is
2815 begin
2816 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
2817 fnd_msg_pub.add;
2818 IF l_DEBUG in ('Y', 'C') THEN
2819 cep_standard.debug('CE_VALIDATE_BRANCH_AT: ' || 'CE_ENTER_BRANCH_NUM');
2820 END IF;
2821 end fail_mandatory;
2822
2823 procedure fail_check is
2824 begin
2825 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
2826 fnd_msg_pub.add;
2827 IF l_DEBUG in ('Y', 'C') THEN
2828 cep_standard.debug('CE_VALIDATE_BRANCH_AT: ' || 'CE_INVALID_BRANCH_NUM');
2829 END IF;
2830 end fail_check;
2831
2832 procedure pass_check is
2833 begin
2834 IF l_DEBUG in ('Y', 'C') THEN
2835 null;
2836 -- cep_standard.debug('CE_VALIDATE_BRANCH_AT: ' || 'pass_check');
2837 END IF;
2838 end pass_check;
2839
2840 /****************/
2841 /* MAIN SECTION */
2842 /****************/
2843 BEGIN
2844 IF l_DEBUG in ('Y', 'C') THEN
2845 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_at');
2846 END IF;
2847
2848 BRANCH_VALUE := upper(Xi_BRANCH_NUMBER );
2849 Xo_VALUE_OUT := BRANCH_VALUE;
2850
2851 IF Xi_PASS_MAND_CHECK = 'F'
2852 THEN
2853 fail_mandatory;
2854
2855 ELSIF Xi_PASS_MAND_CHECK = 'P'
2856 THEN
2857
2858 BRANCH_VALUE := replace(BRANCH_VALUE,' ','');
2859
2860 IF ( length(BRANCH_VALUE) < 6 ) THEN
2861
2862 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
2863
2864 IF (numeric_result = '0' and length(BRANCH_VALUE) = 5 ) THEN
2865 /* its numeric so continue */
2866 Xo_VALUE_OUT := BRANCH_VALUE;
2867 pass_check;
2868 ELSE
2869 fail_check;
2870
2871 END IF; /* end of numeric check */
2872
2873 ELSE
2874 fail_check;
2875
2876 END IF; /* end of length check */
2877
2878 END IF; /* end of mandatory check */
2879 /*
2880 IF l_DEBUG in ('Y', 'C') THEN
2881 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_at');
2882 END IF;
2883 */
2884 END CE_VALIDATE_BRANCH_AT;
2885
2886 /**************** End of Procedure CE_VALIDATE_BRANCH_AT ***********/
2887
2888 procedure CE_VALIDATE_BRANCH_PT(Xi_BRANCH_NUMBER in varchar2,
2889 Xi_PASS_MAND_CHECK in varchar2)
2890 AS
2891 BRANCH_VALUE varchar2(30);
2892 numeric_result varchar2(40);
2893
2894 /**************************/
2895 /* SUB-PROCEDURES SECTION */
2896 /**************************/
2897
2898 procedure fail_mandatory is
2899 begin
2900 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
2901 fnd_msg_pub.add;
2902 IF l_DEBUG in ('Y', 'C') THEN
2903 cep_standard.debug('CE_VALIDATE_BRANCH_PT: ' || 'CE_INVALID_BRANCH_NUM');
2904 END IF;
2905 end fail_mandatory;
2906
2907 procedure fail_check is
2908 begin
2909 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
2910 fnd_msg_pub.add;
2911 IF l_DEBUG in ('Y', 'C') THEN
2915
2912 cep_standard.debug('CE_VALIDATE_BRANCH_PT: ' || 'CE_INVALID_BRANCH_NUM');
2913 END IF;
2914 end fail_check;
2916 procedure pass_check is
2917 begin
2918 IF l_DEBUG in ('Y', 'C') THEN
2919 null;
2920 -- cep_standard.debug('CE_VALIDATE_BRANCH_PT: ' || 'pass_check');
2921 END IF;
2922 end pass_check;
2923
2924 /****************/
2925 /* MAIN SECTION */
2926 /****************/
2927 BEGIN
2928 IF l_DEBUG in ('Y', 'C') THEN
2929 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_pt');
2930 END IF;
2931
2932 BRANCH_VALUE := upper(Xi_BRANCH_NUMBER );
2933
2934 IF Xi_PASS_MAND_CHECK = 'F'
2935 then
2936 fail_mandatory;
2937
2938 ELSIF Xi_PASS_MAND_CHECK = 'P'
2939 then
2940
2941 BRANCH_VALUE := replace(BRANCH_VALUE,' ','');
2942
2943 IF length(BRANCH_VALUE) = 4
2944 then
2945 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
2946
2947 IF numeric_result = '0'
2948 then /* its numeric so continue */
2949 pass_check;
2950 ELSE
2951 fail_check;
2952
2953 END IF; /* end of numeric check */
2954
2955 ELSE
2956 fail_check;
2957
2958 END IF; /* end of length check */
2959 END IF; /* end of mandatory check */
2960 /*
2961 IF l_DEBUG in ('Y', 'C') THEN
2962 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_pt');
2963 END IF;
2964 */
2965 END CE_VALIDATE_BRANCH_PT;
2966
2967 /**************** End of Procedure CE_VALIDATE_BRANCH_PT ***********/
2968
2969
2970 procedure CE_VALIDATE_BRANCH_FR(Xi_BRANCH_NUMBER in varchar2,
2971 Xi_PASS_MAND_CHECK in varchar2,
2972 Xo_VALUE_OUT OUT NOCOPY varchar2)
2973 AS
2974 BRANCH_VALUE varchar2(30);
2975
2976 numeric_result varchar2(40);
2977
2978 /**************************/
2979 /* SUB-PROCEDURES SECTION */
2980 /**************************/
2981
2982 procedure fail_mandatory is
2983 begin
2984 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
2985 fnd_msg_pub.add;
2986 end fail_mandatory;
2987
2988 procedure fail_check is
2989 begin
2990 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
2991 fnd_msg_pub.add;
2992 end fail_check;
2993
2994 procedure pass_check is
2995 begin
2996 IF l_DEBUG in ('Y', 'C') THEN
2997 null;
2998 -- cep_standard.debug('CE_VALIDATE_BRANCH_FR: ' || 'pass_check');
2999 END IF;
3000
3001 end pass_check;
3002
3003 /****************/
3004 /* MAIN SECTION */
3005 /****************/
3006 BEGIN
3007 IF l_DEBUG in ('Y', 'C') THEN
3008 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_fr');
3009 END IF;
3010
3011 BRANCH_VALUE := upper(Xi_BRANCH_NUMBER );
3012 Xo_VALUE_OUT := BRANCH_VALUE;
3013
3014 IF Xi_PASS_MAND_CHECK = 'F'
3015 then
3016 fail_mandatory;
3017
3018 ELSIF Xi_PASS_MAND_CHECK = 'P'
3019 then
3020
3021 BRANCH_VALUE := replace(BRANCH_VALUE,' ','');
3022
3023 IF length(BRANCH_VALUE) < 6
3024 then
3025 BRANCH_VALUE := lpad(BRANCH_VALUE,5,0);
3026 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
3027
3028 IF numeric_result = '0'
3029 then
3030 /* its numeric so continue */
3031 Xo_VALUE_OUT := BRANCH_VALUE;
3032 pass_check;
3033 ELSE
3034 fail_check;
3035
3036 END IF; /* end of numeric check */
3037
3038 ELSE
3039 fail_check;
3040
3041 END IF; /* end of length check */
3042 END IF; /* end of mandatory check */
3043 /*
3044 IF l_DEBUG in ('Y', 'C') THEN
3045 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_fr');
3046 END IF;
3047 */
3048 END CE_VALIDATE_BRANCH_FR;
3049
3050
3051 /**************** End of Procedure CE_VALIDATE_BRANCH_FR ***********/
3052
3053 procedure CE_VALIDATE_BRANCH_ES (Xi_BRANCH_NUMBER in varchar2,
3054 Xi_PASS_MAND_CHECK in varchar2,
3055 Xo_VALUE_OUT OUT NOCOPY varchar2)
3056 AS
3057 BRANCH_VALUE varchar2(30);
3058
3059 numeric_result varchar2(40);
3060
3061 /**************************/
3062 /* SUB-PROCEDURES SECTION */
3063 /**************************/
3064
3065 /*Bug Fix:880887*/
3066 /*Changed the Xo_RET_VAR='F' to 'W' ,in 'fail_mandatory' and 'fail_check'*/
3067 /*so that a warning message is displayed*/
3068 /*for spain instead of Error message*/
3069 procedure fail_mandatory is
3070 begin
3071 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
3072 fnd_msg_pub.add;
3073 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
3074
3075 end fail_mandatory;
3076
3077 procedure fail_check is
3078 begin
3079 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3080 fnd_msg_pub.add;
3081 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
3082
3083 end fail_check;
3084
3085 procedure pass_check is
3086 begin
3087
3088 IF l_DEBUG in ('Y', 'C') THEN
3089 null;
3090 -- cep_standard.debug('CE_VALIDATE_BRANCH_ES: ' || 'pass_check');
3091 END IF;
3092 end pass_check;
3093
3097 BEGIN
3094 /****************/
3095 /* MAIN SECTION */
3096 /****************/
3098 IF l_DEBUG in ('Y', 'C') THEN
3099 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_es');
3100 END IF;
3101
3102 BRANCH_VALUE := upper(Xi_BRANCH_NUMBER );
3103 Xo_VALUE_OUT := BRANCH_VALUE;
3104
3105 IF Xi_PASS_MAND_CHECK = 'F'
3106 then
3107 fail_mandatory;
3108
3109 ELSIF Xi_PASS_MAND_CHECK = 'P'
3110 then
3111
3112 BRANCH_VALUE := replace(BRANCH_VALUE,' ','');
3113
3114 IF length(BRANCH_VALUE) < 5
3115 then
3116 BRANCH_VALUE := lpad(BRANCH_VALUE,4,0);
3117 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
3118
3119 IF numeric_result = '0'
3120 then
3121 /* its numeric so continue */
3122 Xo_VALUE_OUT := BRANCH_VALUE;
3123 pass_check;
3124 ELSE
3125 fail_check;
3126
3127 END IF; /* end of numeric check */
3128
3129 ELSE
3130 fail_check;
3131
3132 END IF; /* end of length check */
3133 END IF; /* end of mandatory check */
3134 /*
3135 IF l_DEBUG in ('Y', 'C') THEN
3136 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_es');
3137 END IF;
3138 */
3139 END CE_VALIDATE_BRANCH_ES;
3140
3141
3142 /**************** End of Procedure CE_VALIDATE_BRANCH_ES ***********/
3143
3144
3145
3146 procedure CE_VALIDATE_BRANCH_BR(Xi_BRANCH_NUMBER in varchar2,
3147 Xi_PASS_MAND_CHECK in varchar2,
3148 Xo_VALUE_OUT OUT NOCOPY varchar2)
3149 AS
3150 BRANCH_VALUE varchar2(30);
3151
3152 numeric_result varchar2(40);
3153
3154 /**************************/
3155 /* SUB-PROCEDURES SECTION */
3156 /**************************/
3157
3158 procedure fail_mandatory is
3159 begin
3160 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
3161 fnd_msg_pub.add;
3162 end fail_mandatory;
3163
3164 procedure fail_check is
3165 begin
3166 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3167 fnd_msg_pub.add;
3168 end fail_check;
3169
3170 procedure pass_check is
3171 begin
3172
3173 IF l_DEBUG in ('Y', 'C') THEN
3174 null;
3175 -- cep_standard.debug('CE_VALIDATE_BRANCH_BR: ' || 'pass_check');
3176 END IF;
3177 end pass_check;
3178
3179 /****************/
3180 /* MAIN SECTION */
3181 /****************/
3182 BEGIN
3183 IF l_DEBUG in ('Y', 'C') THEN
3184 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_br');
3185 END IF;
3186
3187 BRANCH_VALUE := upper(Xi_BRANCH_NUMBER );
3188 Xo_VALUE_OUT := BRANCH_VALUE;
3189
3190 IF Xi_PASS_MAND_CHECK = 'F'
3191 then
3192 fail_mandatory;
3193
3194 ELSIF Xi_PASS_MAND_CHECK = 'P'
3195 then
3196
3197 BRANCH_VALUE := replace(BRANCH_VALUE,' ','');
3198
3199 IF length(BRANCH_VALUE) < 6
3200 then
3201 BRANCH_VALUE := lpad(BRANCH_VALUE,5,0);
3202 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
3203
3204 IF numeric_result = '0'
3205 then
3206 /* its numeric so continue */
3207 Xo_VALUE_OUT := BRANCH_VALUE;
3208 pass_check;
3209 ELSE
3210 fail_check;
3211
3212 END IF; /* end of numeric check for branch */
3213
3214 ELSE
3215 fail_check;
3216
3217 END IF; /* end of length check for branch */
3218
3219 END IF; /* end of mandatory check */
3220 /*
3221 IF l_DEBUG in ('Y', 'C') THEN
3222 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_br');
3223 END IF;
3224 */
3225 END CE_VALIDATE_BRANCH_BR;
3226
3227 /**************** End of Procedure CE_VALIDATE_BRANCH_BR ***********/
3228
3229 -- new branch validations 5/14/02
3230
3231 procedure CE_VALIDATE_BRANCH_DE(Xi_BRANCH_NUMBER in varchar2,
3232 Xi_BANK_ID in NUMBER)
3233 AS
3234 BRANCH_NUM varchar2(30);
3235 numeric_result varchar2(40);
3236
3237 /**************************/
3238 /* SUB-PROCEDURES SECTION */
3239 /**************************/
3240
3241 procedure fail_check is
3242 begin
3243 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3244 fnd_msg_pub.add;
3245 IF l_DEBUG in ('Y', 'C') THEN
3246 cep_standard.debug('CE_VALIDATE_BRANCH_DE: ' || 'CE_INVALID_BRANCH_NUM');
3247 END IF;
3248
3249 end fail_check;
3250
3251 procedure pass_check is
3252 begin
3253
3254 IF l_DEBUG in ('Y', 'C') THEN
3255 null;
3256 -- cep_standard.debug('CE_VALIDATE_BRANCH_DE: ' || 'pass_check');
3257 END IF;
3258 end pass_check;
3259
3260 /****************/
3261 /* MAIN SECTION */
3262 /****************/
3263 BEGIN
3264 IF l_DEBUG in ('Y', 'C') THEN
3265 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_de');
3266 END IF;
3267
3268 BRANCH_NUM := upper(replace(Xi_BRANCH_NUMBER,' ',''));
3269
3270 BRANCH_NUM := replace(BRANCH_NUM,'-','');
3271
3272 IF (BRANCH_NUM) is not null then
3273 IF length(BRANCH_NUM) = 8 then
3277 -- Bank number and branch number should be the same
3274 numeric_result := ce_check_numeric(BRANCH_NUM,1,length(BRANCH_NUM));
3275
3276 IF numeric_result = '0' then /* its numeric so continue */
3278
3279 CE_VALIDATE_BANKINFO_UPG.COMPARE_BANK_AND_BRANCH_NUM(branch_num, Xi_BANK_ID);
3280
3281 ELSE
3282 fail_check;
3283 END IF; /* end of numeric check */
3284 ELSE
3285 IF l_DEBUG in ('Y', 'C') THEN
3286 cep_standard.debug('ce_validate_branch_de - length <>8');
3287 END IF;
3288 fail_check;
3289
3290 END IF; /* end of length check */
3291
3292 ELSE
3293 pass_check;
3294
3295 END IF;
3296
3297 IF l_DEBUG in ('Y', 'C') THEN
3298 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_de');
3299 END IF;
3300
3301 END CE_VALIDATE_BRANCH_DE;
3302
3303 /* -------------------------------------------------------------------- */
3304
3305 procedure CE_VALIDATE_BRANCH_GR(Xi_BRANCH_NUMBER in varchar2)
3306 AS
3307 BRANCH_VALUE varchar2(30);
3308
3309 numeric_result varchar2(40);
3310
3311 /**************************/
3312 /* SUB-PROCEDURES SECTION */
3313 /**************************/
3314
3315 procedure fail_check is
3316 begin
3317 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3318 fnd_msg_pub.add;
3319 IF l_DEBUG in ('Y', 'C') THEN
3320 cep_standard.debug('CE_VALIDATE_BRANCH_GR: ' || 'CE_INVALID_BRANCH_NUM');
3321 END IF;
3322 end fail_check;
3323
3324 procedure pass_check is
3325 begin
3326
3327 IF l_DEBUG in ('Y', 'C') THEN
3328 null;
3329 -- cep_standard.debug('CE_VALIDATE_BRANCH_GR: ' || 'pass_check');
3330 END IF;
3331 end pass_check;
3332
3333 /****************/
3334 /* MAIN SECTION */
3335 /****************/
3336 BEGIN
3337 IF l_DEBUG in ('Y', 'C') THEN
3338 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_gr');
3339 END IF;
3340
3341 BRANCH_VALUE := upper(replace(Xi_BRANCH_NUMBER,' ',''));
3342
3343 BRANCH_VALUE := replace(BRANCH_VALUE,'-','');
3344
3345 IF (BRANCH_VALUE) is not null then
3346
3347 IF length(BRANCH_VALUE) < 5 then
3348 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
3349
3350 IF numeric_result = '0' then /* its numeric so continue */
3351 pass_check;
3352 ELSE
3353 IF l_DEBUG in ('Y', 'C') THEN
3354 cep_standard.debug('branch_gr failed numeric check');
3355 END IF;
3356 fail_check;
3357
3358 END IF; /* end of numeric check */
3359
3360 ELSE
3361 IF l_DEBUG in ('Y', 'C') THEN
3362 cep_standard.debug('branch_gr failed length of branch_value < 5');
3363 END IF;
3364 fail_check;
3365
3366 END IF; /* end of length check */
3367
3368 ELSE
3369
3370 pass_check;
3371
3372 END IF;
3373 /*
3374 IF l_DEBUG in ('Y', 'C') THEN
3375 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_gr');
3376 END IF;
3377 */
3378 END CE_VALIDATE_BRANCH_GR;
3379
3380 /* -------------------------------------------------------------------- */
3381
3382 procedure CE_VALIDATE_BRANCH_IS(Xi_BRANCH_NUMBER in varchar2,
3383 Xi_BANK_ID in NUMBER,
3384 Xo_VALUE_OUT OUT NOCOPY varchar2)
3385 AS
3386 BRANCH_NUM varchar2(60);
3387 numeric_result varchar2(40);
3388
3389 /**************************/
3390 /* SUB-PROCEDURES SECTION */
3391 /**************************/
3392
3393 procedure fail_check is
3394 begin
3395 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3396 fnd_msg_pub.add;
3397 IF l_DEBUG in ('Y', 'C') THEN
3398 cep_standard.debug('CE_VALIDATE_BRANCH_IS: ' || 'CE_INVALID_BRANCH_NUM');
3399 END IF;
3400
3401 end fail_check;
3402
3403 procedure pass_check is
3404 begin
3405
3406 IF l_DEBUG in ('Y', 'C') THEN
3407 null;
3408 -- cep_standard.debug('CE_VALIDATE_BRANCH_IS: ' || 'pass_check');
3409 END IF;
3410 end pass_check;
3411
3412 /****************/
3413 /* MAIN SECTION */
3414 /****************/
3415 BEGIN
3416 IF l_DEBUG in ('Y', 'C') THEN
3417 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_is');
3418 END IF;
3419
3420 BRANCH_NUM := upper(replace(Xi_BRANCH_NUMBER,' ',''));
3421
3422 BRANCH_NUM := replace(BRANCH_NUM,'-','');
3423
3424 IF (BRANCH_NUM) is not null then
3425 IF length(BRANCH_NUM) < 5 then
3426 numeric_result := ce_check_numeric(BRANCH_NUM,1,length(BRANCH_NUM));
3427
3428 IF numeric_result = '0' then /* its numeric so continue */
3429 -- Bank number and branch number should be the same
3430
3431 Xo_value_out := lpad(BRANCH_NUM,4,0);
3432 BRANCH_NUM := lpad(BRANCH_NUM,4,0);
3433
3434 CE_VALIDATE_BANKINFO_UPG.COMPARE_BANK_AND_BRANCH_NUM(branch_num, Xi_BANK_ID);
3435
3436 ELSE
3437 IF l_DEBUG in ('Y', 'C') THEN
3438 cep_standard.debug('branch_is fail numeric check');
3439 END IF;
3440 fail_check;
3441 END IF; /* end of numeric check */
3442 ELSE
3443 IF l_DEBUG in ('Y', 'C') THEN
3444 cep_standard.debug('branch_is fail check for length < 5');
3445 END IF;
3446 fail_check;
3447
3451 pass_check;
3448 END IF; /* end of numeric check */
3449
3450 ELSE
3452
3453 END IF; /* end of length check */
3454
3455 /*
3456 IF l_DEBUG in ('Y', 'C') THEN
3457 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_is');
3458 END IF;
3459 */
3460 END CE_VALIDATE_BRANCH_IS;
3461
3462 /* -------------------------------------------------------------------- */
3463
3464 procedure CE_VALIDATE_BRANCH_IE(Xi_BRANCH_NUMBER in varchar2,
3465 Xi_BANK_ID in NUMBER)
3466 AS
3467 BRANCH_NUM varchar2(60);
3468 numeric_result varchar2(40);
3469
3470 /**************************/
3471 /* SUB-PROCEDURES SECTION */
3472 /**************************/
3473
3474 procedure fail_check is
3475 begin
3476 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3477 fnd_msg_pub.add;
3478 IF l_DEBUG in ('Y', 'C') THEN
3479 cep_standard.debug('CE_VALIDATE_BRANCH_IE: ' || 'CE_INVALID_BRANCH_NUM');
3480 END IF;
3481
3482 end fail_check;
3483
3484 procedure pass_check is
3485 begin
3486
3487 IF l_DEBUG in ('Y', 'C') THEN
3488 null;
3489 -- cep_standard.debug('CE_VALIDATE_BRANCH_IE: ' || 'pass_check');
3490 END IF;
3491 end pass_check;
3492
3493 /****************/
3494 /* MAIN SECTION */
3495 /****************/
3496 BEGIN
3497 IF l_DEBUG in ('Y', 'C') THEN
3498 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_ie');
3499 END IF;
3500
3501 BRANCH_NUM := upper(replace(Xi_BRANCH_NUMBER,' ',''));
3502
3503 BRANCH_NUM := replace(BRANCH_NUM,'-','');
3504
3505 IF (BRANCH_NUM) is not null then
3506 IF length(BRANCH_NUM) = 8 then
3507 numeric_result := ce_check_numeric(BRANCH_NUM,1,length(BRANCH_NUM));
3508
3509 IF numeric_result = '0' then /* its numeric so continue */
3510 -- Bank number and branch number should be the same
3511
3512 CE_VALIDATE_BANKINFO_UPG.COMPARE_BANK_AND_BRANCH_NUM(branch_num, Xi_BANK_ID);
3513
3514 ELSE
3515 fail_check;
3516 END IF; /* end of numeric check */
3517 ELSE
3518 fail_check;
3519
3520 END IF; /* end of length check */
3521
3522 ELSE
3523 pass_check;
3524
3525 END IF;
3526
3527 /*
3528 IF l_DEBUG in ('Y', 'C') THEN
3529 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_ie');
3530 END IF;
3531 */
3532 END CE_VALIDATE_BRANCH_IE;
3533
3534 /* -------------------------------------------------------------------- */
3535
3536 procedure CE_VALIDATE_BRANCH_IT(Xi_BRANCH_NUMBER in varchar2,
3537 Xi_PASS_MAND_CHECK in varchar2)
3538 AS
3539 BRANCH_VALUE varchar2(30);
3540
3541 numeric_result varchar2(40);
3542
3543 /**************************/
3544 /* SUB-PROCEDURES SECTION */
3545 /**************************/
3546
3547 procedure fail_mandatory is
3548 begin
3549 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
3550 fnd_msg_pub.add;
3551 IF l_DEBUG in ('Y', 'C') THEN
3552 cep_standard.debug('CE_VALIDATE_BRANCH_IT: ' || 'CE_ENTER_BRANCH_NUM');
3553 END IF;
3554 end fail_mandatory;
3555
3556 procedure fail_check is
3557 begin
3558 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3559 fnd_msg_pub.add;
3560 IF l_DEBUG in ('Y', 'C') THEN
3561 cep_standard.debug('CE_VALIDATE_BRANCH_IT: ' || 'CE_INVALID_BRANCH_NUM');
3562 END IF;
3563 end fail_check;
3564
3565 procedure pass_check is
3566 begin
3567
3568 IF l_DEBUG in ('Y', 'C') THEN
3569 null;
3570 -- cep_standard.debug('CE_VALIDATE_BRANCH_IT: ' || 'pass_check');
3571 END IF;
3572 end pass_check;
3573
3574 /****************/
3575 /* MAIN SECTION */
3576 /****************/
3577 BEGIN
3578 IF l_DEBUG in ('Y', 'C') THEN
3579 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_it');
3580 END IF;
3581
3582 BRANCH_VALUE := upper(replace(Xi_BRANCH_NUMBER,' ',''));
3583
3584 BRANCH_VALUE := replace(BRANCH_VALUE,'-','');
3585
3586
3587 IF Xi_PASS_MAND_CHECK = 'F'
3588 then
3589 fail_mandatory;
3590
3591 ELSIF Xi_PASS_MAND_CHECK = 'P'
3592 then
3593
3594 IF length(BRANCH_VALUE) = 5
3595 then
3596
3597 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
3598
3599 IF numeric_result = '0'
3600 then
3601 /* its numeric so continue */
3602
3603 pass_check;
3604 ELSE
3605 fail_check;
3606
3607 END IF; /* end of numeric check */
3608
3609 ELSE
3610 fail_check;
3611
3612 END IF; /* end of length check */
3613 END IF; /* end of mandatory check */
3614 /*
3615 IF l_DEBUG in ('Y', 'C') THEN
3616 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_it');
3617 END IF;
3618 */
3619 END CE_VALIDATE_BRANCH_IT;
3620
3621 /* -------------------------------------------------------------------- */
3622
3623 procedure CE_VALIDATE_BRANCH_LU(Xi_BRANCH_NUMBER in varchar2,
3624 Xi_BANK_ID in NUMBER)
3625 AS
3626 BRANCH_NUM varchar2(60);
3627 numeric_result varchar2(40);
3628
3632
3629 /**************************/
3630 /* SUB-PROCEDURES SECTION */
3631 /**************************/
3633 procedure fail_check is
3634 begin
3635 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3636 fnd_msg_pub.add;
3637 IF l_DEBUG in ('Y', 'C') THEN
3638 cep_standard.debug('CE_VALIDATE_BRANCH_LU: ' || 'CE_INVALID_BRANCH_NUM');
3639 END IF;
3640
3641 end fail_check;
3642
3643 procedure pass_check is
3644 begin
3645
3646 IF l_DEBUG in ('Y', 'C') THEN
3647 null;
3648 -- cep_standard.debug('CE_VALIDATE_BRANCH_LU: ' || 'pass_check');
3649 END IF;
3650 end pass_check;
3651
3652 /****************/
3653 /* MAIN SECTION */
3654 /****************/
3655 BEGIN
3656 IF l_DEBUG in ('Y', 'C') THEN
3657 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_lu');
3658 END IF;
3659
3660 BRANCH_NUM := upper(replace(Xi_BRANCH_NUMBER,' ',''));
3661
3662 BRANCH_NUM := replace(BRANCH_NUM,'-','');
3663
3664 IF (BRANCH_NUM) is not null then
3665 IF length(BRANCH_NUM) = 2 then
3666 numeric_result := ce_check_numeric(BRANCH_NUM,1,length(BRANCH_NUM));
3667
3668 IF numeric_result = '0' then /* its numeric so continue */
3669 -- Bank number and branch number should be the same
3670
3671 CE_VALIDATE_BANKINFO_UPG.COMPARE_BANK_AND_BRANCH_NUM(branch_num, Xi_BANK_ID);
3672
3673 ELSE
3674 fail_check;
3675 END IF; /* end of numeric check */
3676 ELSE
3677 fail_check;
3678
3679 END IF; /* end of length check */
3680
3681 ELSE
3682 pass_check;
3683
3684 END IF;
3685
3686 /*
3687 IF l_DEBUG in ('Y', 'C') THEN
3688 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_lu');
3689 END IF;
3690 */
3691
3692 END CE_VALIDATE_BRANCH_LU;
3693
3694 /* -------------------------------------------------------------------- */
3695
3696 procedure CE_VALIDATE_BRANCH_PL(Xi_BRANCH_NUMBER in varchar2,
3697 Xi_BANK_ID in NUMBER)
3698 AS
3699 BRANCH_NUM varchar2(60);
3700 numeric_result varchar2(40);
3701 cal_cd1 number;
3702
3703 /**************************/
3704 /* SUB-PROCEDURES SECTION */
3705 /**************************/
3706
3707 procedure fail_check is
3708 begin
3709 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3710 fnd_msg_pub.add;
3711 IF l_DEBUG in ('Y', 'C') THEN
3712 cep_standard.debug('CE_VALIDATE_BRANCH_PL: ' || 'CE_INVALID_BRANCH_NUM');
3713 END IF;
3714
3715 end fail_check;
3716
3717
3718 procedure pass_check is
3719 begin
3720
3721 IF l_DEBUG in ('Y', 'C') THEN
3722 null;
3723 -- cep_standard.debug('CE_VALIDATE_BRANCH_PL: ' || 'pass_check');
3724 END IF;
3725 end pass_check;
3726
3727 /****************/
3728 /* MAIN SECTION */
3729 /****************/
3730 BEGIN
3731 IF l_DEBUG in ('Y', 'C') THEN
3732 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_pl');
3733 END IF;
3734
3735 BRANCH_NUM := upper(replace(Xi_BRANCH_NUMBER,' ',''));
3736
3737 BRANCH_NUM := replace(BRANCH_NUM,'-','');
3738
3739
3740 IF (BRANCH_NUM) is not null then
3741 IF length(BRANCH_NUM) = 8 then
3742 numeric_result := ce_check_numeric(BRANCH_NUM,1,length(BRANCH_NUM));
3743
3744 IF numeric_result = '0' then /* its numeric so continue */
3745 -- Bank number and branch number should be the same
3746
3747 CE_VALIDATE_BANKINFO_UPG.COMPARE_BANK_AND_BRANCH_NUM(branch_num, Xi_BANK_ID);
3748
3749 -- Modulus 10
3750
3751 cal_cd1 := 10 - mod(((to_number(substr(BRANCH_NUM,1,1)) * 1)
3752 +(to_number(substr(BRANCH_NUM,2,1)) * 7)
3753 +(to_number(substr(BRANCH_NUM,3,1)) * 9)
3754 +(to_number(substr(BRANCH_NUM,4,1)) * 3)
3755 +(to_number(substr(BRANCH_NUM,5,1)) * 1)
3756 +(to_number(substr(BRANCH_NUM,6,1)) * 7)
3757 +(to_number(substr(BRANCH_NUM,7,1)) * 9)),10);
3758
3759 IF l_DEBUG in ('Y', 'C') THEN
3760 cep_standard.debug('cal_cd1: ' || cal_cd1);
3761 END IF;
3762
3763 IF cal_cd1 = substr(BRANCH_NUM,8,1) then
3764 pass_check;
3765 else
3766 fail_check;
3767 end if;
3768 ELSE
3769 fail_check;
3770 END IF; /* end of numeric check */
3771 ELSE
3772 fail_check;
3773
3774 END IF; /* end of length check */
3775
3776 ELSE
3777 pass_check;
3778
3779 END IF;
3780
3781 /*
3782 IF l_DEBUG in ('Y', 'C') THEN
3783 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_pl');
3784 END IF;
3785 */
3786 END CE_VALIDATE_BRANCH_PL;
3787
3788 /* -------------------------------------------------------------------- */
3789
3790 procedure CE_VALIDATE_BRANCH_SE(Xi_BRANCH_NUMBER in varchar2,
3791 Xi_BANK_ID in NUMBER)
3792 AS
3793 BRANCH_NUM varchar2(60);
3794 numeric_result varchar2(40);
3795
3796 /**************************/
3797 /* SUB-PROCEDURES SECTION */
3798 /**************************/
3799
3800 procedure fail_check is
3801 begin
3805 cep_standard.debug('CE_VALIDATE_BRANCH_SE: ' || 'CE_INVALID_BRANCH_NUM');
3802 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3803 fnd_msg_pub.add;
3804 IF l_DEBUG in ('Y', 'C') THEN
3806 END IF;
3807
3808 end fail_check;
3809
3810 procedure pass_check is
3811 begin
3812
3813 IF l_DEBUG in ('Y', 'C') THEN
3814 null;
3815 -- cep_standard.debug('CE_VALIDATE_BRANCH_SE: ' || 'pass_check');
3816 END IF;
3817 end pass_check;
3818
3819 /****************/
3820 /* MAIN SECTION */
3821 /****************/
3822 BEGIN
3823 IF l_DEBUG in ('Y', 'C') THEN
3824 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_se');
3825 END IF;
3826
3827 BRANCH_NUM := upper(replace(Xi_BRANCH_NUMBER,' ',''));
3828
3829 BRANCH_NUM := replace(BRANCH_NUM,'-','');
3830
3831 IF (BRANCH_NUM) is not null then
3832 IF ((length(BRANCH_NUM) = 4) or (length(BRANCH_NUM) = 5)) then
3833 numeric_result := ce_check_numeric(BRANCH_NUM,1,length(BRANCH_NUM));
3834
3835 IF numeric_result = '0' then /* its numeric so continue */
3836 -- Bank number and branch number should be the same
3837
3838 CE_VALIDATE_BANKINFO_UPG.COMPARE_BANK_AND_BRANCH_NUM(branch_num, Xi_BANK_ID);
3839
3840 ELSE
3841 fail_check;
3842 END IF; /* end of numeric check */
3843 ELSE
3844 fail_check;
3845
3846 END IF; /* end of length check */
3847
3848 ELSE
3849 pass_check;
3850
3851 END IF;
3852 /*
3853 IF l_DEBUG in ('Y', 'C') THEN
3854 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_se');
3855 END IF;
3856 */
3857
3858 END CE_VALIDATE_BRANCH_SE;
3859
3860
3861 /* -------------------------------------------------------------------- */
3862
3863 procedure CE_VALIDATE_BRANCH_CH(Xi_BRANCH_NUMBER in varchar2,
3864 Xi_BANK_ID in NUMBER)
3865 AS
3866 BRANCH_NUM varchar2(60);
3867 numeric_result varchar2(40);
3868
3869 /**************************/
3870 /* SUB-PROCEDURES SECTION */
3871 /**************************/
3872
3873 procedure fail_check is
3874 begin
3875 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3876 fnd_msg_pub.add;
3877 IF l_DEBUG in ('Y', 'C') THEN
3878 cep_standard.debug('CE_VALIDATE_BRANCH_CH: ' || 'CE_INVALID_BRANCH_NUM');
3879 END IF;
3880
3881 end fail_check;
3882
3883 procedure pass_check is
3884 begin
3885
3886 IF l_DEBUG in ('Y', 'C') THEN
3887 null;
3888 -- cep_standard.debug('CE_VALIDATE_BRANCH_CH: ' || 'pass_check');
3889 END IF;
3890 end pass_check;
3891
3892 /****************/
3893 /* MAIN SECTION */
3894 /****************/
3895 BEGIN
3896 IF l_DEBUG in ('Y', 'C') THEN
3897 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_ch');
3898 END IF;
3899
3900 BRANCH_NUM := upper(replace(Xi_BRANCH_NUMBER,' ',''));
3901
3902 BRANCH_NUM := replace(BRANCH_NUM,'-','');
3903
3904 IF (BRANCH_NUM) is not null then
3905 IF ((length(BRANCH_NUM) > 2) and (length(BRANCH_NUM) < 6)) then
3906 numeric_result := ce_check_numeric(BRANCH_NUM,1,length(BRANCH_NUM));
3907
3908 IF numeric_result = '0' then /* its numeric so continue */
3909 -- Bank number and branch number should be the same
3910
3911 CE_VALIDATE_BANKINFO_UPG.COMPARE_BANK_AND_BRANCH_NUM(branch_num, Xi_BANK_ID);
3912
3913 ELSE
3914 IF l_DEBUG in ('Y', 'C') THEN
3915 cep_standard.debug('ce_validate_branch_ch fail numeric check');
3916 END IF;
3917 fail_check;
3918 END IF; /* end of numeric check */
3919 ELSE
3920 IF l_DEBUG in ('Y', 'C') THEN
3921 cep_standard.debug('ce_validate_branch_ch fail length');
3922 END IF;
3923 fail_check;
3924
3925 END IF; /* end of length check */
3926
3927 ELSE
3928 pass_check;
3929
3930 END IF;
3931 /*
3932 IF l_DEBUG in ('Y', 'C') THEN
3933 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_ch');
3934 END IF;
3935 */
3936
3937 END CE_VALIDATE_BRANCH_CH;
3938
3939 /* -------------------------------------------------------------------- */
3940
3941 procedure CE_VALIDATE_BRANCH_GB(Xi_BRANCH_NUMBER in varchar2,
3942 Xi_BANK_ID in NUMBER)
3943 AS
3944 BRANCH_NUM varchar2(60);
3945 numeric_result varchar2(40);
3946
3947 /**************************/
3948 /* SUB-PROCEDURES SECTION */
3949 /**************************/
3950
3951 procedure fail_check is
3952 begin
3953 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
3954 fnd_msg_pub.add;
3955 IF l_DEBUG in ('Y', 'C') THEN
3956 cep_standard.debug('CE_VALIDATE_BRANCH_GB: ' || 'CE_INVALID_BRANCH_NUM');
3957 END IF;
3958
3959 end fail_check;
3960
3961 procedure pass_check is
3962 begin
3963
3964 IF l_DEBUG in ('Y', 'C') THEN
3965 null;
3966 -- cep_standard.debug('CE_VALIDATE_BRANCH_GB: ' || 'pass_check');
3967 END IF;
3968 end pass_check;
3969
3970 /****************/
3971 /* MAIN SECTION */
3972 /****************/
3973 BEGIN
3974 IF l_DEBUG in ('Y', 'C') THEN
3978
3975 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_gb');
3976 END IF;
3977 BRANCH_NUM := upper(replace(Xi_BRANCH_NUMBER,' ',''));
3979 BRANCH_NUM := replace(BRANCH_NUM,'-','');
3980
3981 IF (BRANCH_NUM) is not null then
3982 IF length(BRANCH_NUM) = 6 then
3983 numeric_result := ce_check_numeric(BRANCH_NUM,1,length(BRANCH_NUM));
3984
3985 IF numeric_result = '0' then /* its numeric so continue */
3986 -- Bank number and branch number should be the same
3987
3988 CE_VALIDATE_BANKINFO_UPG.COMPARE_BANK_AND_BRANCH_NUM(branch_num, Xi_BANK_ID);
3989
3990 ELSE
3991 fail_check;
3992 END IF; /* end of numeric check */
3993 ELSE
3994 fail_check;
3995
3996 END IF; /* end of length check */
3997
3998 ELSE
3999 pass_check;
4000
4001 END IF;
4002 /*
4003 IF l_DEBUG in ('Y', 'C') THEN
4004 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_gb');
4005 END IF;
4006 */
4007
4008 END CE_VALIDATE_BRANCH_GB;
4009
4010 /* -------------------------------------------------------------------- */
4011
4012 procedure CE_VALIDATE_BRANCH_US(Xi_BRANCH_NUMBER in varchar2,
4013 Xi_PASS_MAND_CHECK in varchar2,
4014 Xo_VALUE_OUT OUT NOCOPY varchar2)
4015 AS
4016 BRANCH_VALUE varchar2(30);
4017 BRANCH_VALUE_OUT varchar2(30);
4018 cal_cd1 number;
4019 cd_value number;
4020
4021 numeric_result varchar2(40);
4022
4023 /**************************/
4024 /* SUB-PROCEDURES SECTION */
4025 /**************************/
4026
4027 procedure fail_mandatory is
4028 begin
4029 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
4030 fnd_msg_pub.add;
4031 IF l_DEBUG in ('Y', 'C') THEN
4032 cep_standard.debug('CE_VALIDATE_BRANCH_US: ' || 'CE_ENTER_BRANCH_NUM');
4033 END IF;
4034 end fail_mandatory;
4035
4036 procedure fail_check is
4037 begin
4038 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
4039 fnd_msg_pub.add;
4040 IF l_DEBUG in ('Y', 'C') THEN
4041 cep_standard.debug('CE_VALIDATE_BRANCH_US: ' || 'CE_INVALID_BRANCH_NUM');
4042 END IF;
4043 end fail_check;
4044
4045
4046 procedure pass_check is
4047 begin
4048
4049 IF l_DEBUG in ('Y', 'C') THEN
4050 null;
4051 -- cep_standard.debug('CE_VALIDATE_BRANCH_US: ' || 'pass_check');
4052 END IF;
4053 end pass_check;
4054
4055 /****************/
4056 /* MAIN SECTION */
4057 /****************/
4058 BEGIN
4059 IF l_DEBUG in ('Y', 'C') THEN
4060 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_us');
4061 END IF;
4062
4063 BRANCH_VALUE := upper(replace(Xi_BRANCH_NUMBER,' ',''));
4064
4065 BRANCH_VALUE := replace(BRANCH_VALUE,'-','');
4066
4067
4068 IF Xi_PASS_MAND_CHECK = 'F'
4069 then
4070
4071 -- Branch number should be made optional for all US banks.
4072 null;
4073 -- fail_mandatory;
4074
4075 ELSIF Xi_PASS_MAND_CHECK = 'P'
4076 then
4077
4078 BRANCH_VALUE := replace(BRANCH_VALUE,' ','');
4079
4080 IF l_DEBUG in ('Y', 'C') THEN
4081 cep_standard.debug('BRANCH_VALUE: ' || BRANCH_VALUE);
4082 END IF;
4083
4084 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
4085
4086 IF numeric_result = '0' then
4087
4088 IF length(BRANCH_VALUE) < 10 then
4089 IF length(BRANCH_VALUE) <> 9 then
4090 BRANCH_VALUE_OUT := lpad(BRANCH_VALUE,9,0);
4091 END IF;
4092
4093 IF l_DEBUG in ('Y', 'C') THEN
4094 cep_standard.debug('BRANCH_VALUE_OUT: ' || BRANCH_VALUE_OUT);
4095 END IF;
4096
4097 IF (to_number(SUBSTR(BRANCH_VALUE_OUT,1,8)) = '00000000') then
4098 fail_check;
4099 IF l_DEBUG in ('Y', 'C') THEN
4100 cep_standard.debug('fail branch_value = 00000000');
4101 END IF;
4102 ELSE
4103 -- Modulus 10
4104
4105 cal_cd1 := 10 - mod(((to_number(substr(BRANCH_VALUE_OUT,1,1)) * 3)
4106 +(to_number(substr(BRANCH_VALUE_OUT,2,1)) * 7)
4107 +(to_number(substr(BRANCH_VALUE_OUT,3,1)) * 1)
4108 +(to_number(substr(BRANCH_VALUE_OUT,4,1)) * 3)
4109 +(to_number(substr(BRANCH_VALUE_OUT,5,1)) * 7)
4110 +(to_number(substr(BRANCH_VALUE_OUT,6,1)) * 1)
4111 +(to_number(substr(BRANCH_VALUE_OUT,7,1)) * 3)
4112 +(to_number(substr(BRANCH_VALUE_OUT,8,1)) * 7)),10);
4113
4114 cd_value := substr(BRANCH_VALUE_OUT,9,1);
4115
4116 IF l_DEBUG in ('Y', 'C') THEN
4117 cep_standard.debug('cd_value: ' || cd_value ||' cal_cd1: ' || cal_cd1);
4118 END IF;
4119
4120 IF cal_cd1 = cd_value then
4121 pass_check;
4122 Xo_VALUE_OUT := BRANCH_VALUE_OUT;
4123
4124 else
4125 IF l_DEBUG in ('Y', 'C') THEN
4126 cep_standard.debug('failed cd check');
4127 END IF;
4128 fail_check;
4129
4130 end if;
4131
4132 IF l_DEBUG in ('Y', 'C') THEN
4133 cep_standard.debug('Xo_VALUE_OUT: '|| Xo_VALUE_OUT);
4134 END IF;
4135
4136 END IF;
4137 ELSE
4138 IF l_DEBUG in ('Y', 'C') THEN
4139 cep_standard.debug('fail length < 10');
4140 END IF;
4141 fail_check;
4142 END IF; /* end of length check for branch */
4143 ELSE
4144 IF l_DEBUG in ('Y', 'C') THEN
4145 cep_standard.debug('fail numeric check');
4146 END IF;
4147 fail_check;
4148
4149 END IF; /* end of numeric check for branch */
4150
4151 END IF; /* end of mandatory check */
4152
4153 /*
4154 IF l_DEBUG in ('Y', 'C') THEN
4155 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_branch_us');
4156 END IF;
4157 */
4158 END CE_VALIDATE_BRANCH_US;
4159
4160 /* -------------------------------------------------------------------- */
4161 -- added 10/19/04
4162
4163 procedure CE_VALIDATE_BRANCH_AU(Xi_BRANCH_NUMBER in varchar2,
4164 Xi_BANK_ID in NUMBER,
4165 Xi_PASS_MAND_CHECK in varchar2)
4166 AS
4167 BRANCH_VALUE varchar2(30);
4168 BANK_VALUE varchar2(30);
4169 BANK_num varchar2(30);
4170
4171 length_bank_and_branch number;
4172 numeric_result varchar2(40);
4173
4174 /**************************/
4175 /* SUB-PROCEDURES SECTION */
4176 /**************************/
4177
4178 procedure fail_mandatory is
4179 begin
4180 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
4181 fnd_msg_pub.add;
4182 IF l_DEBUG in ('Y', 'C') THEN
4183 cep_standard.debug('CE_VALIDATE_BRANCH_AU: ' || 'CE_ENTER_BRANCH_NUM');
4184 END IF;
4185 end fail_mandatory;
4186
4187 procedure fail_check is
4188 begin
4189 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
4190 fnd_msg_pub.add;
4191 IF l_DEBUG in ('Y', 'C') THEN
4192 cep_standard.debug('CE_VALIDATE_BRANCH_AU: ' || 'CE_INVALID_BRANCH_NUM');
4193 END IF;
4194 end fail_check;
4195
4196 procedure pass_check is
4197 begin
4198
4199 IF l_DEBUG in ('Y', 'C') THEN
4200 cep_standard.debug('CE_VALIDATE_BRANCH_AU: ' || 'pass_check');
4201 END IF;
4202 end pass_check;
4203
4204 /****************/
4205 /* MAIN SECTION */
4206 /****************/
4207 BEGIN
4208 IF l_DEBUG in ('Y', 'C') THEN
4209 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_branch_au');
4210 END IF;
4211
4212 BRANCH_VALUE := upper(replace(Xi_BRANCH_NUMBER,' ',''));
4213
4214 BRANCH_VALUE := replace(BRANCH_VALUE,'-','');
4215
4216
4217 IF Xi_PASS_MAND_CHECK = 'F'
4218 then
4219 fail_mandatory;
4220
4221 ELSIF Xi_PASS_MAND_CHECK = 'P'
4222 then
4223
4227 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
4224 IF (length(BRANCH_VALUE) = 3 or length(BRANCH_VALUE) = 4 or length(BRANCH_VALUE) = 6)
4225 then
4226
4228
4229 IF numeric_result = '0'
4230 then
4231 /* its numeric so continue */
4232 -- Bank number and branch number should have total of 6 digits
4233
4234 OPEN get_bank_num(Xi_BANK_ID);
4235 FETCH get_bank_num INTO bank_num;
4236
4237 BANK_VALUE := upper(replace(bank_num,' ',''));
4238 BANK_VALUE := replace(BANK_VALUE,'-','');
4239 length_bank_and_branch := length(BRANCH_VALUE) + nvl(length(BANK_VALUE), 0);
4240
4241 close get_bank_num;
4242
4243 IF length_bank_and_branch = 6 THEN
4244 pass_check;
4245 ELSE
4246 fail_check;
4247 END IF;
4248 ELSE
4249 fail_check;
4250
4251 END IF; /* end of numeric check */
4252
4253 ELSE
4254 fail_check;
4255
4256 END IF; /* end of length check */
4257 END IF; /* end of mandatory check */
4258 IF l_DEBUG in ('Y', 'C') THEN
4259 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_branch_au');
4260 END IF;
4261
4262 END CE_VALIDATE_BRANCH_AU;
4263 /* -------------------------------------------------------------------- */
4264
4265 procedure CE_VALIDATE_BRANCH_IL(Xi_BRANCH_NUMBER in varchar2,
4266 Xi_PASS_MAND_CHECK in varchar2)
4267 AS
4268 BRANCH_VALUE varchar2(30);
4269
4270 numeric_result varchar2(40);
4271
4272 /**************************/
4273 /* SUB-PROCEDURES SECTION */
4274 /**************************/
4275
4276 procedure fail_mandatory is
4277 begin
4278 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
4279 fnd_msg_pub.add;
4280 IF l_DEBUG in ('Y', 'C') THEN
4281 cep_standard.debug('CE_VALIDATE_BRANCH_IL: ' || 'CE_ENTER_BRANCH_NUM');
4282 END IF;
4283 end fail_mandatory;
4284
4285 procedure fail_check is
4286 begin
4287 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
4288 fnd_msg_pub.add;
4289 IF l_DEBUG in ('Y', 'C') THEN
4290 cep_standard.debug('CE_VALIDATE_BRANCH_IL: ' || 'CE_INVALID_BRANCH_NUM');
4291 END IF;
4292 end fail_check;
4293
4294 procedure pass_check is
4295 begin
4296
4297 IF l_DEBUG in ('Y', 'C') THEN
4298 cep_standard.debug('CE_VALIDATE_BRANCH_IL: ' || 'pass_check');
4299 END IF;
4300 end pass_check;
4301
4302 /****************/
4303 /* MAIN SECTION */
4304 /****************/
4305 BEGIN
4306 IF l_DEBUG in ('Y', 'C') THEN
4307 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_branch_il');
4308 END IF;
4309
4310 BRANCH_VALUE := upper(replace(Xi_BRANCH_NUMBER,' ',''));
4311
4312 BRANCH_VALUE := replace(BRANCH_VALUE,'-','');
4313
4314
4315 IF Xi_PASS_MAND_CHECK = 'F'
4316 then
4317 fail_mandatory;
4318
4319 ELSIF Xi_PASS_MAND_CHECK = 'P'
4320 then
4321
4322 IF length(BRANCH_VALUE) = 3
4323 then
4324
4325 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
4326
4327 IF numeric_result = '0'
4328 then
4329 /* its numeric so continue */
4330
4331 pass_check;
4332 ELSE
4333 fail_check;
4334
4335 END IF; /* end of numeric check */
4336
4337 ELSE
4338 fail_check;
4339
4340 END IF; /* end of length check */
4341 END IF; /* end of mandatory check */
4342 IF l_DEBUG in ('Y', 'C') THEN
4343 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_branch_il');
4344 END IF;
4345
4346 END CE_VALIDATE_BRANCH_IL;
4347 /* -------------------------------------------------------------------- */
4348
4349 procedure CE_VALIDATE_BRANCH_NZ(Xi_BRANCH_NUMBER in varchar2,
4350 Xi_PASS_MAND_CHECK in varchar2)
4351 AS
4352 BRANCH_VALUE varchar2(30);
4353
4354 numeric_result varchar2(40);
4355
4356 /**************************/
4357 /* SUB-PROCEDURES SECTION */
4358 /**************************/
4359
4360 procedure fail_mandatory is
4361 begin
4362 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
4363 fnd_msg_pub.add;
4364 IF l_DEBUG in ('Y', 'C') THEN
4365 cep_standard.debug('CE_VALIDATE_BRANCH_NZ: ' || 'CE_ENTER_BRANCH_NUM');
4366 END IF;
4367 end fail_mandatory;
4368
4369 procedure fail_check is
4370 begin
4371 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
4372 fnd_msg_pub.add;
4373 IF l_DEBUG in ('Y', 'C') THEN
4374 cep_standard.debug('CE_VALIDATE_BRANCH_NZ: ' || 'CE_INVALID_BRANCH_NUM');
4375 END IF;
4376 end fail_check;
4377
4378 procedure pass_check is
4379 begin
4380
4381 IF l_DEBUG in ('Y', 'C') THEN
4382 cep_standard.debug('CE_VALIDATE_BRANCH_NZ: ' || 'pass_check');
4383 END IF;
4384 end pass_check;
4385
4386 /****************/
4387 /* MAIN SECTION */
4388 /****************/
4389 BEGIN
4390 IF l_DEBUG in ('Y', 'C') THEN
4391 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_branch_nz');
4392 END IF;
4393
4394 BRANCH_VALUE := upper(replace(Xi_BRANCH_NUMBER,' ',''));
4395
4396 BRANCH_VALUE := replace(BRANCH_VALUE,'-','');
4397
4398
4399 IF Xi_PASS_MAND_CHECK = 'F'
4403 ELSIF Xi_PASS_MAND_CHECK = 'P'
4400 then
4401 fail_mandatory;
4402
4404 then
4405
4406 IF length(BRANCH_VALUE) = 4
4407 then
4408
4409 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
4410
4411 IF numeric_result = '0'
4412 then
4413 /* its numeric so continue */
4414
4415 pass_check;
4416 ELSE
4417 fail_check;
4418
4419 END IF; /* end of numeric check */
4420
4421 ELSE
4422 fail_check;
4423
4424 END IF; /* end of length check */
4425 END IF; /* end of mandatory check */
4426 IF l_DEBUG in ('Y', 'C') THEN
4427 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_branch_nz');
4428 END IF;
4429
4430 END CE_VALIDATE_BRANCH_NZ;
4431
4432 /* -------------------------------------------------------------------- */
4433
4434 procedure CE_VALIDATE_BRANCH_JP(Xi_BRANCH_NUMBER in varchar2,
4435 Xi_BRANCH_NAME_ALT in varchar2,
4436 Xi_PASS_MAND_CHECK in varchar2,
4437 Xi_VALIDATION_TYPE in varchar2)
4438 AS
4439 BRANCH_VALUE varchar2(30);
4440
4441 numeric_result varchar2(40);
4442
4443 /**************************/
4444 /* SUB-PROCEDURES SECTION */
4445 /**************************/
4446
4447 procedure fail_mandatory is
4448 begin
4449 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NUM');
4450 fnd_msg_pub.add;
4451 IF l_DEBUG in ('Y', 'C') THEN
4452 cep_standard.debug('CE_VALIDATE_BRANCH_JP: ' || 'CE_ENTER_BRANCH_NUM');
4453 END IF;
4454 end fail_mandatory;
4455
4456 procedure fail_branch_name_alt is
4457 begin
4458 fnd_message.set_name ('CE', 'CE_ENTER_BRANCH_NAME_ALT');
4459 fnd_msg_pub.add;
4460 IF l_DEBUG in ('Y', 'C') THEN
4461 cep_standard.debug('CE_VALIDATE_BRANCH_JP: ' || 'CE_ENTER_BRANCH_NAME_ALT');
4462 END IF;
4463 end fail_branch_name_alt;
4464
4465 procedure fail_check is
4466 begin
4467 fnd_message.set_name ('CE', 'CE_INVALID_BRANCH_NUM');
4468 fnd_msg_pub.add;
4469 IF l_DEBUG in ('Y', 'C') THEN
4470 cep_standard.debug('CE_VALIDATE_BRANCH_JP: ' || 'CE_INVALID_BRANCH_NUM');
4471 END IF;
4472 end fail_check;
4473
4474 procedure pass_check is
4475 begin
4476
4477 IF l_DEBUG in ('Y', 'C') THEN
4478 cep_standard.debug('CE_VALIDATE_BRANCH_JP: ' || 'pass_check');
4479 END IF;
4480 end pass_check;
4481
4482 /****************/
4483 /* MAIN SECTION */
4484 /****************/
4485 BEGIN
4486 IF l_DEBUG in ('Y', 'C') THEN
4487 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_branch_jp');
4488 END IF;
4489
4490 BRANCH_VALUE := upper(replace(Xi_BRANCH_NUMBER,' ',''));
4491
4492 BRANCH_VALUE := replace(BRANCH_VALUE,'-','');
4493
4494
4495 IF Xi_PASS_MAND_CHECK = 'F'
4496 then
4497 fail_mandatory;
4498
4499 ELSIF Xi_PASS_MAND_CHECK = 'P'
4500 then
4501
4502 IF length(BRANCH_VALUE) = 4
4503 then
4504
4505 numeric_result := ce_check_numeric(BRANCH_VALUE,1,length(BRANCH_VALUE));
4506
4507 IF numeric_result = '0'
4508 then
4509 /* its numeric so continue */
4510
4511 pass_check;
4512 ELSE
4513 fail_check;
4514
4515 END IF; /* end of numeric check */
4516
4517 ELSE
4518 fail_check;
4519
4520 END IF; /* end of length check */
4521 END IF; /* end of mandatory check */
4522
4523 IF (Xi_VALIDATION_TYPE = 'ALL') THEN
4524 IF ( Xi_BRANCH_NAME_ALT is null) THEN
4525
4526 fail_branch_name_alt ;
4527 END IF;
4528 END IF;
4529
4530
4531 IF l_DEBUG in ('Y', 'C') THEN
4532 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_branch_jp');
4533 END IF;
4534
4535 END CE_VALIDATE_BRANCH_JP;
4536
4537 /* --------------------------------------------------------------------
4538 | PRIVATE PROCEDURE |
4539 | CE_VALIDATE_ACCOUNT_* |
4540 | |
4541 | CALLED BY |
4542 | CE_VALIDATE_ACCOUNT |
4543 | |
4544 | DESCRIPTION |
4545 | ACCOUNT PROCEDURES, Validate 1 or more of the following: |
4546 | 1. Account number length |
4547 | 2. Account number datatype (numeric, alphanumeric, or alphabet |
4548 | 3. Account number Algorithm |
4549 | |
4550 | RETURN |
4551 | Xo_VALUE_OUT - Account Number is return with leading 0 |
4552 | (Not for all countries) |
4553 --------------------------------------------------------------------- */
4554
4555
4556 procedure CE_VALIDATE_ACCOUNT_AT (Xi_ACCOUNT_NUMBER in varchar2,
4557 Xi_PASS_MAND_CHECK in varchar2,
4558 Xo_VALUE_OUT OUT NOCOPY varchar2)
4559 AS
4560 account_value varchar2(30);
4561 chk_chars varchar2(30);
4562
4563 /*******************************/
4564 /* SUB FUNCTIONS and PROCEDURES*/
4568 begin
4565 /*******************************/
4566
4567 procedure fail_check is
4569 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
4570 fnd_msg_pub.add;
4571 IF l_DEBUG in ('Y', 'C') THEN
4572 cep_standard.debug('CE_VALIDATE_ACCOUNT_AT: ' || 'CE_INVALID_ACCOUNT_NUM');
4573 END IF;
4574 end fail_check;
4575
4576 procedure pass_check is
4577 begin
4578
4579 IF l_DEBUG in ('Y', 'C') THEN
4580 null;
4581 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_AT: ' || 'pass_check');
4582 END IF;
4583 end pass_check;
4584
4585 /****************/
4586 /* MAIN SECTION */
4587 /****************/
4588 BEGIN
4589 IF l_DEBUG in ('Y', 'C') THEN
4590 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_at');
4591 END IF;
4592
4593 account_value := upper(Xi_ACCOUNT_NUMBER );
4594 Xo_VALUE_OUT := account_value;
4595
4596 account_value := replace(account_value,' ','');
4597
4598 chk_chars := translate(account_value,'123456789'
4599 ,'00000000000000000000000000000000000');
4600
4601 IF length(account_value) < 12
4602 then
4603 chk_chars := lpad(chk_chars,11,0);
4604 IF CHK_CHARS = '00000000000'
4605 then
4606 Xo_VALUE_OUT := lpad(account_value,11,0);
4607 pass_check;
4608 ELSE
4609 fail_check;
4610 END IF; /* end number check */
4611 ELSE
4612 fail_check;
4613
4614 END IF; /* end of length check */
4615 /*
4616 IF l_DEBUG in ('Y', 'C') THEN
4617 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_at');
4618 END IF;
4619 */
4620 END CE_VALIDATE_ACCOUNT_AT;
4621
4622 /**************** End of Procedure CE_VALIDATE_ACCOUNT_AT ***********/
4623
4624
4625 procedure CE_VALIDATE_ACCOUNT_PT (Xi_ACCOUNT_NUMBER in varchar2,
4626 Xi_PASS_MAND_CHECK in varchar2,
4627 Xo_VALUE_OUT OUT NOCOPY varchar2)
4628 AS
4629 ACCOUNT_VALUE varchar2(30);
4630 numeric_result varchar2(40);
4631
4632 /**************************/
4633 /* SUB-PROCEDURES SECTION */
4634 /**************************/
4635
4636
4637 procedure fail_check is
4638 begin
4639 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
4640 fnd_msg_pub.add;
4641 IF l_DEBUG in ('Y', 'C') THEN
4642 cep_standard.debug('CE_VALIDATE_ACCOUNT_PT: ' || 'CE_INVALID_ACCOUNT_NUM');
4643 END IF;
4644 end fail_check;
4645
4646 procedure pass_check is
4647 begin
4648
4649 IF l_DEBUG in ('Y', 'C') THEN
4650 null;
4651 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_PT: ' || 'pass_check');
4652 END IF;
4653 end pass_check;
4654
4655 /****************/
4656 /* MAIN SECTION */
4657 /****************/
4658 BEGIN
4659 IF l_DEBUG in ('Y', 'C') THEN
4660 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_pt');
4661 END IF;
4662
4663 ACCOUNT_VALUE := upper(Xi_ACCOUNT_NUMBER );
4664 ACCOUNT_VALUE := replace(ACCOUNT_VALUE,' ','');
4665
4666 IF length(ACCOUNT_VALUE) <= 11
4667 then
4668 ACCOUNT_VALUE := lpad(ACCOUNT_VALUE,11,0);
4669 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
4670
4671 IF numeric_result = '0'
4672 then /* its numeric so continue */
4673 Xo_VALUE_OUT := ACCOUNT_VALUE;
4674 pass_check;
4675 ELSE
4676 fail_check;
4677
4678 END IF; /* end of numeric check */
4679
4680 ELSE
4681 fail_check;
4682
4683 END IF; /* end of length check */
4684 /*
4685 IF l_DEBUG in ('Y', 'C') THEN
4686 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_pt');
4687 END IF;
4688 */
4689 END CE_VALIDATE_ACCOUNT_PT;
4690
4691 /**************** End of Procedure CE_VALIDATE_ACCOUNT_PT ***********/
4692
4693 procedure CE_VALIDATE_ACCOUNT_BE (Xi_ACCOUNT_NUMBER in varchar2,
4694 Xi_PASS_MAND_CHECK in varchar2)
4695 AS
4696 ACCOUNT_VALUE varchar2(30);
4697 numeric_result varchar2(40);
4698 BANK_CODE varchar2(3);
4699 MIDDLE varchar2(7);
4700 CHECK_DIGIT varchar2(2);
4701 CONCED varchar2(30);
4702
4703 /**************************/
4704 /* SUB-PROCEDURES SECTION */
4705 /**************************/
4706
4707
4708 procedure fail_check is
4709 begin
4710 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
4711 fnd_msg_pub.add;
4712 IF l_DEBUG in ('Y', 'C') THEN
4713 cep_standard.debug('CE_VALIDATE_ACCOUNT_BE: ' || 'CE_INVALID_ACCOUNT_NUM');
4714 END IF;
4715 end fail_check;
4716
4717 procedure pass_check is
4718 begin
4719
4720 IF l_DEBUG in ('Y', 'C') THEN
4721 null;
4722 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_BE: ' || 'pass_check');
4723 END IF;
4724 end pass_check;
4725
4726 /****************/
4727 /* MAIN SECTION */
4728 /****************/
4729 BEGIN
4730 IF l_DEBUG in ('Y', 'C') THEN
4731 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_be');
4732 END IF;
4733
4734 ACCOUNT_VALUE := upper(substr(Xi_ACCOUNT_NUMBER ,1,14));
4735 BANK_CODE := substr(ACCOUNT_VALUE,1,3);
4739
4736 MIDDLE := substr(ACCOUNT_VALUE,5,7);
4737 CHECK_DIGIT := substr(ACCOUNT_VALUE,13,2);
4738 CONCED := BANK_CODE||MIDDLE||CHECK_DIGIT;
4740 numeric_result := ce_check_numeric(CONCED,1,length(CONCED));
4741
4742 CONCED := replace(CONCED,' ','');
4743
4744 IF length(CONCED) = 12
4745 THEN IF numeric_result = '0'
4746 THEN /* its numeric so continue */
4747
4748 IF MOD(BANK_CODE||MIDDLE,97) = 0
4749 AND CHECK_DIGIT = 97
4750 THEN pass_check;
4751 /*
4752 2261587 fbreslin: 00 is never a valid check digit, even if
4753 the MOD of the account number is 0
4754 */
4755
4756 ELSIF MOD(bank_code||middle, 97) = 0
4757 AND check_digit = 00
4758 THEN fail_check;
4759
4760 ELSIF MOD(BANK_CODE||MIDDLE,97) = CHECK_DIGIT
4761 THEN pass_check;
4762 ELSE fail_check;
4763
4764 END IF;
4765
4766 ELSE fail_check;
4767
4768 END IF; /* end of numeric check */
4769
4770 ELSE fail_check;
4771
4772 END IF; /* end of length check */
4773 /*
4774 IF l_DEBUG in ('Y', 'C') THEN
4775 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_be');
4776 END IF;
4777 */
4778
4779 END CE_VALIDATE_ACCOUNT_BE;
4780
4781
4782 /**************** End of Procedure CE_VALIDATE_ACCOUNT_BE ***********/
4783
4784 procedure CE_VALIDATE_ACCOUNT_DK (Xi_ACCOUNT_NUMBER in varchar2,
4785 Xi_PASS_MAND_CHECK in varchar2,
4786 Xo_VALUE_OUT OUT NOCOPY varchar2)
4787 AS
4788 check_digit_ok_flag boolean;
4789 account_value varchar2(30);
4790 chk_chars varchar2(30);
4791
4792 /*******************************/
4793 /* SUB FUNCTIONS and PROCEDURES*/
4794 /*******************************/
4795
4796 procedure fail_check is
4797 begin
4798 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
4799 fnd_msg_pub.add;
4800 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
4801 IF l_DEBUG in ('Y', 'C') THEN
4802 cep_standard.debug('CE_VALIDATE_ACCOUNT_DK: ' || 'CE_INVALID_ACCOUNT_NUM');
4803 END IF;
4804
4805 end fail_check;
4806
4807 procedure pass_check is
4808 begin
4809 IF l_DEBUG in ('Y', 'C') THEN
4810 null;
4811 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_DK: ' || 'pass_check');
4812 END IF;
4813
4814 end pass_check;
4815
4816 /****************/
4817 /* MAIN SECTION */
4818 /****************/
4819 BEGIN
4820 IF l_DEBUG in ('Y', 'C') THEN
4821 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_dk');
4822 END IF;
4823
4824 account_value := upper(Xi_ACCOUNT_NUMBER );
4825 Xo_VALUE_OUT := account_value;
4826
4827 account_value := replace(account_value,' ','');
4828
4829 chk_chars := translate(account_value,'123456789'
4830 ,'00000000000000000000000000000000000');
4831
4832 IF length(account_value) < 11
4833 then
4834 IF CHK_CHARS = '0000000000'
4835 then
4836 Xo_VALUE_OUT := account_value;
4837 pass_check;
4838 ELSE
4839 fail_check;
4840 END IF; /* end number check */
4841
4842
4843 ELSE
4844 fail_check;
4845
4846 END IF; /* end of length check */
4847 /*
4848 IF l_DEBUG in ('Y', 'C') THEN
4849 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_dk');
4850 END IF;
4851 */
4852 END CE_VALIDATE_ACCOUNT_DK;
4853
4854 /**************** End of Procedure CE_VALIDATE_ACCOUNT_DK ***********/
4855
4856 procedure CE_VALIDATE_ACCOUNT_FR (Xi_ACCOUNT_NUMBER in varchar2,
4857 Xi_PASS_MAND_CHECK in varchar2,
4858 Xo_VALUE_OUT OUT NOCOPY varchar2)
4859 AS
4860 ACCOUNT_VALUE varchar2(30);
4861 CHK_CHARS varchar2(30);
4862
4863
4864 /**************************/
4865 /* SUB-PROCEDURES SECTION */
4866 /**************************/
4867
4868
4869 procedure fail_check is
4870 begin
4871 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
4872 fnd_msg_pub.add;
4873 IF l_DEBUG in ('Y', 'C') THEN
4874 cep_standard.debug('CE_VALIDATE_ACCOUNT_FR: ' || 'CE_INVALID_ACCOUNT_NUM');
4875 END IF;
4876 end fail_check;
4877
4878 procedure pass_check is
4879 begin
4880
4881 IF l_DEBUG in ('Y', 'C') THEN
4882 null;
4883 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_FR: ' || 'pass_check');
4884 END IF;
4885 end pass_check;
4886
4887 /****************/
4888 /* MAIN SECTION */
4889 /****************/
4890 BEGIN
4891 IF l_DEBUG in ('Y', 'C') THEN
4892 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_fr');
4893 END IF;
4894
4895 ACCOUNT_VALUE := upper(Xi_ACCOUNT_NUMBER );
4896 Xo_VALUE_OUT := ACCOUNT_VALUE;
4897
4898 ACCOUNT_VALUE := replace(ACCOUNT_VALUE,' ','');
4899
4900 chk_chars := translate(ACCOUNT_VALUE,'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789'
4901 ,'00000000000000000000000000000000000');
4902
4903
4904 IF length(ACCOUNT_VALUE) < 12
4908 then
4905 then
4906 chk_chars := lpad(chk_chars,11,0);
4907 IF CHK_CHARS = '00000000000'
4909 Xo_VALUE_OUT := lpad(ACCOUNT_VALUE,11,0);
4910 ELSE
4911 fail_check;
4912 END IF; /* end of char and number check */
4913
4914
4915 ELSE
4916 fail_check;
4917
4918 END IF; /* end of length check */
4919
4920 /*
4921 IF l_DEBUG in ('Y', 'C') THEN
4922 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_fr');
4923 END IF;
4924 */
4925 END CE_VALIDATE_ACCOUNT_FR;
4926
4927
4928 /******************* End of Procedure ce_validate_account_fr ***********/
4929
4930
4931 procedure CE_VALIDATE_ACCOUNT_NL(Xi_ACCOUNT_NUMBER in varchar2,
4932 Xi_PASS_MAND_CHECK in varchar2)
4933 AS
4934 ACCOUNT_VALUE varchar2(30);
4935 numeric_result varchar2(40);
4936 position_i number(2);
4937 integer_value number(1);
4938 multiplied_number number(2);
4939 multiplied_sum number(3);
4940 loop_sum number(3);
4941
4942 /**************************/
4943 /* SUB-PROCEDURES SECTION */
4944 /**************************/
4945
4946 procedure check_11(input_value IN VARCHAR2,
4947 mult_sum_result OUT NOCOPY NUMBER)
4948 IS
4949 BEGIN
4950 FOR position_i in 1..10 LOOP
4951 integer_value := substr(input_value,position_i,1);
4952
4953 multiplied_number := integer_value * (11-position_i);
4954 loop_sum := loop_sum + multiplied_number;
4955
4956 END LOOP;
4957 mult_sum_result := loop_sum;
4958 END check_11;
4959
4960
4961 procedure fail_check is
4962 begin
4963 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
4964 fnd_msg_pub.add;
4965 IF l_DEBUG in ('Y', 'C') THEN
4966 cep_standard.debug('CE_VALIDATE_ACCOUNT_NL: ' || 'CE_INVALID_ACCOUNT_NUM');
4967 END IF;
4968 end fail_check;
4969
4970 procedure pass_check is
4971 begin
4972
4973 IF l_DEBUG in ('Y', 'C') THEN
4974 null;
4975 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_NL: ' || 'pass_check');
4976 END IF;
4977 end pass_check;
4978
4979 /****************/
4980 /* MAIN SECTION */
4981 /****************/
4982 BEGIN
4983 IF l_DEBUG in ('Y', 'C') THEN
4984 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_nl');
4985 END IF;
4986
4987 multiplied_number := 0;
4988 multiplied_sum := 0;
4989 loop_sum := 0;
4990
4991
4992 ACCOUNT_VALUE := upper(Xi_ACCOUNT_NUMBER );
4993 IF substr(ACCOUNT_VALUE,1,1) = 'P' OR substr(ACCOUNT_VALUE,1,1) = 'G'
4994 then
4995
4996 IF length(ACCOUNT_VALUE) < 9 and instr(ACCOUNT_VALUE,' ') = 0
4997 then
4998 numeric_result := ce_check_numeric(ACCOUNT_VALUE,2,length(ACCOUNT_VALUE));
4999 IF numeric_result = '0'
5000 then
5001 /* its numeric so continue */
5002
5003 IF substr(ACCOUNT_VALUE,2,7) > 0 and substr(ACCOUNT_VALUE,2,7) <= 9999999
5004 then
5005
5006 pass_check;
5007 ELSE
5008
5009 fail_check;
5010 END IF;
5011 ELSE /* failed numeric check */
5012
5013 fail_check;
5014 END IF;
5015
5016 ELSE /* failed length check */
5017
5018 fail_check;
5019 END IF;
5020
5021 ELSE /* not a P or G account */
5022 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
5023 IF numeric_result = '0'
5024 then
5025 /* its numeric so continue */
5026 IF length(ACCOUNT_VALUE) = 9 and instr(ACCOUNT_VALUE,' ') = 0
5027 then
5028 ACCOUNT_VALUE := '0'||ACCOUNT_VALUE;
5029 check_11(ACCOUNT_VALUE,multiplied_sum);
5030 IF mod(multiplied_sum,11) <> 0
5031 then
5032 fail_check;
5033 ELSE
5034 pass_check;
5035 END IF;
5036
5037 ELSIF length(ACCOUNT_VALUE) = 10 and instr(ACCOUNT_VALUE,' ') = 0
5038 then
5039 check_11(ACCOUNT_VALUE,multiplied_sum);
5040 IF mod(multiplied_sum,11) <> 0
5041 then
5042 fail_check;
5043 ELSE
5044 pass_check;
5045 END IF;
5046
5047 ELSE
5048 fail_check;
5049
5050 END IF;
5051
5052 ELSE /* failed numeric check */
5053 fail_check;
5054
5055 END IF;
5056
5057 END IF;
5058
5059 /*
5060 IF l_DEBUG in ('Y', 'C') THEN
5061 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_nl');
5062 END IF;
5063 */
5064 END CE_VALIDATE_ACCOUNT_NL;
5065
5066 /**************** End of Procedure CE_validate_account_nl ******/
5067
5068
5069 procedure CE_VALIDATE_ACCOUNT_ES(Xi_ACCOUNT_NUMBER in varchar2,
5070 Xi_PASS_MAND_CHECK in varchar2,
5071 Xo_VALUE_OUT OUT NOCOPY varchar2)
5072 AS
5073 ACCOUNT_VALUE varchar2(30);
5074
5075 numeric_result varchar2(40);
5076
5077 /**************************/
5078 /* SUB-PROCEDURES SECTION */
5079 /**************************/
5080
5081 /*Bug Fix:880887*/
5085 begin
5082 /*Changed the Xo_RET_VAR='F' to 'W' ,so that a warning message is displayed*/
5083 /*for spain instead of Error message*/
5084 procedure fail_check is
5086 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5087 fnd_msg_pub.add;
5088 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
5089 IF l_DEBUG in ('Y', 'C') THEN
5090 cep_standard.debug('CE_VALIDATE_ACCOUNT_ES: ' || 'CE_INVALID_ACCOUNT_NUM');
5091 END IF;
5092
5093 end fail_check;
5094
5095 procedure pass_check is
5096 begin
5097
5098 IF l_DEBUG in ('Y', 'C') THEN
5099 null;
5100 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_ES: ' || 'pass_check');
5101 END IF;
5102 end pass_check;
5103
5104 /****************/
5105 /* MAIN SECTION */
5106 /****************/
5107 BEGIN
5108 IF l_DEBUG in ('Y', 'C') THEN
5109 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_es');
5110 END IF;
5111
5112 ACCOUNT_VALUE := upper(Xi_ACCOUNT_NUMBER );
5113 Xo_VALUE_OUT := ACCOUNT_VALUE;
5114
5115
5116 ACCOUNT_VALUE := replace(ACCOUNT_VALUE,' ','');
5117
5118 IF length(ACCOUNT_VALUE) < 11
5119 then
5120 ACCOUNT_VALUE := lpad(ACCOUNT_VALUE,10,0);
5121 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
5122
5123 IF numeric_result = '0'
5124 then
5125 /* its numeric so continue */
5126 Xo_VALUE_OUT := ACCOUNT_VALUE;
5127 pass_check;
5128 ELSE
5129 fail_check;
5130
5131 END IF; /* end of numeric check */
5132
5133 ELSE
5134 fail_check;
5135
5136 END IF; /* end of length check */
5137 /*
5138 IF l_DEBUG in ('Y', 'C') THEN
5139 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_es');
5140 END IF;
5141 */
5142 END CE_VALIDATE_ACCOUNT_ES;
5143
5144
5145 /************** End of Procedure CE_VALIDATE_ACCOUNT_ES **************/
5146
5147
5148 procedure CE_VALIDATE_ACCOUNT_NO (Xi_ACCOUNT_NUMBER in varchar2,
5149 Xi_PASS_MAND_CHECK in varchar2)
5150 AS
5151 ACCOUNT_VALUE varchar2(30);
5152 numeric_result varchar2(40);
5153 computed_sum number(30);
5154 check_digit varchar2(20);
5155
5156 /**************************/
5157 /* SUB-PROCEDURES SECTION */
5158 /**************************/
5159
5160 procedure fail_check is
5161 begin
5162 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5163 fnd_msg_pub.add;
5164 IF l_DEBUG in ('Y', 'C') THEN
5165 cep_standard.debug('CE_VALIDATE_ACCOUNT_NO: ' || 'CE_INVALID_ACCOUNT_NUM');
5166 END IF;
5167 end fail_check;
5168
5169 procedure pass_check is
5170 begin
5171 IF l_DEBUG in ('Y', 'C') THEN
5172 null;
5173 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_NO: ' || 'pass_check');
5174 END IF;
5175
5176 end pass_check;
5177
5178
5179 /****************/
5180 /* MAIN SECTION */
5181 /****************/
5182 BEGIN
5183 IF l_DEBUG in ('Y', 'C') THEN
5184 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_no');
5185 END IF;
5186
5187 ACCOUNT_VALUE := upper(Xi_ACCOUNT_NUMBER );
5188
5189 IF length(ACCOUNT_VALUE) = 11 and ACCOUNT_VALUE <> '08271000279'and
5190 (substr(ACCOUNT_VALUE,5,2) <> '00')
5191 then
5192 check_digit := substr(ACCOUNT_VALUE,11,1);
5193
5194 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
5195
5196 IF numeric_result = '0'
5197 then
5198 computed_sum :=
5199 5 * substr(ACCOUNT_VALUE,1,1) +
5200 4 * substr(ACCOUNT_VALUE,2,1) +
5201 3 * substr(ACCOUNT_VALUE,3,1) +
5202 2 * substr(ACCOUNT_VALUE,4,1) +
5203 7 * substr(ACCOUNT_VALUE,5,1) +
5204 6 * substr(ACCOUNT_VALUE,6,1) +
5205 5 * substr(ACCOUNT_VALUE,7,1) +
5206 4 * substr(ACCOUNT_VALUE,8,1) +
5207 3 * substr(ACCOUNT_VALUE,9,1) +
5208 2 * substr(ACCOUNT_VALUE,10,1);
5209
5210 IF mod((computed_sum + check_digit),11)=0
5211 then
5212 pass_check;
5213 ELSE
5214 fail_check; /* failed numeric check */
5215 END IF;
5216 ELSE
5217 fail_check;
5218 END IF;
5219
5220 /* 10/19/04 7-digit account numbers are no longer valid in Norway
5221 ELSIF length(ACCOUNT_VALUE) = 7 and ACCOUNT_VALUE <> '1520006'
5222 and substr(ACCOUNT_VALUE,1,2) <> 12
5223 and substr(ACCOUNT_VALUE,1,2) <> 19
5224 then
5225 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
5226
5227 IF numeric_result = '0'
5228 then
5229 account_value := lpad(ACCOUNT_VALUE,11,0);
5230 computed_sum :=
5231 (1 * substr(ACCOUNT_VALUE,1,1)) +
5232 substr(2 * substr(ACCOUNT_VALUE,2,1),1,1) +
5233 nvl(substr(2 * substr(ACCOUNT_VALUE,2,1),2,1),0) +
5234 (1 * substr(ACCOUNT_VALUE,3,1)) +
5235 substr(2 * substr(ACCOUNT_VALUE,4,1),1,1) +
5236 nvl(substr(2 * substr(ACCOUNT_VALUE,4,1),2,1),0) +
5237 (1 * substr(ACCOUNT_VALUE,5,1)) +
5238 substr(2 * substr(ACCOUNT_VALUE,6,1),1,1) +
5239 nvl(substr(2 * substr(ACCOUNT_VALUE,6,1),2,1),0) +
5240 (1 * substr(ACCOUNT_VALUE,7,1)) +
5241 substr(2 * substr(ACCOUNT_VALUE,8,1),1,1) +
5245 nvl(substr(2 * substr(ACCOUNT_VALUE,10,1),2,1),0) +
5242 nvl(substr(2 * substr(ACCOUNT_VALUE,8,1),2,1),0) +
5243 (1 * substr(ACCOUNT_VALUE,9,1)) +
5244 substr(2 * substr(ACCOUNT_VALUE,10,1),1,1) +
5246 (1 * substr(ACCOUNT_VALUE,11,1));
5247
5248 IF mod(computed_sum,10) = 0
5249 then
5250 pass_check;
5251 ELSE
5252 fail_check;
5253 END IF;
5254
5255 ELSE
5256 fail_check; -- failed numeric check
5257
5258 END IF;
5259 */
5260 ELSE
5261 fail_check;
5262
5263 END IF;
5264 /*
5265 IF l_DEBUG in ('Y', 'C') THEN
5266 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_no');
5267 END IF;
5268 */
5269 END CE_VALIDATE_ACCOUNT_NO;
5270
5271
5272 /********* END CE_VALIDATE_ACCOUNT_NO *************************/
5273
5274 /* 960103 VVAHAMAA Bank Account Validation for Finland */
5275
5276 procedure CE_VALIDATE_ACCOUNT_FI (Xi_ACCOUNT_NUMBER in varchar2,
5277 Xi_PASS_MAND_CHECK in varchar2)
5278 AS
5279 ACCOUNT_VALUE varchar2(30);
5280 COMPUTED_SUM varchar2(20);
5281 BRANCH_NUMBER varchar2(3);
5282 numeric_result varchar2(40);
5283
5284 /**************************/
5285 /* SUB-PROCEDURES SECTION */
5286 /**************************/
5287
5288 procedure fail_check is
5289 begin
5290 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5291 fnd_msg_pub.add;
5292 IF l_DEBUG in ('Y', 'C') THEN
5293 cep_standard.debug('CE_VALIDATE_ACCOUNT_FI: ' || 'CE_INVALID_ACCOUNT_NUM');
5294 END IF;
5295 end fail_check;
5296
5297 procedure pass_check is
5298 begin
5299 IF l_DEBUG in ('Y', 'C') THEN
5300 null;
5301 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_FI: ' || 'pass_check');
5302 END IF;
5303
5304 end pass_check;
5305
5306
5307 /****************/
5308 /* MAIN SECTION */
5309 /****************/
5310 BEGIN
5311 IF l_DEBUG in ('Y', 'C') THEN
5312 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_fi');
5313 END IF;
5314
5315 ACCOUNT_VALUE := upper(Xi_ACCOUNT_NUMBER );
5316
5317 select
5318 decode(substr(Xi_ACCOUNT_NUMBER ,1,1), '1','Y','2','Y','3','Y','4','N',
5319 '5','N','6','Y','7','N','8','Y','9','Y','ERR')
5320 into BRANCH_NUMBER
5321 from dual;
5322
5323 if BRANCH_NUMBER='Y' then
5324 ACCOUNT_VALUE:= substr(Xi_ACCOUNT_NUMBER ,1,6)||
5325 lpad(substr(Xi_ACCOUNT_NUMBER ,8),8,'0');
5326 elsif BRANCH_NUMBER='N' then
5327 ACCOUNT_VALUE:= substr(Xi_ACCOUNT_NUMBER ,1,6)||
5328 substr(Xi_ACCOUNT_NUMBER ,8,1)||
5329 lpad(substr(Xi_ACCOUNT_NUMBER ,9),7,'0');
5330 else
5331 fail_check;
5332 return;
5333 end if;
5334 ACCOUNT_VALUE:=replace(ACCOUNT_VALUE,'-','0');
5335 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
5336 IF numeric_result = '0'
5337 THEN
5338 null;
5339 ELSE
5340 fail_check;
5341 return;
5342 END IF;
5343 IF substr(ACCOUNT_VALUE,1,2)='88' then
5344 COMPUTED_SUM:=to_char(
5345 1* to_number(substr(ACCOUNT_VALUE,8,1))+
5346 3* to_number(substr(ACCOUNT_VALUE,9,1))+
5347 7* to_number(substr(ACCOUNT_VALUE,10,1)) +
5348 1* to_number(substr(ACCOUNT_VALUE,11,1)) +
5349 3* to_number(substr(ACCOUNT_VALUE,12,1)) +
5350 7* to_number(substr(ACCOUNT_VALUE,13,1)));
5351
5352 if substr(ACCOUNT_VALUE,14,1)=
5353 to_char(10-to_number(substr(COMPUTED_SUM,length(COMPUTED_SUM),1))) or
5354 (substr(ACCOUNT_VALUE,14,1)= '0' and
5355 substr(COMPUTED_SUM,length(COMPUTED_SUM),1)='0')
5356 then
5357 null;
5358 else
5359 fail_check;
5360 return;
5361 end if;
5362 ELSE
5363 COMPUTED_SUM:= mod(2*substr(ACCOUNT_VALUE,1,1),10) +
5364 trunc(2*substr(ACCOUNT_VALUE,1,1)/10) +
5365 mod(1*substr(ACCOUNT_VALUE,2,1),10) +
5366 mod(2*substr(ACCOUNT_VALUE,3,1),10) +
5367 trunc(2*substr(ACCOUNT_VALUE,3,1)/10) +
5368 mod(1*substr(ACCOUNT_VALUE,4,1),10) +
5369 mod(2*substr(ACCOUNT_VALUE,5,1),10) +
5370 trunc(2*substr(ACCOUNT_VALUE,5,1)/10) +
5371 mod(1*substr(ACCOUNT_VALUE,6,1),10) +
5372 mod(2*substr(ACCOUNT_VALUE,7,1),10) +
5373 trunc(2*substr(ACCOUNT_VALUE,7,1)/10) +
5374 mod(1*substr(ACCOUNT_VALUE,8,1),10) +
5375 mod(2*substr(ACCOUNT_VALUE,9,1),10) +
5376 trunc(2*substr(ACCOUNT_VALUE,9,1)/10) +
5377 mod(1*substr(ACCOUNT_VALUE,10,1),10) +
5378 mod(2*substr(ACCOUNT_VALUE,11,1),10) +
5379 trunc(2*substr(ACCOUNT_VALUE,11,1)/10) +
5380 mod(1*substr(ACCOUNT_VALUE,12,1),10) +
5381 mod(2*substr(ACCOUNT_VALUE,13,1),10) +
5382 trunc(2*substr(ACCOUNT_VALUE,13,1)/10);
5383
5384 IF trunc((COMPUTED_SUM+9)/10)*10 -COMPUTED_SUM<>
5385 to_number(substr(ACCOUNT_VALUE,14,1)) THEN
5386 fail_check;
5387 return;
5388 END IF;
5389 END IF;
5390 pass_check;
5391 /*
5392 IF l_DEBUG in ('Y', 'C') THEN
5393 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_fi');
5394 END IF;
5395 */
5396 END CE_VALIDATE_ACCOUNT_FI;
5397
5398 /********* END CE_VALIDATE_ACCOUNT_FI *************************/
5399
5400 -- new account validations 5/14/02
5401
5402 procedure CE_VALIDATE_ACCOUNT_DE(Xi_ACCOUNT_NUMBER in varchar2,
5406 numeric_result varchar2(40);
5403 Xo_VALUE_OUT OUT NOCOPY varchar2)
5404 AS
5405 account_value varchar2(60);
5407
5408
5409 /*******************************/
5410 /* SUB FUNCTIONS and PROCEDURES*/
5411 /*******************************/
5412
5413 procedure fail_check is
5414 begin
5415 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5416 fnd_msg_pub.add;
5417 IF l_DEBUG in ('Y', 'C') THEN
5418 cep_standard.debug('CE_VALIDATE_ACCOUNT_DE: ' || 'CE_INVALID_ACCOUNT_NUM');
5419 END IF;
5420 end fail_check;
5421
5422 procedure pass_check is
5423 begin
5424
5425 IF l_DEBUG in ('Y', 'C') THEN
5426 null;
5427 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_DE: ' || 'pass_check');
5428 END IF;
5429 end pass_check;
5430
5431 /****************/
5432 /* MAIN SECTION */
5433 /****************/
5434 BEGIN
5435 IF l_DEBUG in ('Y', 'C') THEN
5436 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_DE');
5437 END IF;
5438
5439 account_value := upper(Xi_ACCOUNT_NUMBER );
5440 Xo_VALUE_OUT := account_value;
5441
5442 account_value := replace(account_value,' ','');
5443
5444 IF ((length(account_value) > 10) or (length(account_value) < 1)) THEN
5445 fail_check;
5446
5447 ELSE
5448 numeric_result := ce_check_numeric(account_value,1,length(account_value));
5449
5450 IF numeric_result <> '0' then
5451 IF l_DEBUG in ('Y', 'C') THEN
5452 cep_standard.debug( 'failed numeric');
5453 END IF;
5454 fail_check;
5455 ELSE
5456 Xo_VALUE_OUT := lpad(account_value,10,0);
5457 END IF; /* end of numeric check */
5458 IF l_DEBUG in ('Y', 'C') THEN
5459 cep_standard.debug('Xo_VALUE_OUT: ' || Xo_VALUE_OUT);
5460 END IF;
5461 END IF; /* end of length check */
5462
5463 /*
5464 IF l_DEBUG in ('Y', 'C') THEN
5465 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_DE');
5466 END IF;
5467 */
5468 END CE_VALIDATE_ACCOUNT_DE;
5469
5470 /* -------------------------------------------------------------------- */
5471
5472
5473 procedure CE_VALIDATE_ACCOUNT_GR(Xi_ACCOUNT_NUMBER in varchar2,
5474 Xo_VALUE_OUT OUT NOCOPY varchar2)
5475 AS
5476 account_value varchar2(30);
5477 numeric_result varchar2(40);
5478
5479 /*******************************/
5480 /* SUB FUNCTIONS and PROCEDURES*/
5481 /*******************************/
5482
5483 procedure fail_check is
5484 begin
5485 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5486 fnd_msg_pub.add;
5487 IF l_DEBUG in ('Y', 'C') THEN
5488 cep_standard.debug('CE_VALIDATE_ACCOUNT_GR: ' || 'CE_INVALID_ACCOUNT_NUM');
5489 END IF;
5490 end fail_check;
5491
5492 procedure pass_check is
5493 begin
5494
5495 IF l_DEBUG in ('Y', 'C') THEN
5496 null;
5497 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_GR: ' || 'pass_check');
5498 END IF;
5499 end pass_check;
5500
5501 /****************/
5502 /* MAIN SECTION */
5503 /****************/
5504 BEGIN
5505 IF l_DEBUG in ('Y', 'C') THEN
5506 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_GR');
5507 END IF;
5508
5509 account_value := upper(replace(Xi_ACCOUNT_NUMBER,' ',''));
5510 account_value := replace(account_value,'-','');
5511
5512 IF l_DEBUG in ('Y', 'C') THEN
5513 cep_standard.debug(' account_value: ' ||account_value);
5514 END IF;
5515
5516 IF length(account_value) < 8 THEN
5517 fail_check;
5518
5519 ELSIF length(account_value) < 13 THEN
5520
5521 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
5522
5523 IF numeric_result = '0' then
5524 IF length(account_value) <> 12 then
5525 Xo_VALUE_OUT := lpad(account_value,12,0);
5526 END IF;
5527
5528 ELSE
5529 fail_check;
5530 END IF; /* end number check */
5531 ELSE
5532 fail_check;
5533
5534 END IF; /* end of length check */
5535 /*
5536 IF l_DEBUG in ('Y', 'C') THEN
5537 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_ACCOUNT_GR');
5538 END IF;
5539 */
5540 END CE_VALIDATE_ACCOUNT_GR;
5541
5542 /* -------------------------------------------------------------------- */
5543
5544 procedure CE_VALIDATE_ACCOUNT_IS(Xi_ACCOUNT_NUMBER in varchar2,
5545 Xo_VALUE_OUT OUT NOCOPY varchar2)
5546 AS
5547
5548 ac_value varchar2(50);
5549 cal_cd number;
5550 cal_cd1 number;
5551
5552 cd_value varchar2(50);
5553 ac_cd_value varchar2(50);
5554
5555
5556 numeric_result varchar2(40);
5557
5558 /*******************************/
5559 /* SUB FUNCTIONS and PROCEDURES*/
5560 /*******************************/
5561
5562 procedure fail_check is
5563 begin
5564 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5565 fnd_msg_pub.add;
5566 IF l_DEBUG in ('Y', 'C') THEN
5567 cep_standard.debug('CE_VALIDATE_ACCOUNT_IS: ' || 'CE_INVALID_ACCOUNT_NUM');
5568 END IF;
5569 end fail_check;
5570
5571 procedure pass_check is
5572 begin
5573
5574 IF l_DEBUG in ('Y', 'C') THEN
5575 null;
5576 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_IS: ' || 'pass_check');
5577 END IF;
5578 end pass_check;
5579
5583 BEGIN
5580 /****************/
5581 /* MAIN SECTION */
5582 /****************/
5584 IF l_DEBUG in ('Y', 'C') THEN
5585 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_is');
5586 END IF;
5587
5588 ac_value := upper(Xi_ACCOUNT_NUMBER );
5589
5590 ac_value := replace(ac_value,' ','');
5591 ac_value := replace(ac_value,'-','');
5592
5593
5594 IF length(ac_value) < 19 THEN
5595 numeric_result := ce_check_numeric(AC_VALUE,1,length(AC_VALUE));
5596 IF numeric_result = '0' then
5597
5598 IF length(ac_value) <> 18 THEN
5599 Xo_VALUE_OUT := lpad(ac_value,18,0);
5600 ac_value := lpad(ac_value,18,0);
5601 END IF;
5602
5603 IF l_DEBUG in ('Y', 'C') THEN
5604 cep_standard.debug( 'ac_value : ' || ac_value);
5605 END IF;
5606
5607 cal_cd1 := mod(( (to_number(substr(ac_value,9,1)) * 3)
5608 +(to_number(substr(ac_value,10,1)) * 2)
5609 +(to_number(substr(ac_value,11,1)) * 7)
5610 +(to_number(substr(ac_value,12,1)) * 6)
5611 +(to_number(substr(ac_value,13,1)) * 5)
5612 +(to_number(substr(ac_value,14,1)) * 4)
5613 +(to_number(substr(ac_value,15,1)) * 3)
5614 +(to_number(substr(ac_value,16,1)) * 2)),11);
5615
5616 IF l_DEBUG in ('Y', 'C') THEN
5617 cep_standard.debug('cal_cd1 : ' || cal_cd1);
5618 END IF;
5619
5620 IF cal_cd1 = 0 then
5621 cal_cd := 0;
5622 else
5623 cal_cd := (11 - cal_cd1);
5624 END if;
5625
5626 -- the check digit is the penultimate digit of (a3).
5627 ac_cd_value := substr(ac_value,17,1);
5628
5629 IF l_DEBUG in ('Y', 'C') THEN
5630 cep_standard.debug('ac_cd_value: ' || ac_cd_value|| ' cal_cd: ' || cal_cd);
5631 END IF;
5632
5633 IF ac_cd_value = cal_cd then
5634 pass_check;
5635 ELSE
5636 IF l_DEBUG in ('Y', 'C') THEN
5637 cep_standard.debug('failed check - cd ');
5638 END IF;
5639 fail_check;
5640 END IF;
5641
5642 ELSE
5643 IF l_DEBUG in ('Y', 'C') THEN
5644 cep_standard.debug('failed check numeric ');
5645 END IF;
5646 fail_check;
5647 END IF;
5648 ELSE
5649 IF l_DEBUG in ('Y', 'C') THEN
5650 cep_standard.debug('failed check length ');
5651 END IF;
5652 fail_check;
5653 END IF; /* end of length check */
5654 /*
5655 IF l_DEBUG in ('Y', 'C') THEN
5656 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_is');
5657 END IF;
5658 */
5659 END CE_VALIDATE_ACCOUNT_IS;
5660
5661 /* -------------------------------------------------------------------- */
5662
5663 procedure CE_VALIDATE_ACCOUNT_IE(Xi_ACCOUNT_NUMBER in varchar2)
5664 AS
5665 account_value varchar2(30);
5666 numeric_result varchar2(40);
5667
5668 /*******************************/
5669 /* SUB FUNCTIONS and PROCEDURES*/
5670 /*******************************/
5671
5672 procedure fail_check is
5673 begin
5674 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5675 fnd_msg_pub.add;
5676 IF l_DEBUG in ('Y', 'C') THEN
5677 cep_standard.debug('CE_VALIDATE_ACCOUNT_IE: ' || 'CE_INVALID_ACCOUNT_NUM');
5678 END IF;
5679 end fail_check;
5680
5681 procedure pass_check is
5682 begin
5683 IF l_DEBUG in ('Y', 'C') THEN
5684 null;
5685 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_IE: ' || 'pass_check');
5686 END IF;
5687
5688 end pass_check;
5689
5690 /****************/
5691 /* MAIN SECTION */
5692 /****************/
5693 BEGIN
5694 IF l_DEBUG in ('Y', 'C') THEN
5695 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_ie');
5696 END IF;
5697
5698 account_value := upper(Xi_ACCOUNT_NUMBER );
5699
5700 account_value := replace(account_value,' ','');
5701 account_value := replace(account_value,'-','');
5702
5703
5704 IF length(account_value) = 8 THEN
5705 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
5706
5707 IF numeric_result = '0' then
5708 pass_check;
5709
5710 ELSE
5711 fail_check;
5712 END IF;
5713 ELSE
5714 fail_check;
5715 END IF; /* end of length check */
5716 /*
5717 IF l_DEBUG in ('Y', 'C') THEN
5718 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_ie');
5719 END IF;
5720 */
5721 END CE_VALIDATE_ACCOUNT_IE;
5722
5723 /* -------------------------------------------------------------------- */
5724
5725 procedure CE_VALIDATE_ACCOUNT_IT(Xi_ACCOUNT_NUMBER in varchar2,
5726 Xo_VALUE_OUT OUT NOCOPY varchar2)
5727 AS
5728 account_value varchar2(50);
5729
5730
5731 /*******************************/
5732 /* SUB FUNCTIONS and PROCEDURES*/
5733 /*******************************/
5734
5735 procedure fail_check is
5736 begin
5737 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5738 fnd_msg_pub.add;
5739 IF l_DEBUG in ('Y', 'C') THEN
5740 cep_standard.debug('CE_VALIDATE_ACCOUNT_IT: ' || 'CE_INVALID_ACCOUNT_NUM');
5741 END IF;
5742 end fail_check;
5743
5744 procedure pass_check is
5745 begin
5746
5747 IF l_DEBUG in ('Y', 'C') THEN
5748 null;
5749 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_IT: ' || 'pass_check');
5750 END IF;
5754
5751 end pass_check;
5752
5753
5755 /****************/
5756 /* MAIN SECTION */
5757 /****************/
5758 BEGIN
5759 IF l_DEBUG in ('Y', 'C') THEN
5760 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_it');
5761 END IF;
5762
5763 account_value := upper(replace(Xi_ACCOUNT_NUMBER,' ',''));
5764 account_value := replace(account_value,'-','');
5765 IF l_DEBUG in ('Y', 'C') THEN
5766 cep_standard.debug('length(account_value): '||length(account_value) );
5767 END IF;
5768
5769 IF length(account_value) < 13 THEN
5770 Xo_VALUE_OUT := lpad(account_value,12,0);
5771 pass_check;
5772 IF l_DEBUG in ('Y', 'C') THEN
5773 cep_standard.debug('Xo_VALUE_OUT: '||Xo_VALUE_OUT );
5774 END IF;
5775 ELSE
5776 fail_check;
5777
5778 END IF; /* end of length check */
5779 /*
5780 IF l_DEBUG in ('Y', 'C') THEN
5781 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_it');
5782 END IF;
5783 */
5784 END CE_VALIDATE_ACCOUNT_IT;
5785
5786 /* -------------------------------------------------------------------- */
5787
5788 procedure CE_VALIDATE_ACCOUNT_LU(Xi_ACCOUNT_NUMBER in varchar2)
5789 AS
5790 account_value varchar2(30);
5791 numeric_result varchar2(40);
5792
5793 /*******************************/
5794 /* SUB FUNCTIONS and PROCEDURES*/
5795 /*******************************/
5796
5797 procedure fail_check is
5798 begin
5799 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5800 fnd_msg_pub.add;
5801 IF l_DEBUG in ('Y', 'C') THEN
5802 cep_standard.debug('CE_VALIDATE_ACCOUNT_LU: ' || 'CE_INVALID_ACCOUNT_NUM');
5803 END IF;
5804 end fail_check;
5805
5806 procedure pass_check is
5807 begin
5808 IF l_DEBUG in ('Y', 'C') THEN
5809 null;
5810 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_LU: ' || 'pass_check');
5811 END IF;
5812
5813 end pass_check;
5814
5815 /****************/
5816 /* MAIN SECTION */
5817 /****************/
5818 BEGIN
5819 IF l_DEBUG in ('Y', 'C') THEN
5820 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_lu');
5821 END IF;
5822
5823 account_value := upper(Xi_ACCOUNT_NUMBER );
5824
5825 account_value := replace(account_value,' ','');
5826 account_value := replace(account_value,'-','');
5827
5828
5829 IF length(account_value) < 13 THEN
5830 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
5831
5832 IF numeric_result = '0' then
5833 pass_check;
5834
5835 ELSE
5836 fail_check;
5837 END IF;
5838 ELSE
5839 fail_check;
5840 END IF; /* end of length check */
5841 /*
5842 IF l_DEBUG in ('Y', 'C') THEN
5843 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_lu');
5844 END IF;
5845 */
5846 END CE_VALIDATE_ACCOUNT_LU;
5847
5848 /* -------------------------------------------------------------------- */
5849
5850 procedure CE_VALIDATE_ACCOUNT_PL(Xi_ACCOUNT_NUMBER in varchar2)
5851 AS
5852 account_value varchar2(30);
5853 numeric_result varchar2(40);
5854
5855 /*******************************/
5856 /* SUB FUNCTIONS and PROCEDURES*/
5857 /*******************************/
5858
5859 procedure fail_check is
5860 begin
5861 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5862 fnd_msg_pub.add;
5863 IF l_DEBUG in ('Y', 'C') THEN
5864 cep_standard.debug('CE_VALIDATE_ACCOUNT_PL: ' || 'CE_INVALID_ACCOUNT_NUM');
5865 END IF;
5866 end fail_check;
5867
5868 procedure pass_check is
5869 begin
5870 IF l_DEBUG in ('Y', 'C') THEN
5871 null;
5872 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_PL: ' || 'pass_check');
5873 END IF;
5874
5875 end pass_check;
5876
5877 /****************/
5878 /* MAIN SECTION */
5879 /****************/
5880 BEGIN
5881 IF l_DEBUG in ('Y', 'C') THEN
5882 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_pl');
5883 END IF;
5884
5885 account_value := upper(Xi_ACCOUNT_NUMBER );
5886
5887 account_value := replace(account_value,' ','');
5888 account_value := replace(account_value,'-','');
5889
5890
5891 IF length(account_value) < 25 THEN
5892
5893 pass_check;
5894 ELSE
5895 fail_check;
5896 END IF; /* end of length check */
5897 /*
5898 IF l_DEBUG in ('Y', 'C') THEN
5899 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_pl');
5900 END IF;
5901 */
5902 END CE_VALIDATE_ACCOUNT_PL;
5903
5904 /* -------------------------------------------------------------------- */
5905
5906 procedure CE_VALIDATE_ACCOUNT_SE(Xi_ACCOUNT_NUMBER in varchar2)
5907 AS
5908 account_value varchar2(30);
5909 numeric_result varchar2(40);
5910
5911 /*******************************/
5912 /* SUB FUNCTIONS and PROCEDURES*/
5913 /*******************************/
5914
5915 procedure fail_check is
5916 begin
5917 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5918 fnd_msg_pub.add;
5919 IF l_DEBUG in ('Y', 'C') THEN
5920 cep_standard.debug('CE_VALIDATE_ACCOUNT_SE: ' || 'CE_INVALID_ACCOUNT_NUM');
5921 END IF;
5922 end fail_check;
5923
5924 procedure pass_check is
5925 begin
5926 IF l_DEBUG in ('Y', 'C') THEN
5930
5927 null;
5928 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_SE: ' || 'pass_check');
5929 END IF;
5931 end pass_check;
5932
5933 /****************/
5934 /* MAIN SECTION */
5935 /****************/
5936 BEGIN
5937 IF l_DEBUG in ('Y', 'C') THEN
5938 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_se');
5939 END IF;
5940
5941 account_value := upper(replace(Xi_ACCOUNT_NUMBER ,' ',''));
5942 account_value := replace(account_value,'-','');
5943
5944 IF length(account_value) < 12 THEN
5945 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
5946
5947 IF numeric_result = '0' then
5948 pass_check;
5949
5950 ELSE
5951 fail_check;
5952 END IF;
5953 ELSE
5954 fail_check;
5955 END IF; /* end of length check */
5956 /*
5957 IF l_DEBUG in ('Y', 'C') THEN
5958 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_se');
5959 END IF;
5960 */
5961 END CE_VALIDATE_ACCOUNT_SE;
5962
5963 /* -------------------------------------------------------------------- */
5964
5965 procedure CE_VALIDATE_ACCOUNT_CH(Xi_ACCOUNT_NUMBER in varchar2,
5966 Xi_ACCOUNT_TYPE in varchar2,
5967 Xi_VALIDATION_TYPE in varchar2 )
5968 AS
5969 account_value varchar2(30);
5970
5971
5972 /*******************************/
5973 /* SUB FUNCTIONS and PROCEDURES*/
5974 /*******************************/
5975
5976 procedure fail_account_type is
5977 begin
5978 fnd_message.set_name ('CE', 'CE_ENTER_ACCOUNT_TYPE');
5979 fnd_msg_pub.add;
5980 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
5981
5982 end fail_account_type;
5983
5984 procedure fail_check is
5985 begin
5986 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
5987 fnd_msg_pub.add;
5988 IF l_DEBUG in ('Y', 'C') THEN
5989 cep_standard.debug('CE_VALIDATE_ACCOUNT_CH: ' || 'CE_INVALID_ACCOUNT_NUM');
5990 END IF;
5991 end fail_check;
5992
5993 procedure pass_check is
5994 begin
5995 IF l_DEBUG in ('Y', 'C') THEN
5996 null;
5997 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_CH: ' || 'pass_check');
5998 END IF;
5999
6000 end pass_check;
6001
6002
6003
6004 /****************/
6005 /* MAIN SECTION */
6006 /****************/
6007 BEGIN
6008 IF l_DEBUG in ('Y', 'C') THEN
6009 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_ch');
6010 END IF;
6011
6012 account_value := upper(replace(Xi_ACCOUNT_NUMBER,' ',''));
6013
6014 account_value := replace(account_value,'-','');
6015
6016 IF length(account_value) < 17 THEN
6017 pass_check;
6018 ELSE
6019 fail_check;
6020
6021 END IF; /* end of length check */
6022
6023 IF (Xi_VALIDATION_TYPE = 'ALL') THEN
6024 IF (Xi_ACCOUNT_TYPE is null) THEN
6025 fail_account_type;
6026 END if;
6027 END if;
6028
6029 /*
6030 IF l_DEBUG in ('Y', 'C') THEN
6031 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_ch');
6032 END IF;
6033 */
6034 END CE_VALIDATE_ACCOUNT_CH;
6035
6036 /* -------------------------------------------------------------------- */
6037
6038 procedure CE_VALIDATE_ACCOUNT_GB(Xi_ACCOUNT_NUMBER in varchar2,
6039 Xo_VALUE_OUT OUT NOCOPY varchar2)
6040 AS
6041 account_value varchar2(30);
6042 numeric_result varchar2(40);
6043
6044 /*******************************/
6045 /* SUB FUNCTIONS and PROCEDURES*/
6046 /*******************************/
6047
6048 procedure fail_check is
6049 begin
6050 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
6051 fnd_msg_pub.add;
6052 IF l_DEBUG in ('Y', 'C') THEN
6053 cep_standard.debug('CE_VALIDATE_ACCOUNT_GB: ' || 'CE_INVALID_ACCOUNT_NUM');
6054 END IF;
6055 end fail_check;
6056
6057 procedure pass_check is
6058 begin
6059
6060 IF l_DEBUG in ('Y', 'C') THEN
6061 null;
6062 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_GB: ' || 'pass_check');
6063 END IF;
6064 end pass_check;
6065
6066 /****************/
6067 /* MAIN SECTION */
6068 /****************/
6069 BEGIN
6070 IF l_DEBUG in ('Y', 'C') THEN
6071 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_gb');
6072 END IF;
6073
6074 Xo_VALUE_OUT := account_value;
6075
6076 account_value := upper(replace(Xi_ACCOUNT_NUMBER,' ',''));
6077 account_value := replace(account_value,'-','');
6078
6079 IF length(account_value) < 9 THEN
6080 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
6081
6082 IF numeric_result = '0' then
6083 IF (length(account_value) <> 8) then
6084 Xo_VALUE_OUT := lpad(account_value,8,0);
6085 END IF;
6086 ELSE
6087 fail_check;
6088 END IF;
6089
6090 ELSE
6091 fail_check;
6092
6093 END IF; /* end of length check */
6094 /*
6095 IF l_DEBUG in ('Y', 'C') THEN
6096 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_account_gb');
6097 END IF;
6098 */
6099 END CE_VALIDATE_ACCOUNT_GB;
6100
6101 /* -------------------------------------------------------------------- */
6102
6103 procedure CE_VALIDATE_ACCOUNT_BR(Xi_ACCOUNT_NUMBER in varchar2,
6107 numeric_result varchar2(40);
6104 Xi_SECONDARY_ACCOUNT_REFERENCE in varchar2)
6105 AS
6106 account_ref varchar2(30);
6108
6109 /*******************************/
6110 /* SUB FUNCTIONS and PROCEDURES*/
6111 /*******************************/
6112
6113 procedure fail_check is
6114 begin
6115 fnd_message.set_name ('CE', 'CE_INVALID_COMPANY_CODE');
6116 fnd_msg_pub.add;
6117 IF l_DEBUG in ('Y', 'C') THEN
6118 cep_standard.debug('CE_VALIDATE_ACCOUNT_BR: ' || 'CE_INVALID_COMPANY_CODE');
6119 END IF;
6120 end fail_check;
6121
6122 procedure pass_check is
6123 begin
6124
6125 IF l_DEBUG in ('Y', 'C') THEN
6126 null;
6127 -- cep_standard.debug('CE_VALIDATE_ACCOUNT_BR: ' || 'pass_check');
6128 END IF;
6129 end pass_check;
6130
6131 /****************/
6132 /* MAIN SECTION */
6133 /****************/
6134 BEGIN
6135
6136 IF l_DEBUG in ('Y', 'C') THEN
6137 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_br');
6138 END IF;
6139
6140 account_ref := upper(replace(Xi_SECONDARY_ACCOUNT_REFERENCE,' ',''));
6141
6142 IF l_DEBUG in ('Y', 'C') THEN
6143 cep_standard.debug('account_ref: '|| account_ref);
6144 END IF;
6145
6146 IF (account_ref) is not null then
6147
6148 IF length(account_ref) < 16 THEN
6149 numeric_result := ce_check_numeric(ACCOUNT_REF,1,length(ACCOUNT_REF));
6150
6151 IF numeric_result = '0' then
6152 pass_check;
6153 ELSE
6154 fail_check;
6155 END IF;
6156
6157 ELSE
6158 fail_check;
6159
6160 END IF; /* end of length check */
6161 ELSE
6162 pass_check;
6163
6164 END IF; /* end of not null check */
6165
6166 IF l_DEBUG in ('Y', 'C') THEN
6167 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_account_br');
6168 END IF;
6169
6170 END CE_VALIDATE_ACCOUNT_BR;
6171
6172 --added 10/19/04
6173
6174 /* -------------------------------------------------------------------- */
6175
6176 procedure CE_VALIDATE_ACCOUNT_AU(Xi_ACCOUNT_NUMBER in varchar2)
6177 AS
6178 account_value varchar2(30);
6179 numeric_result varchar2(40);
6180
6181 /*******************************/
6182 /* SUB FUNCTIONS and PROCEDURES*/
6183 /*******************************/
6184
6185 procedure fail_check is
6186 begin
6187 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
6188 fnd_msg_pub.add;
6189 IF l_DEBUG in ('Y', 'C') THEN
6190 cep_standard.debug('CE_VALIDATE_ACCOUNT_AU: ' || 'CE_INVALID_ACCOUNT_NUM');
6191 END IF;
6192 end fail_check;
6193
6194 procedure pass_check is
6195 begin
6196 IF l_DEBUG in ('Y', 'C') THEN
6197 cep_standard.debug('CE_VALIDATE_ACCOUNT_AU: ' || 'pass_check');
6198 END IF;
6199
6200 end pass_check;
6201
6202 /****************/
6203 /* MAIN SECTION */
6204 /****************/
6205 BEGIN
6206 IF l_DEBUG in ('Y', 'C') THEN
6207 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_account_au');
6208 END IF;
6209
6210 account_value := upper(Xi_ACCOUNT_NUMBER );
6211
6212 account_value := replace(account_value,' ','');
6213 account_value := replace(account_value,'-','');
6214
6215
6216 IF length(account_value) <= 10 and length(account_value) >= 7 THEN
6217 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
6218
6219 IF numeric_result = '0' then
6220 pass_check;
6221
6222 ELSE
6223 fail_check;
6224 END IF;
6225
6226 ELSE
6227 fail_check;
6228 END IF; /* end of length check */
6229 IF l_DEBUG in ('Y', 'C') THEN
6230 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_account_au');
6231 END IF;
6232
6233 END CE_VALIDATE_ACCOUNT_AU;
6234
6235 /* -------------------------------------------------------------------- */
6236
6237 procedure CE_VALIDATE_ACCOUNT_IL(Xi_ACCOUNT_NUMBER in varchar2)
6238 AS
6239 account_value varchar2(30);
6240 numeric_result varchar2(40);
6241
6242 /*******************************/
6243 /* SUB FUNCTIONS and PROCEDURES*/
6244 /*******************************/
6245
6246 procedure fail_check is
6247 begin
6248 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
6249 fnd_msg_pub.add;
6250 IF l_DEBUG in ('Y', 'C') THEN
6251 cep_standard.debug('CE_VALIDATE_ACCOUNT_IL: ' || 'CE_INVALID_ACCOUNT_NUM');
6252 END IF;
6253 end fail_check;
6254
6255 procedure pass_check is
6256 begin
6257 IF l_DEBUG in ('Y', 'C') THEN
6258 cep_standard.debug('CE_VALIDATE_ACCOUNT_IL: ' || 'pass_check');
6259 END IF;
6260
6261 end pass_check;
6262
6263 /****************/
6264 /* MAIN SECTION */
6265 /****************/
6266 BEGIN
6267 IF l_DEBUG in ('Y', 'C') THEN
6268 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_account_il');
6269 END IF;
6270
6271 account_value := upper(Xi_ACCOUNT_NUMBER );
6272
6273 account_value := replace(account_value,' ','');
6274 account_value := replace(account_value,'-','');
6275
6276
6277 IF length(account_value) = 9 THEN
6278 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
6279
6280 IF numeric_result = '0' then
6281 pass_check;
6285 END IF;
6282
6283 ELSE
6284 fail_check;
6286
6287 ELSE
6288 fail_check;
6289 END IF; /* end of length check */
6290 IF l_DEBUG in ('Y', 'C') THEN
6291 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_account_il');
6292 END IF;
6293
6294 END CE_VALIDATE_ACCOUNT_IL;
6295 /* -------------------------------------------------------------------- */
6296
6297 procedure CE_VALIDATE_ACCOUNT_NZ(Xi_ACCOUNT_NUMBER in varchar2,
6298 Xi_ACCOUNT_SUFFIX in varchar2,
6299 Xi_VALIDATION_TYPE in varchar2)
6300 AS
6301 account_value varchar2(30);
6302 account_suffix varchar2(30);
6303 numeric_result varchar2(40);
6304
6305 /*******************************/
6306 /* SUB FUNCTIONS and PROCEDURES*/
6307 /*******************************/
6308
6309 procedure fail_check is
6310 begin
6311 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_NUM');
6312 fnd_msg_pub.add;
6313 IF l_DEBUG in ('Y', 'C') THEN
6314 cep_standard.debug('CE_VALIDATE_ACCOUNT_NZ: ' || 'CE_INVALID_ACCOUNT_NUM');
6315 END IF;
6316 end fail_check;
6317
6318 procedure pass_check is
6319 begin
6320 IF l_DEBUG in ('Y', 'C') THEN
6321 cep_standard.debug('CE_VALIDATE_ACCOUNT_NZ: ' || 'pass_check');
6322 END IF;
6323
6324 end pass_check;
6325
6326 procedure fail_account_suffix_check is
6327 begin
6328 fnd_message.set_name ('CE', 'CE_INVALID_ACCOUNT_SUFFIX');
6329 fnd_msg_pub.add;
6330 IF l_DEBUG in ('Y', 'C') THEN
6331 cep_standard.debug('CE_VALIDATE_ACCOUNT_NZ: ' || 'CE_INVALID_ACCOUNT_SUFFIX');
6332 END IF;
6333 end fail_account_suffix_check;
6334
6335 procedure pass_account_suffix_check is
6336 begin
6337 IF l_DEBUG in ('Y', 'C') THEN
6338 cep_standard.debug('CE_VALIDATE_ACCOUNT_NZ: ' || 'pass_check');
6339 END IF;
6340
6341 end pass_account_suffix_check;
6342 /****************/
6343 /* MAIN SECTION */
6344 /****************/
6345 BEGIN
6346 IF l_DEBUG in ('Y', 'C') THEN
6347 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_account_nz');
6348 END IF;
6349 -- check account number
6350 account_value := upper(Xi_ACCOUNT_NUMBER );
6351
6352 account_value := replace(account_value,' ','');
6353 account_value := replace(account_value,'-','');
6354
6355
6356 IF length(account_value) <= 8 and length(account_value) >= 6 THEN
6357 numeric_result := ce_check_numeric(ACCOUNT_VALUE,1,length(ACCOUNT_VALUE));
6358
6359 IF numeric_result = '0' then
6360 pass_check;
6361
6362 ELSE
6363 fail_check;
6364 END IF;
6365
6366 ELSE
6367 fail_check;
6368 END IF; /* end of length check */
6369
6370 -- check account_suffix
6371 IF (Xi_VALIDATION_TYPE = 'ALL') THEN
6372 account_suffix := upper(Xi_ACCOUNT_SUFFIX );
6373
6374 account_suffix := replace(account_suffix,' ','');
6375 account_suffix := replace(account_suffix,'-','');
6376
6377
6378 IF length(account_suffix) = 3 THEN
6379 numeric_result := ce_check_numeric(ACCOUNT_SUFFIX,1,length(ACCOUNT_SUFFIX));
6380
6381 IF numeric_result = '0' then
6382 pass_account_suffix_check;
6383
6384 ELSE
6385 fail_account_suffix_check;
6386 END IF;
6387
6388 ELSE
6389 fail_account_suffix_check;
6390 END IF; /* end of length check */
6391 END IF;
6392
6393
6394 IF l_DEBUG in ('Y', 'C') THEN
6395 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_account_nz');
6396 END IF;
6397
6398 END CE_VALIDATE_ACCOUNT_NZ;
6399 /* -------------------------------------------------------------------- */
6400
6401 procedure CE_VALIDATE_ACCOUNT_JP(Xi_ACCOUNT_NUMBER in varchar2,
6402 Xi_ACCOUNT_TYPE in varchar2 ,
6403 Xi_VALIDATION_TYPE in varchar2)
6404 AS
6405 account_value varchar2(30);
6406 numeric_result varchar2(40);
6407
6408 /*******************************/
6409 /* SUB FUNCTIONS and PROCEDURES*/
6410 /*******************************/
6411
6412 procedure fail_mandatory is
6413 begin
6414 fnd_message.set_name ('CE', 'CE_ENTER_ACCOUNT_NUM');
6415 fnd_msg_pub.add;
6416 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
6417
6418 end fail_mandatory;
6419
6420 procedure fail_account_type is
6421 begin
6422 fnd_message.set_name ('CE', 'CE_ENTER_ACCOUNT_TYPE');
6423 fnd_msg_pub.add;
6424 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
6425
6426 end fail_account_type;
6427
6428 /****************/
6429 /* MAIN SECTION */
6430 /****************/
6431 BEGIN
6432 IF l_DEBUG in ('Y', 'C') THEN
6433 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_account_jp');
6434 END IF;
6435
6436 IF (Xi_ACCOUNT_NUMBER is null) THEN
6437 fail_mandatory;
6438 END if;
6439
6440 IF (Xi_VALIDATION_TYPE = 'ALL') THEN
6441 IF (Xi_ACCOUNT_TYPE is null) THEN
6442 fail_account_type;
6443 END if;
6444 END IF;
6445
6446 IF l_DEBUG in ('Y', 'C') THEN
6447 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_account_il');
6448 END IF;
6449
6450 END CE_VALIDATE_ACCOUNT_JP;
6451
6452 /* --------------------------------------------------------------------
6453 | PRIVATE PROCEDURE |
6454 | CE_VALIDATE_BANK_* |
6458 | |
6455 | |
6456 | CALLED BY |
6457 | CE_VALIDATE_BANK |
6459 | DESCRIPTION |
6460 | BANK PROCEDURES, Validate 1 or more of the following: |
6461 | 1. Bank number length |
6462 | 2. Bank number datatype (numeric, alphanumeric, or alphabet |
6463 | 3. Bank number Algorithm |
6464 | |
6465 | RETURN |
6466 | Xo_VALUE_OUT - Bank Number is return with leading 0 |
6467 | (Not for all countries) |
6468 --------------------------------------------------------------------- */
6469
6470 procedure CE_VALIDATE_BANK_ES (Xi_BANK_NUMBER in varchar2,
6471 Xi_PASS_MAND_CHECK in varchar2,
6472 Xo_VALUE_OUT OUT NOCOPY varchar2)
6473 AS
6474 BANK_VALUE varchar2(30);
6475
6476 numeric_result varchar2(40);
6477
6478 /**************************/
6479 /* SUB-PROCEDURES SECTION */
6480 /**************************/
6481
6482 /*Bug Fix:880887*/
6483 /*Changed the Xo_RET_VAR='F' to 'W' ,in 'fail_mandatory' and 'fail_check'*/
6484 /*so that a warning message is displayed*/
6485 /*for spain instead of Error message*/
6486 procedure fail_mandatory is
6487 begin
6488 fnd_message.set_name ('CE', 'CE_ENTER_BANK_NUM');
6489 fnd_msg_pub.add;
6490 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
6491
6492 end fail_mandatory;
6493
6494 procedure fail_check is
6495 begin
6496 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
6497 fnd_msg_pub.add;
6498 fnd_msg_pub.add_detail(fnd_msg_pub.g_warning_msg);
6499 IF l_DEBUG in ('Y', 'C') THEN
6500 cep_standard.debug('CE_VALIDATE_BANK_ES: ' || 'CE_INVALID_BANK_NUM');
6501 END IF;
6502
6503 end fail_check;
6504
6505 procedure pass_check is
6506 begin
6507
6508 IF l_DEBUG in ('Y', 'C') THEN
6509 null;
6510 -- cep_standard.debug('CE_VALIDATE_BANK_ES: ' || 'pass_check');
6511 END IF;
6512 end pass_check;
6513
6514 /****************/
6515 /* MAIN SECTION */
6516 /****************/
6517 BEGIN
6518 IF l_DEBUG in ('Y', 'C') THEN
6519 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_es');
6520 END IF;
6521
6522 BANK_VALUE := upper(Xi_BANK_NUMBER );
6523 Xo_VALUE_OUT := BANK_VALUE;
6524
6525 IF Xi_PASS_MAND_CHECK = 'F'
6526 then
6527 fail_mandatory;
6528
6529 ELSIF Xi_PASS_MAND_CHECK = 'P'
6530 then
6531
6532 BANK_VALUE := replace(BANK_VALUE,' ','');
6533
6534 IF length(BANK_VALUE) < 5
6535 then
6536 BANK_VALUE := lpad(BANK_VALUE,4,0);
6537 numeric_result := ce_check_numeric(BANK_VALUE,1,length(BANK_VALUE));
6538
6539 IF numeric_result = '0'
6540 then
6541 /* its numeric so continue */
6542 Xo_VALUE_OUT := BANK_VALUE;
6543 pass_check;
6544 ELSE
6545 fail_check;
6546
6547 END IF; /* end of numeric check */
6548
6549 ELSE
6550 fail_check;
6551
6552 END IF; /* end of length check */
6553 END IF; /* end of mandatory check */
6554 /*
6555 IF l_DEBUG in ('Y', 'C') THEN
6556 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_es');
6557 END IF;
6558 */
6559 END CE_VALIDATE_BANK_ES;
6560
6561
6562 /**************** End of Procedure CE_VALIDATE_BANK_ES ***********/
6563
6564
6565 procedure CE_VALIDATE_BANK_FR(Xi_BANK_NUMBER in varchar2,
6566 Xi_PASS_MAND_CHECK in varchar2,
6567 Xo_VALUE_OUT OUT NOCOPY varchar2)
6568 AS
6569 BANK_VALUE varchar2(30);
6570
6571 numeric_result varchar2(40);
6572
6573 /**************************/
6574 /* SUB-PROCEDURES SECTION */
6575 /**************************/
6576
6577 procedure fail_mandatory is
6578 begin
6579 fnd_message.set_name ('CE', 'CE_ENTER_BANK_NUM');
6580 fnd_msg_pub.add;
6581 IF l_DEBUG in ('Y', 'C') THEN
6582 cep_standard.debug('CE_VALIDATE_BANK_FR: ' || 'CE_ENTER_BANK_NUM');
6583 END IF;
6584 end fail_mandatory;
6585
6586 procedure fail_check is
6587 begin
6588 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
6589 fnd_msg_pub.add;
6590 IF l_DEBUG in ('Y', 'C') THEN
6591 cep_standard.debug('CE_VALIDATE_BANK_FR: ' || 'CE_INVALID_BANK_NUM');
6592 END IF;
6593
6594 end fail_check;
6595
6596 procedure pass_check is
6597 begin
6598 IF l_DEBUG in ('Y', 'C') THEN
6599 null;
6600 -- cep_standard.debug('CE_VALIDATE_BANK_FR: ' || 'pass_check');
6601 END IF;
6602
6603 end pass_check;
6604
6605 /****************/
6606 /* MAIN SECTION */
6607 /****************/
6608 BEGIN
6609 IF l_DEBUG in ('Y', 'C') THEN
6610 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_fr');
6611 END IF;
6612
6613 BANK_VALUE := upper(Xi_BANK_NUMBER );
6614 Xo_VALUE_OUT := BANK_VALUE;
6618 fail_mandatory;
6615
6616 IF Xi_PASS_MAND_CHECK = 'F'
6617 then
6619
6620 ELSIF Xi_PASS_MAND_CHECK = 'P'
6621 then
6622
6623 BANK_VALUE := replace(BANK_VALUE,' ','');
6624
6625 IF length(BANK_VALUE) < 6
6626 then
6627 BANK_VALUE := lpad(BANK_VALUE,5,0);
6628 numeric_result := ce_check_numeric(BANK_VALUE,1,length(BANK_VALUE));
6629
6630 IF numeric_result = '0'
6631 then
6632 /* its numeric so continue */
6633 Xo_VALUE_OUT := BANK_VALUE;
6634 pass_check;
6635 ELSE
6636 fail_check;
6637
6638 END IF; /* end of numeric check */
6639
6640 ELSE
6641 fail_check;
6642
6643 END IF; /* end of length check */
6644 END IF; /* end of mandatory check */
6645 /*
6646 IF l_DEBUG in ('Y', 'C') THEN
6647 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_fr');
6648 END IF;
6649 */
6650 END CE_VALIDATE_BANK_FR;
6651
6652
6653 /**************** End of Procedure CE_VALIDATE_BANK_FR ***********/
6654
6655 procedure CE_VALIDATE_BANK_PT(Xi_BANK_NUMBER in varchar2,
6656 Xi_PASS_MAND_CHECK in varchar2)
6657 AS
6658 BANK_VALUE varchar2(30);
6659 numeric_result varchar2(40);
6660
6661 /**************************/
6662 /* SUB-PROCEDURES SECTION */
6663 /**************************/
6664
6665 procedure fail_mandatory is
6666 begin
6667 fnd_message.set_name ('CE', 'CE_ENTER_BANK_NUM');
6668 fnd_msg_pub.add;
6669 IF l_DEBUG in ('Y', 'C') THEN
6670 cep_standard.debug('CE_VALIDATE_BANK_PT: ' || 'CE_ENTER_BANK_NUM');
6671 END IF;
6672 end fail_mandatory;
6673
6674 procedure fail_check is
6675 begin
6676 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
6677 fnd_msg_pub.add;
6678 IF l_DEBUG in ('Y', 'C') THEN
6679 cep_standard.debug('CE_VALIDATE_BANK_PT: ' || 'CE_INVALID_BANK_NUM');
6680 END IF;
6681
6682 end fail_check;
6683
6684 procedure pass_check is
6685 begin
6686 IF l_DEBUG in ('Y', 'C') THEN
6687 null;
6688 -- cep_standard.debug('CE_VALIDATE_BANK_PT: ' || 'pass_check');
6689 END IF;
6690
6691 end pass_check;
6692
6693 /****************/
6694 /* MAIN SECTION */
6695 /****************/
6696 BEGIN
6697 IF l_DEBUG in ('Y', 'C') THEN
6698 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_pt');
6699 END IF;
6700
6701
6702 BANK_VALUE := upper(Xi_BANK_NUMBER );
6703
6704 IF Xi_PASS_MAND_CHECK = 'F'
6705 then
6706 fail_mandatory;
6707
6708 ELSIF Xi_PASS_MAND_CHECK = 'P'
6709 then
6710
6711 BANK_VALUE := replace(BANK_VALUE,' ','');
6712
6713 IF length(BANK_VALUE) = 4
6714 then
6715 numeric_result := ce_check_numeric(BANK_VALUE,1,length(BANK_VALUE));
6716
6717 IF numeric_result = '0'
6718 then /* its numeric so continue */
6719 pass_check;
6720 ELSE
6721 fail_check;
6722
6723 END IF; /* end of numeric check */
6724
6725 ELSE
6726 fail_check;
6727
6728 END IF; /* end of length check */
6729 END IF; /* end of mandatory check */
6730 IF l_DEBUG in ('Y', 'C') THEN
6731 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_pt');
6732 END IF;
6733
6734 END CE_VALIDATE_BANK_PT;
6735
6736 /**************** End of Procedure CE_VALIDATE_BANK_PT ***********/
6737
6738 procedure CE_VALIDATE_BANK_BR(Xi_BANK_NUMBER in varchar2,
6739 Xi_PASS_MAND_CHECK in varchar2,
6740 Xo_VALUE_OUT OUT NOCOPY varchar2)
6741 AS
6742 BANK_VALUE varchar2(30);
6743
6744 numeric_result varchar2(40);
6745
6746 /**************************/
6747 /* SUB-PROCEDURES SECTION */
6748 /**************************/
6749
6750 procedure fail_mandatory is
6751 begin
6752 fnd_message.set_name ('CE', 'CE_ENTER_BANK_NUM');
6753 fnd_msg_pub.add;
6754 IF l_DEBUG in ('Y', 'C') THEN
6755 cep_standard.debug('CE_VALIDATE_BANK_BR: ' || 'CE_ENTER_BANK_NUM');
6756 END IF;
6757 end fail_mandatory;
6758
6759 procedure fail_check is
6760 begin
6761 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
6762 fnd_msg_pub.add;
6763 IF l_DEBUG in ('Y', 'C') THEN
6764 cep_standard.debug('CE_VALIDATE_BANK_BR: ' || 'CE_INVALID_BANK_NUM');
6765 END IF;
6766 end fail_check;
6767
6768 procedure pass_check is
6769 begin
6770
6771 IF l_DEBUG in ('Y', 'C') THEN
6772 null;
6773 -- cep_standard.debug('CE_VALIDATE_BANK_BR: ' || 'pass_check');
6774 END IF;
6775 end pass_check;
6776
6777 /****************/
6778 /* MAIN SECTION */
6779 /****************/
6780 BEGIN
6781 IF l_DEBUG in ('Y', 'C') THEN
6782 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_br');
6783 END IF;
6784
6785 BANK_VALUE := upper(Xi_BANK_NUMBER );
6786 Xo_VALUE_OUT := BANK_VALUE;
6787
6788 IF Xi_PASS_MAND_CHECK = 'F'
6789 then
6790 fail_mandatory;
6791
6792 ELSIF Xi_PASS_MAND_CHECK = 'P'
6793 then
6794
6795 BANK_VALUE := replace(BANK_VALUE,' ','');
6796
6797 IF length(BANK_VALUE) < 4
6798 then
6802 IF numeric_result = '0'
6799 BANK_VALUE := lpad(BANK_VALUE,3,0);
6800 numeric_result := ce_check_numeric(BANK_VALUE,1,length(BANK_VALUE));
6801
6803 then
6804 /* its numeric so continue */
6805 Xo_VALUE_OUT := BANK_VALUE;
6806 pass_check;
6807 ELSE
6808 fail_check;
6809
6810 END IF; /* end of numeric check for bank */
6811
6812 ELSE
6813 fail_check;
6814
6815 END IF; /* end of length check for bank */
6816
6817 END IF; /* end of mandatory check */
6818 /*
6819 IF l_DEBUG in ('Y', 'C') THEN
6820 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_br');
6821 END IF;
6822 */
6823 END CE_VALIDATE_BANK_BR;
6824
6825 /* -------------------------------------------------------------------- */
6826
6827 -- new bank validations 5/14/02
6828
6829 procedure CE_VALIDATE_BANK_DE(Xi_BANK_NUMBER in varchar2)
6830 AS
6831 BANK_NUM varchar2(30);
6832 numeric_result varchar2(40);
6833
6834 /**************************/
6835 /* SUB-PROCEDURES SECTION */
6836 /**************************/
6837
6838 procedure fail_check is
6839 begin
6840 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
6841 fnd_msg_pub.add;
6842 IF l_DEBUG in ('Y', 'C') THEN
6843 cep_standard.debug('CE_VALIDATE_BANK_DE: ' || 'CE_INVALID_BANK_NUM');
6844 END IF;
6845
6846 end fail_check;
6847
6848 procedure pass_check is
6849 begin
6850
6851 IF l_DEBUG in ('Y', 'C') THEN
6852 null;
6853 -- cep_standard.debug('CE_VALIDATE_BANK_DE: ' || 'pass_check');
6854 END IF;
6855 end pass_check;
6856
6857 /****************/
6858 /* MAIN SECTION */
6859 /****************/
6860 BEGIN
6861 IF l_DEBUG in ('Y', 'C') THEN
6862 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_de');
6863 END IF;
6864
6865 BANK_NUM := upper(replace(Xi_BANK_NUMBER,' ',''));
6866
6867 BANK_NUM := replace(BANK_NUM,'-','');
6868
6869 IF (BANK_NUM) is not null then
6870 IF length(BANK_NUM) = 8 then
6871 numeric_result := ce_check_numeric(BANK_NUM,1,length(BANK_NUM));
6872
6873 IF numeric_result = '0'
6874 then /* its numeric so continue */
6875 pass_check;
6876 ELSE
6877 IF l_DEBUG in ('Y', 'C') THEN
6878 cep_standard.debug('bank num is not numeric');
6879 END IF;
6880 fail_check;
6881 END IF; /* end of numeric check */
6882 ELSE
6883 IF l_DEBUG in ('Y', 'C') THEN
6884 cep_standard.debug('bank num length is not 8');
6885 END IF;
6886 fail_check;
6887
6888 END IF; /* end of numeric check */
6889
6890 ELSE
6891 pass_check;
6892
6893 END IF; /* end of length check */
6894 /*
6895 IF l_DEBUG in ('Y', 'C') THEN
6896 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_de');
6897 END IF;
6898 */
6899 END CE_VALIDATE_BANK_DE;
6900
6901 /* -------------------------------------------------------------------- */
6902
6903 procedure CE_VALIDATE_BANK_GR(Xi_BANK_NUMBER in varchar2)
6904 AS
6905 BANK_VALUE varchar2(30);
6906 numeric_result varchar2(40);
6907
6908 /**************************/
6909 /* SUB-PROCEDURES SECTION */
6910 /**************************/
6911
6912 procedure fail_check is
6913 begin
6914 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
6915 fnd_msg_pub.add;
6916 IF l_DEBUG in ('Y', 'C') THEN
6917 cep_standard.debug('CE_VALIDATE_BANK_GR: ' || 'CE_INVALID_BANK_NUM');
6918 END IF;
6919
6920 end fail_check;
6921
6922 procedure pass_check is
6923 begin
6924
6925 IF l_DEBUG in ('Y', 'C') THEN
6926 null;
6927 -- cep_standard.debug('CE_VALIDATE_BANK_GR: ' || 'pass_check');
6928 END IF;
6929 end pass_check;
6930
6931 /****************/
6932 /* MAIN SECTION */
6933 /****************/
6934 BEGIN
6935 IF l_DEBUG in ('Y', 'C') THEN
6936 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_gr');
6937 END IF;
6938
6939 BANK_VALUE := upper(replace(Xi_BANK_NUMBER,' ',''));
6940
6941 BANK_VALUE := replace(BANK_VALUE,'-','');
6942
6943 IF (BANK_VALUE) is not null then
6944
6945 IF length(BANK_VALUE) < 4
6946 then
6947 numeric_result := ce_check_numeric(BANK_VALUE,1,length(BANK_VALUE));
6948
6949 IF numeric_result = '0'
6950 then /* its numeric so continue */
6951 pass_check;
6952 ELSE
6953 fail_check;
6954
6955 END IF; /* end of numeric check */
6956
6957 ELSE
6958 fail_check;
6959
6960 END IF; /* end of length check */
6961
6962 ELSE
6963 pass_check;
6964
6965 END IF;
6966 /*
6967 IF l_DEBUG in ('Y', 'C') THEN
6968 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_gr');
6969 END IF;
6970 */
6971 END CE_VALIDATE_BANK_GR;
6972
6973 /* -------------------------------------------------------------------- */
6974
6975 procedure CE_VALIDATE_BANK_IS(Xi_BANK_NUMBER in varchar2,
6976 Xo_VALUE_OUT OUT NOCOPY varchar2)
6977 AS
6978 BANK_NUM varchar2(60);
6979 numeric_result varchar2(40);
6980
6984
6981 /**************************/
6982 /* SUB-PROCEDURES SECTION */
6983 /**************************/
6985 procedure fail_check is
6986 begin
6987 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
6988 fnd_msg_pub.add;
6989 IF l_DEBUG in ('Y', 'C') THEN
6990 cep_standard.debug('CE_VALIDATE_BANK_IS: ' || 'CE_INVALID_BANK_NUM');
6991 END IF;
6992
6993 end fail_check;
6994
6995 procedure pass_check is
6996 begin
6997
6998 IF l_DEBUG in ('Y', 'C') THEN
6999 null;
7000 -- cep_standard.debug('CE_VALIDATE_BANK_IS: ' || 'pass_check');
7001 END IF;
7002 end pass_check;
7003
7004 /****************/
7005 /* MAIN SECTION */
7006 /****************/
7007 BEGIN
7008 IF l_DEBUG in ('Y', 'C') THEN
7009 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_is');
7010 END IF;
7011
7012 BANK_NUM := upper(replace(Xi_BANK_NUMBER,' ',''));
7013
7014 BANK_NUM := replace(BANK_NUM,'-','');
7015
7016 IF (BANK_NUM) is not null then
7017 IF length(BANK_NUM) < 5 then
7018 numeric_result := ce_check_numeric(BANK_NUM,1,length(BANK_NUM));
7019
7020 IF numeric_result = '0'
7021 then /* its numeric so continue */
7022
7023 Xo_VALUE_OUT := lpad(bank_num,4,0);
7024 pass_check;
7025 ELSE
7026 fail_check;
7027 END IF; /* end of numeric check */
7028 ELSE
7029 fail_check;
7030
7031 END IF; /* end of length check */
7032
7033 ELSE
7034 pass_check;
7035
7036 END IF;
7037 /*
7038 IF l_DEBUG in ('Y', 'C') THEN
7039 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_is');
7040 END IF;
7041 */
7042 END CE_VALIDATE_BANK_IS;
7043
7044 /* -------------------------------------------------------------------- */
7045
7046 procedure CE_VALIDATE_BANK_IE(Xi_BANK_NUMBER in varchar2)
7047 AS
7048 BANK_NUM varchar2(60);
7049 numeric_result varchar2(40);
7050
7051 /**************************/
7052 /* SUB-PROCEDURES SECTION */
7053 /**************************/
7054
7055 procedure fail_check is
7056 begin
7057 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
7058 fnd_msg_pub.add;
7059 IF l_DEBUG in ('Y', 'C') THEN
7060 cep_standard.debug('CE_VALIDATE_BANK_IE: ' || 'CE_INVALID_BANK_NUM');
7061 END IF;
7062
7063 end fail_check;
7064
7065 procedure pass_check is
7066 begin
7067
7068 IF l_DEBUG in ('Y', 'C') THEN
7069 null;
7070 -- cep_standard.debug('CE_VALIDATE_BANK_IE: ' || 'pass_check');
7071 END IF;
7072 end pass_check;
7073
7074 /****************/
7075 /* MAIN SECTION */
7076 /****************/
7077 BEGIN
7078 IF l_DEBUG in ('Y', 'C') THEN
7079 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_ie');
7080 END IF;
7081
7082 BANK_NUM := upper(replace(Xi_BANK_NUMBER,' ',''));
7083
7084 BANK_NUM := replace(BANK_NUM,'-','');
7085
7086 IF (BANK_NUM) is not null then
7087 IF length(BANK_NUM) = 8 then
7088 numeric_result := ce_check_numeric(BANK_NUM,1,length(BANK_NUM));
7089
7090 IF numeric_result = '0'
7091 then /* its numeric so continue */
7092 pass_check;
7093 ELSE
7094 fail_check;
7095 END IF; /* end of numeric check */
7096 ELSE
7097 fail_check;
7098
7099 END IF; /* end of length check */
7100
7101 ELSE
7102 pass_check;
7103
7104 END IF;
7105 /*
7106 IF l_DEBUG in ('Y', 'C') THEN
7107 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_ie');
7108 END IF;
7109 */
7110 END CE_VALIDATE_BANK_IE;
7111
7112 /* -------------------------------------------------------------------- */
7113
7114 procedure CE_VALIDATE_BANK_IT(Xi_BANK_NUMBER in varchar2,
7115 Xi_PASS_MAND_CHECK in varchar2)
7116 AS
7117 BANK_VALUE varchar2(30);
7118
7119 numeric_result varchar2(40);
7120
7121 /**************************/
7122 /* SUB-PROCEDURES SECTION */
7123 /**************************/
7124
7125 procedure fail_mandatory is
7126 begin
7127 fnd_message.set_name ('CE', 'CE_ENTER_BANK_NUM');
7128 fnd_msg_pub.add;
7129 IF l_DEBUG in ('Y', 'C') THEN
7130 cep_standard.debug('CE_VALIDATE_BANK_IT: ' || 'CE_ENTER_BANK_NUM');
7131 END IF;
7132 end fail_mandatory;
7133
7134 procedure fail_check is
7135 begin
7136 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
7137 fnd_msg_pub.add;
7138 IF l_DEBUG in ('Y', 'C') THEN
7139 cep_standard.debug('CE_VALIDATE_BANK_IT: ' || 'CE_INVALID_BANK_NUM');
7140 END IF;
7141
7142 end fail_check;
7143
7144 procedure pass_check is
7145 begin
7146
7147 IF l_DEBUG in ('Y', 'C') THEN
7148 null;
7149 -- cep_standard.debug('CE_VALIDATE_BANK_IT: ' || 'pass_check');
7150 END IF;
7151 end pass_check;
7152
7153 /****************/
7154 /* MAIN SECTION */
7155 /****************/
7156 BEGIN
7157 IF l_DEBUG in ('Y', 'C') THEN
7158 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_it');
7159 END IF;
7163 BANK_VALUE := replace(BANK_VALUE,'-','');
7160
7161 BANK_VALUE := upper(replace(Xi_BANK_NUMBER,' ',''));
7162
7164
7165
7166 IF Xi_PASS_MAND_CHECK = 'F'
7167 then
7168 fail_mandatory;
7169
7170 ELSIF Xi_PASS_MAND_CHECK = 'P'
7171 then
7172
7173 BANK_VALUE := replace(BANK_VALUE,' ','');
7174
7175 IF length(BANK_VALUE) = 5
7176 then
7177
7178 numeric_result := ce_check_numeric(BANK_VALUE,1,length(BANK_VALUE));
7179
7180 IF numeric_result = '0'
7181 then
7182 /* its numeric so continue */
7183
7184 pass_check;
7185 ELSE
7186 fail_check;
7187
7188 END IF; /* end of numeric check */
7189
7190 ELSE
7191 fail_check;
7192
7193 END IF; /* end of length check */
7194 END IF; /* end of mandatory check */
7195
7196 /*
7197 IF l_DEBUG in ('Y', 'C') THEN
7198 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_it');
7199 END IF;
7200 */
7201 END CE_VALIDATE_BANK_IT;
7202
7203 /* -------------------------------------------------------------------- */
7204
7205 procedure CE_VALIDATE_BANK_LU(Xi_BANK_NUMBER in varchar2)
7206 AS
7207 BANK_NUM varchar2(60);
7208 numeric_result varchar2(40);
7209
7210 /**************************/
7211 /* SUB-PROCEDURES SECTION */
7212 /**************************/
7213
7214 procedure fail_check is
7215 begin
7216 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
7217 fnd_msg_pub.add;
7218 IF l_DEBUG in ('Y', 'C') THEN
7219 cep_standard.debug('CE_VALIDATE_BANK_LU: ' || 'CE_INVALID_BANK_NUM');
7220 END IF;
7221
7222 end fail_check;
7223
7224 procedure pass_check is
7225 begin
7226
7227 IF l_DEBUG in ('Y', 'C') THEN
7228 null;
7229 -- cep_standard.debug('CE_VALIDATE_BANK_LU: ' || 'pass_check');
7230 END IF;
7231 end pass_check;
7232
7233 /****************/
7234 /* MAIN SECTION */
7235 /****************/
7236 BEGIN
7237 IF l_DEBUG in ('Y', 'C') THEN
7238 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_lu');
7239 END IF;
7240
7241 BANK_NUM := upper(replace(Xi_BANK_NUMBER,' ',''));
7242
7243 BANK_NUM := replace(BANK_NUM,'-','');
7244
7245 IF (BANK_NUM) is not null then
7246 IF length(BANK_NUM) = 2 then
7247 numeric_result := ce_check_numeric(BANK_NUM,1,length(BANK_NUM));
7248
7249 IF numeric_result = '0'
7250 then /* its numeric so continue */
7251 pass_check;
7252 ELSE
7253 fail_check;
7254 END IF; /* end of numeric check */
7255 ELSE
7256 fail_check;
7257
7258 END IF; /* end of length check */
7259
7260 ELSE
7261 pass_check;
7262
7263 END IF;
7264 /*
7265 IF l_DEBUG in ('Y', 'C') THEN
7266 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_lu');
7267 END IF;
7268 */
7269 END CE_VALIDATE_BANK_LU;
7270
7271 /* -------------------------------------------------------------------- */
7272
7273 procedure CE_VALIDATE_BANK_PL(Xi_BANK_NUMBER in varchar2)
7274 AS
7275 BANK_NUM varchar2(60);
7276 numeric_result varchar2(40);
7277 cal_cd1 number;
7278 /**************************/
7279 /* SUB-PROCEDURES SECTION */
7280 /**************************/
7281
7282 procedure fail_check is
7283 begin
7284 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
7285 fnd_msg_pub.add;
7286 IF l_DEBUG in ('Y', 'C') THEN
7287 cep_standard.debug('CE_VALIDATE_BANK_PL: ' || 'CE_INVALID_BANK_NUM');
7288 END IF;
7289
7290 end fail_check;
7291
7292
7293 procedure pass_check is
7294 begin
7295
7296 IF l_DEBUG in ('Y', 'C') THEN
7297 null;
7298 -- cep_standard.debug('CE_VALIDATE_BANK_PL: ' || 'pass_check');
7299 END IF;
7300 end pass_check;
7301
7302 /****************/
7303 /* MAIN SECTION */
7304 /****************/
7305 BEGIN
7306 IF l_DEBUG in ('Y', 'C') THEN
7307 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_pl');
7308 END IF;
7309
7310 BANK_NUM := upper(replace(Xi_BANK_NUMBER,' ',''));
7311
7312 BANK_NUM := replace(BANK_NUM,'-','');
7313
7314 IF (BANK_NUM) is not null then
7315 IF length(BANK_NUM) = 8 then
7316 numeric_result := ce_check_numeric(BANK_NUM,1,length(BANK_NUM));
7317
7318 IF numeric_result = '0'
7319 then /* its numeric so continue */
7320
7321 -- Modulus 10
7322
7323 cal_cd1 := 10 - mod(((to_number(substr(BANK_NUM,1,1)) * 1)
7324 +(to_number(substr(BANK_NUM,2,1)) * 7)
7325 +(to_number(substr(BANK_NUM,3,1)) * 9)
7326 +(to_number(substr(BANK_NUM,4,1)) * 3)
7327 +(to_number(substr(BANK_NUM,5,1)) * 1)
7328 +(to_number(substr(BANK_NUM,6,1)) * 7)
7329 +(to_number(substr(BANK_NUM,7,1)) * 9)),10);
7330
7331 IF l_DEBUG in ('Y', 'C') THEN
7332 cep_standard.debug('cal_cd1: '|| cal_cd1);
7333 END IF;
7334
7335 IF cal_cd1 = substr(BANK_NUM,8,1) then
7336 pass_check;
7337 else
7338 fail_check;
7339 end if;
7340
7341 ELSE
7342 fail_check;
7346
7343 END IF; /* end of numeric check */
7344 ELSE
7345 fail_check;
7347 END IF; /* end of length check */
7348
7349 ELSE
7350 pass_check;
7351
7352 END IF;
7353 /*
7354 IF l_DEBUG in ('Y', 'C') THEN
7355 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_pl');
7356 END IF;
7357 */
7358 END CE_VALIDATE_BANK_PL;
7359
7360 /* -------------------------------------------------------------------- */
7361
7362 procedure CE_VALIDATE_BANK_SE(Xi_BANK_NUMBER in varchar2)
7363 AS
7364 BANK_NUM varchar2(60);
7365 numeric_result varchar2(40);
7366
7367 /**************************/
7368 /* SUB-PROCEDURES SECTION */
7369 /**************************/
7370
7371 procedure fail_check is
7372 begin
7373 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
7374 fnd_msg_pub.add;
7375 IF l_DEBUG in ('Y', 'C') THEN
7376 cep_standard.debug('CE_VALIDATE_BANK_SE: ' || 'CE_INVALID_BANK_NUM');
7377 END IF;
7378
7379 end fail_check;
7380
7381 procedure pass_check is
7382 begin
7383
7384 IF l_DEBUG in ('Y', 'C') THEN
7385 null;
7386 -- cep_standard.debug('CE_VALIDATE_BANK_SE: ' || 'pass_check');
7387 END IF;
7388 end pass_check;
7389
7390 /****************/
7391 /* MAIN SECTION */
7392 /****************/
7393 BEGIN
7394 IF l_DEBUG in ('Y', 'C') THEN
7395 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_se');
7396 END IF;
7397
7398 BANK_NUM := upper(replace(Xi_BANK_NUMBER,' ',''));
7399
7400 BANK_NUM := replace(BANK_NUM,'-','');
7401
7402 IF (BANK_NUM) is not null then
7403 IF ((length(BANK_NUM) = 4) or (length(BANK_NUM) = 5)) then
7404 numeric_result := ce_check_numeric(BANK_NUM,1,length(BANK_NUM));
7405
7406 IF numeric_result = '0'
7407 then /* its numeric so continue */
7408 pass_check;
7409 ELSE
7410 fail_check;
7411 END IF; /* end of numeric check */
7412 ELSE
7413 fail_check;
7414
7415 END IF; /* end of length check */
7416
7417 ELSE
7418 pass_check;
7419
7420 END IF;
7421 /*
7422 IF l_DEBUG in ('Y', 'C') THEN
7423 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_se');
7424 END IF;
7425 */
7426 END CE_VALIDATE_BANK_SE;
7427
7428 /* -------------------------------------------------------------------- */
7429
7430 procedure CE_VALIDATE_BANK_CH(Xi_BANK_NUMBER in varchar2)
7431 AS
7432 BANK_NUM varchar2(60);
7433 numeric_result varchar2(40);
7434
7435 /**************************/
7436 /* SUB-PROCEDURES SECTION */
7437 /**************************/
7438
7439 procedure fail_check is
7440 begin
7441 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
7442 fnd_msg_pub.add;
7443 IF l_DEBUG in ('Y', 'C') THEN
7444 cep_standard.debug('CE_VALIDATE_BANK_CH: ' || 'CE_INVALID_BANK_NUM');
7445 END IF;
7446
7447 end fail_check;
7448
7449 procedure pass_check is
7450 begin
7451
7452 IF l_DEBUG in ('Y', 'C') THEN
7453 null;
7454 -- cep_standard.debug('CE_VALIDATE_BANK_CH: ' || 'pass_check');
7455 END IF;
7456 end pass_check;
7457
7458 /****************/
7459 /* MAIN SECTION */
7460 /****************/
7461 BEGIN
7462 IF l_DEBUG in ('Y', 'C') THEN
7463 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_ch');
7464 END IF;
7465
7466 BANK_NUM := upper(replace(Xi_BANK_NUMBER,' ',''));
7467
7468 BANK_NUM := replace(BANK_NUM,'-','');
7469
7470 IF (BANK_NUM) is not null then
7471 IF ((length(BANK_NUM) > 2) and (length(BANK_NUM) < 6)) then
7472 numeric_result := ce_check_numeric(BANK_NUM,1,length(BANK_NUM));
7473
7474 IF numeric_result = '0'
7475 then /* its numeric so continue */
7476 pass_check;
7477 ELSE
7478 fail_check;
7479 END IF; /* end of numeric check */
7480 ELSE
7481 fail_check;
7482
7483 END IF; /* end of length check */
7484
7485 ELSE
7486 pass_check;
7487
7488 END IF;
7489 /*
7490 IF l_DEBUG in ('Y', 'C') THEN
7491 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_ch');
7492 END IF;
7493 */
7494 END CE_VALIDATE_BANK_CH;
7495
7496 /* -------------------------------------------------------------------- */
7497
7498 procedure CE_VALIDATE_BANK_GB(Xi_BANK_NUMBER in varchar2)
7499 AS
7500 BANK_NUM varchar2(60);
7501 numeric_result varchar2(40);
7502
7503 /**************************/
7504 /* SUB-PROCEDURES SECTION */
7505 /**************************/
7506
7507 procedure fail_check is
7508 begin
7509 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
7510 fnd_msg_pub.add;
7511 IF l_DEBUG in ('Y', 'C') THEN
7512 cep_standard.debug('CE_VALIDATE_BANK_GB: ' || 'CE_INVALID_BANK_NUM');
7513 END IF;
7514
7515 end fail_check;
7516
7517 procedure pass_check is
7518 begin
7519
7520 IF l_DEBUG in ('Y', 'C') THEN
7521 null;
7522 -- cep_standard.debug('CE_VALIDATE_BANK_GB: ' || 'pass_check');
7523 END IF;
7524 end pass_check;
7528 /****************/
7525
7526 /****************/
7527 /* MAIN SECTION */
7529 BEGIN
7530 IF l_DEBUG in ('Y', 'C') THEN
7531 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_gb');
7532 END IF;
7533
7534 BANK_NUM := upper(replace(Xi_BANK_NUMBER,' ',''));
7535
7536 BANK_NUM := replace(BANK_NUM,'-','');
7537
7538 IF (BANK_NUM) is not null then
7539 IF length(BANK_NUM) = 6 then
7540 numeric_result := ce_check_numeric(BANK_NUM,1,length(BANK_NUM));
7541
7542 IF numeric_result = '0'
7543 then /* its numeric so continue */
7544 pass_check;
7545 ELSE
7546 fail_check;
7547 END IF; /* end of numeric check */
7548 ELSE
7549 fail_check;
7550
7551 END IF; /* end of length check */
7552
7553 ELSE
7554 pass_check;
7555
7556 END IF;
7557 /*
7558 IF l_DEBUG in ('Y', 'C') THEN
7559 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.ce_validate_bank_gb');
7560 END IF;
7561 */
7562 END CE_VALIDATE_BANK_GB;
7563
7564 /* -------------------------------------------------------------------- */
7565
7566 procedure CE_VALIDATE_BANK_CO(Xi_COUNTRY_NAME in varchar2,
7567 Xi_BANK_NAME in varchar2,
7568 Xi_TAX_PAYER_ID in varchar2)
7569 AS
7570 tax_id varchar2(60);
7571 tax_id1 varchar2(60);
7572 tax_id_end number;
7573
7574 tax_id_cd_start number;
7575 tax_id_cd varchar2(60);
7576
7577 numeric_result varchar2(40);
7578
7579 l_supp varchar(10);
7580 l_comp varchar(10);
7581 l_cust varchar(10);
7582 l_bank varchar(10);
7583
7584 /**************************/
7585 /* SUB-PROCEDURES SECTION */
7586 /**************************/
7587
7588 procedure fail_check is
7589 begin
7590 fnd_message.set_name ('CE', 'CE_INVALID_TAX_PAYER_ID');
7591 fnd_msg_pub.add;
7592 IF l_DEBUG in ('Y', 'C') THEN
7593 cep_standard.debug('CE_VALIDATE_BANK_CO: ' || 'CE_INVALID_TAX_PAYER_ID');
7594 END IF;
7595
7596 end fail_check;
7597
7598 procedure fail_check_unique is
7599 begin
7600 fnd_message.set_name ('CE', 'CE_TAX_PAYER_ID_NOT_UNIQUE');
7601 fnd_msg_pub.add;
7602 IF l_DEBUG in ('Y', 'C') THEN
7603 cep_standard.debug('CE_VALIDATE_BANK_CO: ' || 'CE_TAX_PAYER_ID_NOT_UNIQUE');
7604 END IF;
7605
7606 end fail_check_unique;
7607
7608 procedure fail_check_required is
7609 begin
7610 fnd_message.set_name ('CE', 'CE_ENTER_TAX_PAYER_ID');
7611 fnd_msg_pub.add;
7612 IF l_DEBUG in ('Y', 'C') THEN
7613 cep_standard.debug('CE_VALIDATE_BANK_CO: ' || 'CE_ENTER_TAX_PAYER_ID');
7614 END IF;
7615
7616 end fail_check_required;
7617
7618 procedure pass_check is
7619 begin
7620
7621 IF l_DEBUG in ('Y', 'C') THEN
7622 null;
7623 -- cep_standard.debug('CE_VALIDATE_BANK_CO: ' || 'pass_check');
7624 END IF;
7625 end pass_check;
7626
7627 /****************/
7628 /* MAIN SECTION */
7629 /****************/
7630 BEGIN
7631
7632 IF l_DEBUG in ('Y', 'C') THEN
7633 cep_standard.debug('>>CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_CO');
7634 END IF;
7635
7636 -- the last digit of tax payer id is the check digits
7637
7638 TAX_ID1 := upper(replace(Xi_TAX_PAYER_ID,' ',''));
7639 TAX_ID1 := replace(TAX_ID1,'-','');
7640 tax_id_end := (length(tax_id1) - 1);
7641 tax_id := substr(tax_id1,1, tax_id_end);
7642
7643 tax_id_cd_start := (length(tax_id1));
7644 tax_id_cd := substr(tax_id1, tax_id_cd_start, length(tax_id1));
7645
7646 IF l_DEBUG in ('Y', 'C') THEN
7647 cep_standard.debug('tax_id_cd: ' || tax_id_cd || ' tax_id: ' || tax_id );
7648 END IF;
7649
7650 IF (tax_id) is not null then
7651 IF length(tax_id) <= 14 then
7652 numeric_result := ce_check_numeric(tax_id,1,length(tax_id));
7653
7654 IF numeric_result = '0'
7655 then /* its numeric so continue */
7656 if CE_VALIDATE_BANKINFO_UPG.CE_VAL_UNIQUE_TAX_PAYER_ID(Xi_COUNTRY_NAME,TAX_ID) = 'FALSE' then
7657 IF l_DEBUG in ('Y', 'C') THEN
7658 cep_standard.debug('failed CE_VAL_UNIQUE_TAX_PAYER_ID' );
7659 END IF;
7660 fail_check_unique;
7661 else
7662 CE_VALIDATE_BANKINFO_UPG.CE_CHECK_CROSS_MODULE_TAX_ID(Xi_COUNTRY_NAME,
7663 Xi_BANK_NAME,
7664 TAX_ID,
7665 l_cust,
7666 l_supp,
7667 l_comp,
7668 l_bank);
7669
7670 IF l_DEBUG in ('Y', 'C') THEN
7671 cep_standard.debug('l_cust: '|| l_cust ||' l_supp: '|| l_supp ||
7672 ' l_comp: '|| l_comp ||' l_bank: '|| l_bank );
7673 END IF;
7674
7675
7676 IF (l_supp = 'bk3' OR l_cust='bk2' OR l_comp = 'bk1')THEN
7677 --FND_MESSAGE.SET_NAME('JG','JG_ZZ_PRIMARYID_NUM_EXIST');
7678 FND_MESSAGE.SET_NAME('CE','CE_TAXID_EXIST');
7679 fnd_msg_pub.add;
7680 END IF;
7681 IF (l_supp = 'bk5') THEN
7682 --FND_MESSAGE.SET_NAME('JG','JG_ZZ_TAXID_BANK_EXIST_AS_SUPP');
7683 FND_MESSAGE.SET_NAME('CE','CE_TAXID_BANK_EXIST_AS_SUPP');
7684 fnd_msg_pub.add;
7685 END IF;
7686 IF (l_cust = 'bk4') THEN
7687 --FND_MESSAGE.SET_NAME('JG','JG_ZZ_TAXID_BANK_EXIST_AS_CUST');
7688 FND_MESSAGE.SET_NAME('CE','CE_TAXID_BANK_EXIST_AS_CUST');
7689 fnd_msg_pub.add;
7690 END IF;
7691 IF (l_comp = 'bk6') THEN
7692 --FND_MESSAGE.SET_NAME('JG','JG_ZZ_TAXID_BANK_EXIST_AS_COMP');
7696 IF CE_VALIDATE_BANKINFO_UPG.CE_TAX_ID_CHECK_ALGORITHM(TAX_ID,Xi_COUNTRY_NAME,TAX_ID_CD) = 'FALSE' then
7693 FND_MESSAGE.SET_NAME('CE','CE_TAXID_BANK_EXIST_AS_COMP');
7694 fnd_msg_pub.add;
7695 END IF;
7697 IF l_DEBUG in ('Y', 'C') THEN
7698 cep_standard.debug('failed CE_TAX_ID_CHECK_ALGORITHM' );
7699 END IF;
7700 fail_check;
7701 END IF;
7702
7703 end if;
7704 ELSE
7705 fail_check;
7706 END IF; /* end of numeric check */
7707 ELSE
7708 fail_check;
7709
7710 END IF; /* end of length check */
7711
7712 ELSE --tax payer id is required
7713 fail_check_required;
7714
7715 END IF;
7716
7717 /*
7718 IF l_DEBUG in ('Y', 'C') THEN
7719 cep_standard.debug('<<CE_VALIDATE_BANKINFO_UPG.CE_VALIDATE_BANK_CO');
7720 END IF;
7721 */
7722 END CE_VALIDATE_BANK_CO;
7723
7724 --Added 10/19/04
7725
7726 /* -------------------------------------------------------------------- */
7727
7728 procedure CE_VALIDATE_BANK_AU(Xi_BANK_NUMBER in varchar2)
7729 AS
7730 BANK_NUM varchar2(60);
7731 numeric_result varchar2(40);
7732
7733 /**************************/
7734 /* SUB-PROCEDURES SECTION */
7735 /**************************/
7736
7737 procedure fail_check is
7738 begin
7739 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
7740 fnd_msg_pub.add;
7741 IF l_DEBUG in ('Y', 'C') THEN
7742 cep_standard.debug('CE_VALIDATE_BANK_AU: ' || 'CE_INVALID_BANK_NUM');
7743 END IF;
7744
7745 end fail_check;
7746
7747 procedure pass_check is
7748 begin
7749
7750 IF l_DEBUG in ('Y', 'C') THEN
7751 cep_standard.debug('CE_VALIDATE_BANK_AU: ' || 'pass_check');
7752 END IF;
7753 end pass_check;
7754
7755 /****************/
7756 /* MAIN SECTION */
7757 /****************/
7758 BEGIN
7759 IF l_DEBUG in ('Y', 'C') THEN
7760 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_bank_au');
7761 END IF;
7762
7763 BANK_NUM := upper(replace(Xi_BANK_NUMBER,' ',''));
7764
7765 BANK_NUM := replace(BANK_NUM,'-','');
7766
7767 IF (BANK_NUM) is not null then
7768 IF length(BANK_NUM) = 2 or length(BANK_NUM) = 3 then
7769 numeric_result := ce_check_numeric(BANK_NUM,1,length(BANK_NUM));
7770
7771 IF numeric_result = '0'
7772 then /* its numeric so continue */
7773 pass_check;
7774 ELSE
7775 fail_check;
7776 END IF; /* end of numeric check */
7777 ELSE
7778 fail_check;
7779
7780 END IF; /* end of length check */
7781
7782 ELSE
7783 pass_check;
7784
7785 END IF;
7786 IF l_DEBUG in ('Y', 'C') THEN
7787 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_bank_au');
7788 END IF;
7789
7790 END CE_VALIDATE_BANK_AU;
7791
7792 /* -------------------------------------------------------------------- */
7793
7794 procedure CE_VALIDATE_BANK_IL(Xi_BANK_NUMBER in varchar2,
7795 Xi_PASS_MAND_CHECK in varchar2)
7796 AS
7797 BANK_VALUE varchar2(30);
7798
7799 numeric_result varchar2(40);
7800
7801 /**************************/
7802 /* SUB-PROCEDURES SECTION */
7803 /**************************/
7804
7805 procedure fail_mandatory is
7806 begin
7807 fnd_message.set_name ('CE', 'CE_ENTER_BANK_NUM');
7808 fnd_msg_pub.add;
7809 IF l_DEBUG in ('Y', 'C') THEN
7810 cep_standard.debug('CE_VALIDATE_BANK_IL: ' || 'CE_ENTER_BANK_NUM');
7811 END IF;
7812 end fail_mandatory;
7813
7814 procedure fail_check is
7815 begin
7816 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
7817 fnd_msg_pub.add;
7818 IF l_DEBUG in ('Y', 'C') THEN
7819 cep_standard.debug('CE_VALIDATE_BANK_IL: ' || 'CE_INVALID_BANK_NUM');
7820 END IF;
7821
7822 end fail_check;
7823
7824 procedure pass_check is
7825 begin
7826
7827 IF l_DEBUG in ('Y', 'C') THEN
7828 cep_standard.debug('CE_VALIDATE_BANK_IL: ' || 'pass_check');
7829 END IF;
7830 end pass_check;
7831
7832 /****************/
7833 /* MAIN SECTION */
7834 /****************/
7835 BEGIN
7836 IF l_DEBUG in ('Y', 'C') THEN
7837 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_bank_il');
7838 END IF;
7839
7840 BANK_VALUE := upper(replace(Xi_BANK_NUMBER,' ',''));
7841
7842 BANK_VALUE := replace(BANK_VALUE,'-','');
7843
7844
7845 IF Xi_PASS_MAND_CHECK = 'F'
7846 then
7847 fail_mandatory;
7848
7849 ELSIF Xi_PASS_MAND_CHECK = 'P'
7850 then
7851
7852 BANK_VALUE := replace(BANK_VALUE,' ','');
7853
7854 IF length(BANK_VALUE) <= 2
7855 then
7856
7857 numeric_result := ce_check_numeric(BANK_VALUE,1,length(BANK_VALUE));
7858
7859 IF numeric_result = '0'
7860 then
7861 /* its numeric so continue */
7862
7863 pass_check;
7864 ELSE
7865 fail_check;
7866
7867 END IF; /* end of numeric check */
7868
7869 ELSE
7870 fail_check;
7871
7872 END IF; /* end of length check */
7873 END IF; /* end of mandatory check */
7874
7875 IF l_DEBUG in ('Y', 'C') THEN
7879 END CE_VALIDATE_BANK_IL;
7876 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_bank_il');
7877 END IF;
7878
7880
7881
7882 /* -------------------------------------------------------------------- */
7883
7884 procedure CE_VALIDATE_BANK_NZ(Xi_BANK_NUMBER in varchar2,
7885 Xi_PASS_MAND_CHECK in varchar2)
7886 AS
7887 BANK_VALUE varchar2(30);
7888
7889 numeric_result varchar2(40);
7890
7891 /**************************/
7892 /* SUB-PROCEDURES SECTION */
7893 /**************************/
7894
7895 procedure fail_mandatory is
7896 begin
7897 fnd_message.set_name ('CE', 'CE_ENTER_BANK_NUM');
7898 fnd_msg_pub.add;
7899 IF l_DEBUG in ('Y', 'C') THEN
7900 cep_standard.debug('CE_VALIDATE_BANK_NZ: ' || 'CE_ENTER_BANK_NUM');
7901 END IF;
7902 end fail_mandatory;
7903
7904 procedure fail_check is
7905 begin
7906 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
7907 fnd_msg_pub.add;
7908 IF l_DEBUG in ('Y', 'C') THEN
7909 cep_standard.debug('CE_VALIDATE_BANK_NZ: ' || 'CE_INVALID_BANK_NUM');
7910 END IF;
7911
7912 end fail_check;
7913
7914 procedure pass_check is
7915 begin
7916
7917 IF l_DEBUG in ('Y', 'C') THEN
7918 cep_standard.debug('CE_VALIDATE_BANK_NZ: ' || 'pass_check');
7919 END IF;
7920 end pass_check;
7921
7922 /****************/
7923 /* MAIN SECTION */
7924 /****************/
7925 BEGIN
7926 IF l_DEBUG in ('Y', 'C') THEN
7927 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_bank_nz');
7928 END IF;
7929
7930 BANK_VALUE := upper(replace(Xi_BANK_NUMBER,' ',''));
7931
7932 BANK_VALUE := replace(BANK_VALUE,'-','');
7933
7934
7935 IF Xi_PASS_MAND_CHECK = 'F'
7936 then
7937 fail_mandatory;
7938
7939 ELSIF Xi_PASS_MAND_CHECK = 'P'
7940 then
7941
7942 BANK_VALUE := replace(BANK_VALUE,' ','');
7943
7944 IF length(BANK_VALUE) = 2
7945 then
7946
7947 numeric_result := ce_check_numeric(BANK_VALUE,1,length(BANK_VALUE));
7948
7949 IF numeric_result = '0'
7950 then
7951 /* its numeric so continue */
7952
7953 pass_check;
7954 ELSE
7955 fail_check;
7956
7957 END IF; /* end of numeric check */
7958
7959 ELSE
7960 fail_check;
7961
7962 END IF; /* end of length check */
7963 END IF; /* end of mandatory check */
7964
7965 IF l_DEBUG in ('Y', 'C') THEN
7966 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_bank_nz');
7967 END IF;
7968
7969
7970 END CE_VALIDATE_BANK_NZ;
7971
7972 /* -------------------------------------------------------------------- */
7973
7974 procedure CE_VALIDATE_BANK_JP(Xi_BANK_NUMBER in varchar2,
7975 Xi_BANK_NAME_ALT in varchar2,
7976 Xi_PASS_MAND_CHECK in varchar2,
7977 Xi_VALIDATION_TYPE in varchar2)
7978 AS
7979 BANK_VALUE varchar2(30);
7980
7981 numeric_result varchar2(40);
7982
7983 /**************************/
7984 /* SUB-PROCEDURES SECTION */
7985 /**************************/
7986
7987 procedure fail_mandatory is
7988 begin
7989 fnd_message.set_name ('CE', 'CE_ENTER_BANK_NUM');
7990 fnd_msg_pub.add;
7991 IF l_DEBUG in ('Y', 'C') THEN
7992 cep_standard.debug('CE_VALIDATE_BANK_JP: ' || 'CE_ENTER_BANK_NUM');
7993 END IF;
7994 end fail_mandatory;
7995
7996 procedure fail_bank_name_alt is
7997 begin
7998 fnd_message.set_name ('CE', 'CE_ENTER_BANK_NAME_ALT');
7999 fnd_msg_pub.add;
8000 IF l_DEBUG in ('Y', 'C') THEN
8001 cep_standard.debug('CE_VALIDATE_BANK_JP: ' || 'CE_ENTER_BANK_NAME_ALT');
8002 END IF;
8003 end fail_bank_name_alt;
8004
8005
8006 procedure fail_check is
8007 begin
8008 fnd_message.set_name ('CE', 'CE_INVALID_BANK_NUM');
8009 fnd_msg_pub.add;
8010 IF l_DEBUG in ('Y', 'C') THEN
8011 cep_standard.debug('CE_VALIDATE_BANK_JP: ' || 'CE_INVALID_BANK_NUM');
8012 END IF;
8013
8014 end fail_check;
8015
8016 procedure pass_check is
8017 begin
8018
8019 IF l_DEBUG in ('Y', 'C') THEN
8020 cep_standard.debug('CE_VALIDATE_BANK_JP: ' || 'pass_check');
8021 END IF;
8022 end pass_check;
8023
8024 /****************/
8025 /* MAIN SECTION */
8026 /****************/
8027 BEGIN
8028 IF l_DEBUG in ('Y', 'C') THEN
8029 cep_standard.debug('>>CE_VALIDATE_BANKINFO.ce_validate_bank_jp');
8030 END IF;
8031
8032 BANK_VALUE := upper(replace(Xi_BANK_NUMBER,' ',''));
8033
8034 BANK_VALUE := replace(BANK_VALUE,'-','');
8035
8036
8037 IF Xi_PASS_MAND_CHECK = 'F'
8038 then
8039 fail_mandatory;
8040
8041 ELSIF Xi_PASS_MAND_CHECK = 'P'
8042 then
8043
8044 BANK_VALUE := replace(BANK_VALUE,' ','');
8045
8046 IF length(BANK_VALUE) = 3
8047 then
8048
8049 numeric_result := ce_check_numeric(BANK_VALUE,1,length(BANK_VALUE));
8050
8051 IF numeric_result = '0'
8052 then
8053 /* its numeric so continue */
8054
8055 pass_check;
8056 ELSE
8057 fail_check;
8058
8059 END IF; /* end of numeric check */
8060
8061 ELSE
8062 fail_check;
8063
8067 IF (Xi_VALIDATION_TYPE = 'ALL') THEN
8064 END IF; /* end of length check */
8065 END IF; /* end of mandatory check */
8066
8068 IF (Xi_BANK_NAME_ALT is null) THEN
8069 fail_bank_name_alt;
8070 END IF;
8071 END IF;
8072
8073 IF l_DEBUG in ('Y', 'C') THEN
8074 cep_standard.debug('<<CE_VALIDATE_BANKINFO.ce_validate_bank_jp');
8075 END IF;
8076
8077
8078 END CE_VALIDATE_BANK_JP;
8079
8080
8081 -- added 10/25/04
8082 /* --------------------------------------------------------------------
8083 | PRIVATE PROCEDURE |
8084 | CE_VALIDATE_MISC_* other misc validations
8085 --------------------------------------------------------------------- */
8086
8087 procedure CE_VALIDATE_MISC_EFT_NUM(X_COUNTRY_NAME in varchar2,
8088 X_EFT_NUMBER in varchar2,
8089 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
8090 x_msg_count OUT NOCOPY NUMBER,
8091 x_msg_data OUT NOCOPY VARCHAR2,
8092 x_return_status IN OUT NOCOPY VARCHAR2)
8093 AS
8094 COUNTRY_NAME VARCHAR2(2);
8095 EFT_NUM_VALUE varchar2(60);
8096 numeric_result varchar2(40);
8097
8098 procedure fail_mandatory is
8099 begin
8100 fnd_message.set_name ('CE', 'CE_ENTER_EFT_NUMBER');
8101 fnd_msg_pub.add;
8102 IF l_DEBUG in ('Y', 'C') THEN
8103 cep_standard.debug('CE_VALIDATE_MISC_EFT_NUM: ' || 'CE_ENTER_EFT_NUMBER');
8104 END IF;
8105 end fail_mandatory;
8106
8107 procedure fail_check is
8108 begin
8109 fnd_message.set_name ('CE', 'CE_INVALID_EFT_NUMBER');
8110 fnd_msg_pub.add;
8111 IF l_DEBUG in ('Y', 'C') THEN
8112 cep_standard.debug('CE_VALIDATE_MISC_EFT_NUM: ' || 'CE_INVALID_EFT_NUMBER');
8113 END IF;
8114 end fail_check;
8115
8116 procedure pass_check is
8117 begin
8118
8119 IF l_DEBUG in ('Y', 'C') THEN
8120 cep_standard.debug('CE_VALIDATE_MISC_EFT_NUM: ' || 'pass_check');
8121 END IF;
8122 end pass_check;
8123
8124
8125 BEGIN
8126 IF l_DEBUG in ('Y', 'C') THEN
8127 cep_standard.debug('>>CE_VALIDATE_BANKINFO.CE_VALIDATE_MISC_EFT_NUM');
8128 END IF;
8129
8130 -- initialize API return status to success.
8131 x_return_status := fnd_api.g_ret_sts_success;
8132
8133 COUNTRY_NAME := X_COUNTRY_NAME;
8134
8135 IF l_DEBUG in ('Y', 'C') THEN
8136 cep_standard.debug('CE_VALIDATE_MISC_EFT_NUM - COUNTRY_NAME: '|| COUNTRY_NAME);
8137 END IF;
8138
8139 -- Initialize message list if p_init_msg_list is set to TRUE.
8140 IF FND_API.to_Boolean(p_init_msg_list) THEN
8141 FND_MSG_PUB.initialize;
8142 END IF;
8143
8144 IF l_DEBUG in ('Y', 'C') THEN
8145 cep_standard.debug('CE_VALIDATE_MISC_EFT_NUM: P_INIT_MSG_LIST: '|| P_INIT_MSG_LIST);
8146 END IF;
8147
8148
8149 EFT_NUM_VALUE := upper(replace(X_EFT_NUMBER,' ',''));
8150
8151 EFT_NUM_VALUE := replace(EFT_NUM_VALUE,'-','');
8152
8153 IF (COUNTRY_NAME = 'IL')
8154 THEN
8155
8156 IF (EFT_NUM_VALUE is null) then
8157 fail_mandatory;
8158 ELSE
8159 IF length(EFT_NUM_VALUE) = 8 then
8160
8161 numeric_result := ce_check_numeric(EFT_NUM_VALUE,1,length(EFT_NUM_VALUE));
8162
8163 IF numeric_result = '0' then
8164 -- its numeric so continue
8165
8166 pass_check;
8167 ELSE
8168 fail_check;
8169
8170 END IF; -- end of numeric check
8171
8172 ELSE
8173 fail_check;
8174
8175 END IF; -- end of length check
8176 END IF; -- end of mandatory check
8177 ELSE -- other countries pass_check
8178 pass_check;
8179 END IF; -- end of country_name
8180
8181
8182 FND_MSG_PUB.Count_And_Get(
8183 p_encoded => FND_API.G_FALSE,
8184 p_count => x_msg_count,
8185 p_data => x_msg_data);
8186
8187 IF x_msg_count > 0 THEN
8188 x_return_status := fnd_api.g_ret_sts_error;
8189 END IF;
8190
8191 IF l_DEBUG in ('Y', 'C') THEN
8192 cep_standard.debug('CE_VALIDATE_BANKINFO.ce_validate_misc_eft_num - P_COUNT: '|| x_msg_count||
8193 --'P_DATA: '|| x_msg_data||
8194 --' X_VALUE_OUT: '|| X_VALUE_OUT||
8195 '<<CE_VALIDATE_BANKINFO.CE_VALIDATE_MISC_EFT_NUM');
8196 END IF;
8197
8198 EXCEPTION
8199 WHEN OTHERS THEN
8200 IF l_DEBUG in ('Y', 'C') THEN
8201 cep_standard.debug('CE_VALIDATE_BANKINFO.CE_VALIDATE_MISC_EFT_NUM ' ||X_COUNTRY_NAME );
8202 END IF;
8203
8204 FND_MESSAGE.set_name('CE', 'CE_UNHANDLED_EXCEPTION');
8205 fnd_message.set_token('PROCEDURE', 'CE_VALIDATE_BANKINFO.cd_validate_misc_eft_num');
8206 fnd_msg_pub.add;
8207 RAISE;
8208 END CE_VALIDATE_MISC_EFT_NUM;
8209
8210 /* -------------------------------------------------------------------- */
8211
8212 procedure CE_VALIDATE_MISC_ACCT_HLDR_ALT(X_COUNTRY_NAME in varchar2,
8213 X_ACCOUNT_HOLDER_ALT in varchar2,
8214 X_ACCOUNT_CLASSIFICATION in varchar2,
8215 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
8216 x_msg_count OUT NOCOPY NUMBER,
8217 x_msg_data OUT NOCOPY VARCHAR2,
8218 x_return_status IN OUT NOCOPY VARCHAR2)
8219 AS
8220 COUNTRY_NAME VARCHAR2(2);
8221 ACCOUNT_HOLDER_ALT varchar2(60);
8222 numeric_result varchar2(40);
8223
8224
8225 procedure fail_mandatory is
8226 begin
8227 fnd_message.set_name ('CE', 'CE_ENTER_ACCOUNT_HOLDER_ALT');
8228 fnd_msg_pub.add;
8229 IF l_DEBUG in ('Y', 'C') THEN
8230 cep_standard.debug('CE_VALIDATE_MISC_ACCT_HLDR_ALT: ' || 'CE_ENTER_ACCOUNT_HOLDER_ALT');
8231 END IF;
8232 end fail_mandatory;
8233
8234 procedure pass_check is
8235 begin
8236
8237 IF l_DEBUG in ('Y', 'C') THEN
8238 cep_standard.debug('pass_check');
8239 END IF;
8240 end pass_check;
8241
8242 BEGIN
8243 IF l_DEBUG in ('Y', 'C') THEN
8244 cep_standard.debug('>>CE_VALIDATE_BANKINFO.CE_VALIDATE_MISC_ACCT_HLDR_ALT');
8245 END IF;
8246
8247 -- initialize API return status to success.
8248 x_return_status := fnd_api.g_ret_sts_success;
8249
8250 COUNTRY_NAME := X_COUNTRY_NAME;
8251
8252 IF l_DEBUG in ('Y', 'C') THEN
8253 cep_standard.debug('CE_VALIDATE_MISC_ACCT_HLDR_ALT - COUNTRY_NAME: '|| COUNTRY_NAME);
8254 END IF;
8255
8256 -- Initialize message list if p_init_msg_list is set to TRUE.
8257 IF FND_API.to_Boolean(p_init_msg_list) THEN
8258 FND_MSG_PUB.initialize;
8259 END IF;
8260
8261 IF l_DEBUG in ('Y', 'C') THEN
8262 cep_standard.debug('CE_VALIDATE_MISC_ACCT_HLDR_ALT: P_INIT_MSG_LIST: '|| P_INIT_MSG_LIST);
8263 END IF;
8264
8265
8266 ACCOUNT_HOLDER_ALT := X_ACCOUNT_HOLDER_ALT;
8267
8268
8269 IF (COUNTRY_NAME = 'JP')
8270 THEN
8271
8272 IF (ACCOUNT_HOLDER_ALT is null and X_ACCOUNT_CLASSIFICATION = 'INTERNAL') then
8273 fail_mandatory;
8274
8275 END IF; -- end of mandatory check
8276 ELSE -- other countries pass_check
8277 pass_check;
8278 END IF; -- end of country_name
8279
8280
8281 FND_MSG_PUB.Count_And_Get(
8282 p_encoded => FND_API.G_FALSE,
8283 p_count => x_msg_count,
8284 p_data => x_msg_data);
8285
8286 IF x_msg_count > 0 THEN
8287 x_return_status := fnd_api.g_ret_sts_error;
8288 END IF;
8289
8290 IF l_DEBUG in ('Y', 'C') THEN
8291 cep_standard.debug('CE_VALIDATE_BANKINFO.ce_validate_misc_acct_hldr_alt - P_COUNT: '|| x_msg_count||
8292 --'P_DATA: '|| x_msg_data||
8293 --' X_VALUE_OUT: '|| X_VALUE_OUT||
8294 '<<CE_VALIDATE_BANKINFO.CE_VALIDATE_MISC_ACCT_HLDR_ALT');
8295 END IF;
8296
8297 EXCEPTION
8298 WHEN OTHERS THEN
8299 IF l_DEBUG in ('Y', 'C') THEN
8300 cep_standard.debug('CE_VALIDATE_BANKINFO.CE_VALIDATE_MISC_ACCT_HLDR_ALT ' ||X_COUNTRY_NAME );
8301 END IF;
8302
8303 FND_MESSAGE.set_name('CE', 'CE_UNHANDLED_EXCEPTION');
8304 fnd_message.set_token('PROCEDURE', 'CE_VALIDATE_BANKINFO.cd_validate_misc_acct_hldr_alt');
8305 fnd_msg_pub.add;
8306 RAISE;
8307
8308 END CE_VALIDATE_MISC_ACCT_HLDR_ALT;
8309
8310 END CE_VALIDATE_BANKINFO_UPG;