COGB68 — Importazione dati estratto conto da flusso CBI RH¶
Sorgente: cbl/cogb68.cbl | Tipo: interattivo a griglia con elaborazione batch di import | Program-ID: cogb68
Menu: Contabilita' > Riconciliazione Bancaria > Importazione dati da flusso CBI RH
Scopo¶
Importa i movimenti di estratto conto bancario da un file in formato CBI RH (rendicontazione, tracciati record fissi "RH", "61", "62", "63", "64", "65", "EF"). Il file viene selezionato dall'operatore (F7 apre il dialog di sistema, o percorso digitato), copiato lato server tramite COPIAF ed eventualmente convertito da Excel via ESTRXLS; poi viene letto sequenzialmente e i movimenti (record "62" con relative info "63") vengono caricati in una griglia di dettaglio su file di transito (t-grid-det).
L'operatore rivede i movimenti in griglia; alla conferma (F3) il programma li scrive nell'archivio movimenti CBI COGCBIMO con numerazione progressiva (cbm-id), aggiornando anche i saldi/date di ultimo caricamento per banca sulle tabelle generiche (COGTABEL tipo N1/N2). Le anomalie riscontrate durante il caricamento (date errate, causali/banca non codificate, movimenti antecedenti al saldo) sono registrate su log tramite GESLPRC/gesdebug.
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
FEURTAB / COGTABEL |
cogfiles.cpy (FD), cogb68.fd |
Tabelle generiche: tipo MX (causali CBI, euta-mx-des), tipo N1 (saldo/data iniziale banca, euta-n1-*), tipo N2 (data/saldo ultimo caricamento CBI per banca, euta-n2-*) |
NUTBANAS |
via rd-/st-nutbanas |
Anagrafica banche: ban-cod, ban-des, IBAN (ban-iban-st/ban-abi/ban-cab/ban-ccorr), ban-bon (conto contabile) |
COGCBIMO |
via rd-/wr-/st-cogcbimo |
Archivio movimenti CBI importati: cbm-id (progressivo), cbm-ban-cod, cbm-data-registr, cbm-data-valuta, cbm-importo, cbm-segno, cbm-cau-cbi, cbm-descr, cbm-riconciliato |
fileinp |
inp-rec pic x(1000) (line sequential) |
File CBI RH di input |
t-grid-det |
wgrid.cpy / cogb68.prc |
File di transito della griglia: t-gor-r-* (banca, data, valuta, importo, segno, causale, descrizioni) |
Servizi: COPIAF/l-copiaf (copia file client<->server), ESTRXLS (conversione Excel), AZVALIDA.COB (validazione date), COGU10W/COGU10 (divisa/editing importi), RNEWCONF (configurazione), GESLPRC/gesdebug (log procedura), GRIDADMN, WIN023.COB (date caricamenti CBI).
Tracciati record CBI RH gestiti¶
- RH — testa flusso (ABI, SIA, data creazione).
- 61 — saldo iniziale: da qui si identifica la banca (match IBAN su
NUTBANAS) e il segno/importo del saldo (cerco-banca). - 62 — movimento: data valuta/contabile, segno (C→D, D→A), importo, causale CBI, riferimenti, descrizione (
r62-dati). E' la riga base di ogni movimento importato. - 63 — informazioni movimento: descrizioni aggiuntive (ID1, RI1, RI2, causali 34/Z1, 48/YYY); accumulate in
w-r63-des1..5(r63-dati). Le causali ZI/ZL (bonifici estero) sono ignorate. - 64 — saldo finale: aggiorna data/saldo massimo per banca in
w-tab-euta-n2(r64-dati). - 65 / EF — ignorati.
Flusso principale¶
apri— init programma,rd-azi,open-files, lettura configurazione (x99-confi→tm-cfg-tipo-file, chiave RNEWCONFriconciliazione-bancaria-tipo-file), apertura loggesdebug, creazione pulsanti custom (F7 Trova file, S-F6 Date caricamenti CBI), preparazione griglia.a4— svuota la griglia e imposta ordinamento predefinito per codice banca.a-tm-file— accept del file da importare (F7 dialog, S-F6 date CBI viaWIN023, F1 configurazione); validazione (x-controlla-tm-file/x-controlla-tm-file-bis): copia lato server, eventuale conversione Excel, verifica che il primo record sia "RH".a-richiesta-conferma— conferma; disattiva F3.a-leggi-dati— apre transito, apre log, eseguez-grid-det-crea-transito→carica-dati(lettura sequenzialefileinp, dispatch per tipo record), riordina il transito; se ci sono segnalazioni propone la consultazione del log (GESLPRC).carica-dati/z-grid-det-riempi-t-rec— per ogni movimento "62" completo (dopo aver raccolto i "63") scrive un record nel transito (solo se la banca e' stata individuata suNUTBANAS), aggiornando totali letti/scritti.a-grid— gestione griglia interattiva; su F3: controlli finali (x-controlla-totali: segno D/A, banca codificata, causale CBI codificata) e, su conferma,b-aggiorna.b-aggiorna— aggiornaCOGTABELN2 (data/saldo ultimo caricamento per banca) e scrive ogni riga del transito inCOGCBIMOconcbm-idprogressivo (calcolato leggendo l'ultimo id esistente).fine/z-chiudi— chiude log e file, elimina il transito, termina.
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
COPIAF |
Copia/risoluzione file fra client e server (thin client) e info file |
ESTRXLS |
Conversione file Excel (xls/xlsx) in testo delimitato |
AZVALIDA.COB |
Validazione delle date estratte dai record CBI |
COGU10W / COGU10 |
Divisa conto e editing/visualizzazione importi |
RNEWCONF |
Lettura configurazione (tipo file di input) |
GESLPRC |
Consultazione del log di procedura (segnalazioni) |
GRIDADMN |
Amministrazione/preparazione della griglia di dettaglio |
WIN023.COB |
Consultazione date dei caricamenti CBI (S-F6) |
Note¶
- La corrispondenza banca avviene per confronto completo dell'IBAN del record 61 con
NUTBANAS; se la banca non e' trovata i movimenti di quel conto non vengono caricati e viene registrata una segnalazione (w-fl-no-bloccante). - Le anomalie sono classificate in bloccanti (
w-fl-segnalazioni: date errate, segno errato) che impediscono l'aggiornamento, e non bloccanti (w-fl-no-bloccante: banca/causale non codificata, movimento antecedente al saldo). - Il segno CBI viene invertito nel gestionale:
C(accredito) →"D",D(addebito) →"A". - La numerazione
cbm-idviene ricalcolata a ogni aggiornamento leggendo l'ultimo id presente e incrementando: non e' una numerazione centralizzata. - Diversi blocchi (dialog di controllo data movimento, entry-point popup griglia) sono presenti ma commentati; il programma usa
PERFORM ... THRU(x-controlla-tm-file-bis thru ex-tm-file-bis,b-aggiorna thru ex-b-aggiorna) eGO TOfra i paragrafi di caricamento: forme legacy della conversione.