COGB30 - Home Banking: Scadenzario¶
Scopo¶
Gestisce lo scadenzario dell'home banking: costruisce l'elenco delle partite aperte (clienti, fornitori o "altri soggetti") con relativo saldo e scadenza, lo presenta in una griglia editabile e consente all'operatore di selezionare le partite da pagare/incassare per generare le disposizioni bancarie. I dati di scadenza sono ricavati aggregando i movimenti di partita (COGMOVPA), la prima nota provvisoria consortile (CAPPNOPR), le ritenute d'acconto (COGRITAC) e le fatture (COGFATTU/COGFATT2/CAPFATTU) e vengono materializzati in un file di transito indicizzato temporaneo (COGTRANS). Il programma e' richiamato con util-p41 e ritorna il totale selezionato al chiamante tramite COGB41. E' inoltre possibile importare la selezione da un file esterno Excel/CSV (JDOC).
Menu¶
Contabilita' > Home banking > Scadenzario
File e tabelle¶
| File | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Parametri | File parametri di ambiente / anagrafica azienda (con blocco CAP per consorzi) |
| COGTABEL | Indicizzato | Tabelle generiche; tipo 66 = tabella generica contabilita' (date di chiusura), tipo 22 = tipi pagamento, tipo 85 = servizi; chiave euta-key |
| COGPARTI | Indicizzato | Partite contabili (scadenze); chiave par-chia1 (par-patipcli, par-paclie, par-panno, par-patipo, par-panpart, par-paprogsca); campi par-fl-chiu, par-tipag, par-age |
| COGMOVPA | Indicizzato | Movimenti di partita; chiave mov-partita; campi mov-importo, mov-segno, mov-data-valuta, mov-paprogrca, mov-currency, mov-nfatt |
| CAPPNOPR | Indicizzato | Prima nota provvisoria (solo consorzi, az-consorzi = "S" e az-ges-ip = "S"); chiave pnp-partita; campi pnp-importo-e, pnp-segno, pnp-dataval |
| COGRITAC | Indicizzato | Ritenute d'acconto; chiave rit-chia; campi rit-totritac, rit-ritac, rit-alritac, rit-currency |
| COGFATTU / COGFATT2 / CAPFATTU | Indicizzato | Testate fatture (numero fattura fornitore, EAN documento, anticipi/cauzioni/ammassi per consorzi) |
| COGGEANA | Indicizzato | Anagrafica generale clienti/fornitori; chiave ana-tipo/ana-cod; campo ana-rb (tipo pagamento) |
| COGANAPP / COGANCAP / COGAPPOG | Indicizzato | Anagrafiche di appoggio: collegamento cliente↔fornitore (aap-rif-cf), dati bancari e IBAN (app-abi, app-cab, app-c-corr, app-iban-*, anc-iban-estero) |
| NUTBANAS | Indicizzato | Tabella banche (ABI/descrizione); chiave ban-chia; usata per il riepilogo ABI |
| NUTALTRI | Indicizzato | Anagrafica "altri soggetti"; chiave als-cod; dati bancari/IBAN |
| COGTRANS | Indicizzato temporaneo | File di transito con le partite dello scadenzario (#$n49.<oper>-<ora> in ext-tmp-dir); chiave primaria trs-chia1 e chiave alternata trs-chia2 con duplicati; contiene importo, segno, valuta, flag anticipi/cauzioni/ritenute/sospese, dati bancari, selezione |
| SORTO | Indicizzato temporaneo | File di ordinamento per la stampa (sor-chia: agenzia, nome, fornitore, progressivo) |
| HOMEBA | Indicizzato temporaneo | Archivio home banking con chiave alternata hom-chia1 (nome, valuta, chiave) |
| FILSEQ | Sequenziale (line) | File Excel/CSV in ingresso per l'importazione JDOC |
| FILELOG | Sequenziale (binary) | Log dell'importazione (#$cogb30<data><ora>.txt) |
Copybook¶
File e select¶
feurtab.fd,cogfiles.cpy,flsta.fd,flsta.cpycogb30.select,cogb30.fd,cogb30.wrk,cogb30-01.scr,cogb30.decla- SELECT dichiarate manualmente:
cogtrans,homeba,sorto,filseq,filelog(tabelle/file temporanei) cogb30c(identificativo report di stampa passato a COGS54)
Costanti¶
k-u10.cpy— operazioni cambio/edit divisa
Working-storage standard¶
wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpy,capazien.cpy(blocco anagrafica consorzi — non presente incpy/, verificarne l'origine)
Utilita'¶
wgrid.cpy,utilgdad.cpy— gestione griglia (GRIDADMN)utilcogpa3.cpy— modelli Area Reportutilu06.cpy,utilu10.cpy— conversione/edit importi (COGU10W)utils25.cpy,utils51.cpy,utils52.cpy,utils65.cpy,utils68.cpy,utils92.cpy,utils54.cpy— subroutine di gestione campi/date/stampautilw01.cpy,utilw36.cpy,utilw62.cpy— window/dettaglio (WIN062)utilu20.cpy,utilu22.cpy— combo/help (tipo pagamento)utilncnf.cpy— configurazioni (x99-confi)utilf28.cpy— help tipo pagamento su cella (COGF28)utilestrxls.cpy— conversione Excel→testo (ESTRXLS)l-copiaf.cpy,utilopenfile.cpy,utildlg.cpy,opensave.def— gestione file client/server, dialog, open/save boxcogconta.cpy— record tabella generica contabilita'
Linkage¶
wcont.cpy,wcont1.cpy,u-copiaf.cpy,utilp41.cpy(parametro d'ingresso)utilcogr20.cpy,utilcogb35.cpy— redefines diuser-areaper COGR20 e COGB35- redefines locali
util-cogb40eutil-cogb41diuser-areaper lo scambio con COGB40/COGB41
Procedure¶
mmmask.cpy(programma standalone),grave.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy,cogb30.prc
CALL¶
| Programma | Descrizione |
|---|---|
| COGU10W | Conversione degli importi in divisa ed edizione formattata |
| COGS51 | Verifica stato di sospensione della partita (s51-sosp) |
| COGS52W | Gestione ed edit delle date (data da/a, valuta) |
| COGS54 | Selezione parametri di stampa ed esecuzione (report scadenzario e distinte) |
| COGB35 | Giro conto tra anagrafica e collegata (S-F7) |
| COGB41 | Ritorno al chiamante con la selezione (via send-scr-3, redefine util-cogb41) |
| COGF28 | Help tipo pagamento sulla cella della griglia |
| WIN062 | Dettaglio della partita/scadenza selezionata (F8) |
| GRIDADMN | Gestione/amministrazione della griglia di dettaglio |
WIN162 (WIN062) |
(vedi WIN062) |
| ESTRXLS | Conversione del file Excel di importazione in file testo |
| COPIAF | Copia/risoluzione nomi file tra client e server (importazione JDOC) |
| OPENFILE | Apertura lato client del log di importazione |
| DIALOGS | Dialog di scelta a fine importazione JDOC |
| C$OPENSAVEBOX / C$JUSTIFY | Selezione file di importazione e allineamento stringhe |
Il chiamante viene passato come util-p41; COGB40 e' referenziato solo come redefine di linkage (scambio totali). COGR20 e' referenziato via utilcogr20.cpy (redefine di user-area).
Logica di elaborazione¶
apri: inizializza abilitazioni (ctr-abil),z-99-init-program, legge l'anagrafica azienda (per i consorzi copia il blocco CAP), apre i file, legge la configurazione (x99-confi→tm-cfgcon aliquota ritenuta consorzi, conto, soglia scaduto, codice azienda JDOC, delimitatore); carica le bitmap e i pulsanti custom (F4 immagine, S-F5 seleziona tutto, F5 scadenze, S-F7 giro conto, F7 trova file, F5 importa JDOC).a4: inizializza la maschera con i default (tipo "F" fornitori, tutti i tipi pagamento, ordinamento "N"); legge la tabella generica contabilita' (COGTABEL tipo 66) per le date di chiusura; carica intabbanla tabella banche NUTBANAS.- Accept della maschera (
a-tm-tipo,a-tm-non-cli/for/alt,a-tm-tipag,a-tm-data-da/a,a-tm-ord,a-tm-nr-rif,a-tm-valuta,a-tm-importo): selezione di tipo soggetto, codice, tipo pagamento, intervallo date, ordinamento e filtri; ogni campo passa perx-controlla-tm-*con segnalazioni sui dati bancari/IBAN mancanti dell'anagrafica. a-richiesta-conferma: conferma finale (x-imposta-confermache rivalida tutti i campi). Se tipo = "A" (altri) eseguegestione-altri; altrimenti procede alla costruzione dello scadenzario.apri-cogtrans: apre in I-O il file di transito temporaneo COGTRANS (nome univoco con operatore e ora).scrivi-cogtrans: scorre le partite COGPARTI filtrando per tipo/codice/tipo pagamento e stato aperto (par-fl-chiu); per ciascuna partita eseguea027-a041.a027-a041: aggrega i movimenti di partita COGMOVPA (dare/avere, valuta, numero fattura via COGFATTU), la prima nota provvisoria CAPPNOPR (solo consorzi), verifica lo stato di sospensione via COGS51, calcola anticipi/cauzioni (CAPFATTU per consorzi) e ritenute d'acconto (COGRITAC), e se il saldo non e' pareggiato e ricade nell'intervallo date registra il record di transito inriempi-1.riempi-1: scrive su COGTRANS il record aggregato con saldo (dare-avere), segno, valuta, importi accessori, dati bancari (ABI/CAB per pagamento "B"), EAN documento (COGFATT2) e totalizza il saldo dare/avere.a-apri-fine: se l'anagrafica e' collegata ne recupera anche il saldo (cerco-altro-saldo) e visualizza i due saldi.carica-tab: legge COGTRANS via chiave alternata (chia2) e popola la tabella/grigliatm-tab(codice, ragione sociale, documento, tipo pagamento, importo, valuta, flag A/C/R/S).conteggia-selezionatototalizza le righe selezionate.- Griglia (
a-grid/a-accept-grid): gestione degli eventi e dei t.f. — Invio seleziona/deseleziona una riga (con controlli su dati bancari/IBAN e "scaduto" del collegato viax3-verif-scaduto); F4 immagine ottica; F8 dettaglio (WIN062); S-F5 seleziona tutto; S-F7 giro conto (COGB35, ricostruisce COGTRANS); F5 scadenze (calc-scad+send-scr-10); F9 stampa (COGS54 +calc-scad+stampa); S-F4 amministrazione griglia (GRIDADMN); F3 conferma la selezione e ritorna al chiamante (send-scr-3→ COGB41). - Importazione JDOC (
a-tm-nome-inp/xf5-importa-dati): selezione di un file Excel/CSV (C$OPENSAVEBOX), copia/conversione lato server (COPIAF/ESTRXLS), lettura riga per riga di FILSEQ, incrocio con le partite e selezione automatica delle righe corrispondenti, con log su FILELOG e dialog finale (DIALOGS). fine/z-chiudi: chiude ed elimina il file di transito (chiudi-cogtrans, condelete file), chiude i file e termina.
Note tecniche¶
- COGTRANS e' una tabella temporanea indicizzata dichiarata manualmente (SELECT/FD nel sorgente) con chiave primaria
trs-chia1(partita) e chiave alternatatrs-chia2con duplicati usata dacarica-tab; il nome del file include operatore e ora per l'univocita' ed e' cancellato in chiusura. Una nota nel sorgente avverte che modifiche al tracciato COGTRANS vanno riportate anche in COGB41. - Le funzionalita' legate ai consorzi (
az-consorzi = "S") — prima nota provvisoria CAPPNOPR, anticipi/cauzioni/ammassi da CAPFATTU, ritenuta calcolata sutm-cfg-ali— sono condizionate anche aaz-ges-ip = "S"e tipo = "F". - La selezione di un fornitore e' bloccata se mancano i riferimenti bancari/IBAN (ABI/CAB, C/C, IBAN) o se il cliente collegato ha uno "scaduto" oltre soglia (
x3-verif-scaduto,tm-cfg-soglia-scaduto); per la personalizzazioneaz-personal = "PC"il tipo pagamento viene forzato a "B" (bonifico) aggiornando COGPARTI. - Tutti gli importi in divisa diversa da quella del conto sono convertiti tramite COGU10W (
z-u10); lo stato di sospensione delle partite e' determinato da COGS51. - L'importazione JDOC e' abilitata solo per tipo = "F" quando
tm-cfg-cod-azi-jdoce' valorizzato; il file puo' essere.xls/.xlsx(convertito via ESTRXLS),.csvo testo, con delimitatore configurabile. - Il chiamante e' identificato tramite
util-p41; il ritorno della selezione (totale, continua/interrompi) avviene tramite la redefine di linkageutil-cogb41verso COGB41.