cI75 ;Inlezen Belgische BIC codes + conversie banknr; cI75 ; T0 ;Inlezen BIC codes; T1 ;Nummer\Naam\Banknummer; ; YZ Q ; BIC ; Opzetten van alle Belgische BIC codes N VNR,TNR,DEL,INH,I,TAAL,I1,TAB S $ZT="TRAP^cAN000" D P^cA612(2,1,20,80,1,0,0,0,$P($T(@("T0"_QT)),U,2),0,0,7,1,1) ; Inlezen file BIC codes in ^DATB(Q,"BIC" D ^cA703 I K="-" G BICZ K ^DATB(Q,"BIC") S VNR=10,DEL=$C(9) BICA S VNR=$O(^HULP("RC",Q,TNR,VNR)) I VNR="" G BICB S INH=^(VNR) I $P(INH,DEL,2)=""!($P(INH,DEL,2)="d")!($P(INH,DEL,2)="nav")!($P(INH,DEL,2)="VRIJ") G BICA S IND="BE"_$P(INH,DEL) S ^DATB(Q,"BIC",IND,0)="BE"_D_$P(INH,DEL) F I=2:1:7 S $P(^DATB(Q,"BIC",IND,0),D,(I+1))=$P(INH,DEL,I) G BICA ; Aflopen bestand met BIC codes en openen indien nog niet bestaand BICB S TAAL=$P(@("^"_Q_"BA(39)"),D,2) S I1="" BICC S I1=$O(^DATB(Q,"BIC",I1)) I I1="" G BICY S INH=^(I1,0) ; Testen of BIC code reeds bestaat in SWIFT bestand I $L($$UI1OP^cAFA1("SWIFT",101,"",$P(INH,D,3))) G BICC K TAB S TAB(1)=$P(INH,D,3) S $P(TAB(1),D,2)=$S(TAAL="N":$P(INH,D,5),TAAL="F":$P(INH,D,6),TAAL="D":$P(INH,D,7),1:$P(INH,D,8)) I $P(TAB(1),D,2)="" S $P(TAB(1),D,2)=$S($L($P(INH,D,5)):$P(INH,D,5),1:$P(INH,D,6)) S $P(TAB(1),D,5)=1019 D P^cAN220("SWIFT","","","TAB","") I K="-" X "STOP" G BICC BICY W !,"Einde inlezen BIC codes" BICZ D C^cA612 Q ; CNV(UI1,BANKNR,BIC,SWFACT) ; Omvormen banknr. N NBIC,CNTR,IBAN,TAB,UI1BIC S $ZT="TRAP^cAN000" I BANKNR="" G CNVZ ; ; Testen of er nog geen IBAN nr. en BIC zijn ingevuld I $$IBAN^cAFI2(BANKNR),$L(BIC) G CNVZ ; ; Opzoeken BIC code voor reeds geldig IBAN nr. I $$IBAN^cAFI2(BANKNR),'$L(BIC) D G CNVZ . I $E(BANKNR,1,2)'="BE" Q . I '$D(^DATB(Q,"BIC","BE"_$E(BANKNR,5,7),0)) S ^TEMPC("cI75",UI1,BANKNR,0)=BANKNR__D_"BIC code niet te bepalen" Q . S NBIC=$P(^DATB(Q,"BIC","BE"_$E(BANKNR,5,7),0),D,3) . S UI1BIC=$$UI1OP^cAFA1("SWIFT",101,"",NBIC) . I 'SWFACT D W^cAN220(DMS,"",UI1,305,UI1BIC) I K="-" X "STOP" . I SWFACT D W^cAN220(DMS,"",UI1,338,UI1BIC) I K="-" X "STOP" . ; W !,UI1_"-"_BANKNR_"-BIC invullen -"_NBIC ; ; Testen of het om een Belgisch banknr. gaat S K=BANKNR I @(^BA(6,"B",1)) D . I BANKNR="000000000097" Q . S CNTR=98-(($E(BANKNR,11,12)_$E(BANKNR,11,12)_111400)#97) . S IBAN="BE"_$TR($J(CNTR,2)," ",0)_BANKNR . I '$D(^DATB(Q,"BIC","BE"_$E(BANKNR,1,3),0)) S ^TEMPC("cI75",UI1,BANKNR,0)=BANKNR_D_"BIC code niet te bepalen" Q . S NBIC=$P(^DATB(Q,"BIC","BE"_$E(BANKNR,1,3),0),D,3) . S UI1BIC=$$UI1OP^cAFA1("SWIFT",101,"",NBIC) . K TAB . I 'SWFACT S TAB(201)=IBAN,TAB(305)=UI1BIC . I SWFACT S TAB(217)=IBAN,TAB(338)=UI1BIC . D B^cAN220(DMS,"",UI1,"TAB") I K="-" X "STOP" . ; W !,UI1_"-"_BANKNR_"-om te vormen banknr-"_IBAN_"-"_NBIC CNVZ Q ; LE(Q,DMS) ; Conversie banknr naar IBAN en BIC N UREF,UI1,INH,BANKNR,BIC,BANKNR2,BIC2 S $ZT="TRAP^cAN000" K ^TEMPC("cI75") D Q1^cAFA10(DMS) S UREF=$P($$REF^cAFA10(Q,DMS),D) ; Aflopen leveranciers S UI1=0 LEA S UI1=$O(@UREF) I UI1="" G LEB S INH=^(UI1,0) S BANKNR=$P($G(^(1)),D) S BIC=$P($G(^(2)),D,5) S BANKNR2=$P($G(^(1)),D,17) S BIC2=$P($G(^(2)),D,38) ; Testen of het om een geldige leverancier gaat I DMS[".A" I $P(INH,D,49)'=Q G LEA ; Conversie banknr. I $L(BANKNR) D CNV(UI1,BANKNR,BIC,0) ; Conversie banknr. factoring I $L(BANKNR2) D CNV(UI1,BANKNR2,BIC2,1) G LEA LEB W !,"Einde conversie banknr. leveranciers" ; Printen lijst met niet wijzigbare banknr. I '$D(^TEMPC("cI75")) G LEZ D ^cAN3223(0,"1#5","") S TAB="6\35\79" S TIT(1)=$P($T(@("T1"_QT)),U,2) S I1="" LEC S I1=$O(^TEMPC("cI75",I1)) I I1="" G LEE S TXT(1)=$$SIG^cAFA1(DMS,I1,101) S TXT(2)=$$SIG^cAFA1(DMS,I1,102) S I2="" LED S I2=$O(^TEMPC("cI75",I1,I2)) I I2="" G LEC S TXT(3)=$$BANK^cAFO1(I2) D ^cA334 G LED LEE S END=1 D ^cA334 D Q2^cAFA10 LEZ Q ; ZZ ; 08.02.08 - 15 u 00 * V9.00