Newsgroup: it.comp.lang.visual-basic
Titolo: richiesta info per calcolo del codice CIN

Dovendo fare un programma che controlla le coordinate bancarie (abi, cab,
conto corrente) che voi sappiate dove posso trovare informazioni su come
viene ricavato il codice CIN?
per capirsi il codice Cin è un po' come l'ultimo carattere del codice
fiscale...
Grazie.

dove posso trovare informazioni su come viene ricavato il codice CIN?
Sul sito dell' ABI:
http://www.abi.it/
I documenti di specifica sono un po' imboscati ed hanno ridisegnato
il sito, ma dovrebbero ancora esserci tutti.
-- 
ciao, hal

 ha scritto nel messaggio
news:aeb7ad$5kba4$1...@ID-56381.news.dfncis.de...


>sull'abi ho guardato ma forse come dici sono un po' troppo imboscati....
aspetto da un pò il giorno che ci metteranno i codici abi e cab aggiornati di
tutte le banche...
se non sei riuscito a trovare quanto ti serve, questo proviene dall'aiuto del
programma di contabilità ( ACG IBM su AS/400)
     Codice C.I.N.
     Con circolare ABI del del 1 giugno 1992 N.21 le banche ABI adottano
     coordinate bancarie standard da fornire alla clientela per il
     trattamento automatico delle disposizioni interbancarie.
     Lo standard adottato e' il seguente:
            CIN    CID.ABI    COD.CAB      NUMERO CONTO
             X      XXXXX      XXXXX       XXXXXXXXBBBB
             1        5          5              12
     Il campo numero conto deve essere sempre alfanumerico, con allineamento
     dei dati a sinistra ed espansione dei blank fino al dodicesimo
     carattere.
     Il CIN di controllo viene calcolato su tutta la stringa di 22 caratteri
     costituita dai codici ABI, CAB e C/C.
     I CARATTERI AMMESSI PER IL C/C SONO:
     1) TUTTI I CARATTERI NUMERICI ED ALFABETICI.
     2) IL BLANK.
     3) IL PUNTO '.' .
     4) IL TRATTINO '-'.
     PROCEDURA DI CALCOLO CODICE C.I.N.
     1) Il Codice ABI, il codice CAB ed il numero del c/c sono combinati (in
     quest'ordine) per comporre una stringa di 22 caratteri (si noti che il
     numero del c/c deve essere allineato a sinistra, con eventuale
     riempimento di blanks.
     2) Ciascun carattere viene convertito in un valore numerico a secondo
     che occupi una posizione pari o dispari (partendo da sinistra) secondo
     le seguenti tabelle:
                  ----- pari -----       ---- dispari ---
                  A  o  0   -->  0       A  o  0   -->  1
                  B  o  1        1       B  o  1        0
                  C  o  2        2       C  o  2        5
                  D  o  3        3       D  o  3        7
                  E  o  4        4       E  o  4        9
                  F  o  5        5       F  o  5       13
                  G  o  6        6       G  o  6       15
                  H  o  7        7       H  o  7       17
                  I  0  8        8       I  0  8       19
                  J  0  9        9       J  0  9       21
                  K             10       K              2
                  L             11       L              4
                  M             12       M             18
                  N             13       N             20
                  O             14       O             11
                  P             15       P              3
                  Q             16       Q              6
                  R             17       R              8
                  S             18       S             12
                  T             19       T             14
                  U             20       U             16
                  V             21       V             10
                  W             22       W             22
                  X             23       X             25
                  Y             24       Y             24
                  Z             25       Z             23
                  - (trattino)  26       - (trattino)  27
                  - (punto)     27       - (punto)     28
                 " "(blank)     28        "(blank)     26
     3) I valori numerici sono addizionati, e la somma e' divisa  per 26
     4) Il carattere di controllo e' determinato convertendo il resto della
     divisione nel carattere alfabetico corrispondente alla seguente tabella
               resto   C.I.N.
                 0       A
                 1       B
                 2       C
                 3       D
                 4       E
                 5       F
                 6       G
                 7       H
                 8       I
                 9       J
                10       K
                11       L
                12       M
                13       N
                14       O
                15       P
                16       Q
                17       R
                18       S
                19       T
                20       U
                21       V
                22       W
                23       X
                24       Y
                25       Z
     ESEMPIO DI CALCOLO:
                    ABI         CAB            C/C
         Posiz.  1 2 3 4 5   6 7 8 9 10   11 12 13 14 15 16 17 18 19 20 21 2
         2
         valore  0 3 3 2 8   0 2 8 0  1    3  4  1  0  B  B  B  B  B  B  B
         B
         codif.  1 3 7 2 19  0 5 8 1  1    7  4  0  0 26 28 26 28 26 28 26 2
         8
                 ----------  ----------   ----------------------------------
         totali      32          15                       227
         TOTALE GENERALE  274
         DIVISIONE 274/26 CHE DA IL RESTO 14 A CUI CORRISPONDE CIN='O'.
                                           * * * * *   F I N E   L I S T A   * *
* * *
n.b.
è vecchio: tieni conto che adesso con l'introduzione dell'IBAN CODE standard
europeo, mi pare che tutte le banche usino mettere il n. del conto a destra e
riempire il campo fino a 12 cifre con gli zeri, attenzione per es. la comit
usava una numerazione tipo:  nnnnnn/01/xx dove nn il numero, 01 il tipo di conto
(ordinario,sbf,ecc.) e xx codici di controllo, adesso diventano qualcosa del
genere: 0000001234560199
ciao