SWC018 - Scaricamento DocFinance: Banche, Tipi Movimento, Movimenti¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | SWC018 |
| Titolo | Scaricamento Tabella DOCFINANCE su SW-ING |
| Posizione menu | Statistiche > Estrazione dati vs B.I.Swing > Contabilita' > Docfinance: banche, tipi e movimenti |
Scopo e logica generale¶
SWC018 scarica nelle tabelle BI di SW-ING l'anagrafica banche, la tabella tipi movimento e i movimenti di cashflow (saldi attuali e proiezioni future) usati dal modulo DocFinance/Tesoreria.
Tabelle di destinazione:
- BINBANCHE: anagrafica banche (codice, descrizione, conti C/C, SBF, c/anticipo, fidi).
- BINDFTIP: tabella tipi importo (codici fissi: 1 saldo CC, 2 SBF, 3 c/anticipo, 4 altre disp., 5 disponibilita', ecc.).
- BINDFMOV: movimenti di cashflow (saldi iniziali + proiezione partitario, bolle, ordini, previsionali, IVA).
Il programma funziona in due modalita':
- Interattiva: l'operatore conferma con F3; non vengono richiesti parametri di periodo (l'orizzonte temporale e' implicito nei dati estratti).
- Batch (chiamata da Aglancio): l'output e' rediretto al log di processo Aglancio tramite
gesdebug.
Prima dell'elaborazione, in modalita' PostgreSQL, viene eseguita la truncate delle 3 tabelle BI di destinazione (cancella-postgres).
Flusso principale¶
- Inizializzazione (
apri): controllo abilitazione, lettura azienda, apertura file, lettura configurazione RNEWCONF (x99-src-cfg,x99-src-cfg-agl), inizializzazione connessione BI (init-bin-sub-tm-cfg-bin-tipo). - Conferma utente (
a4): in modalita' interattiva mostra la maschera; F3 lanciaelabora. - Elaborazione (
elabora): cancella-postgres: truncate delle 3 tabelle BI.fase1: estrazione tabella banche (NUTBANAS) -> BINBANCHE.fase2: scrittura tabella tipi movimento fissa -> BINDFTIP.fase3: saldi iniziali per banca (C/C, SBF, c/anticipo, disponibilita') -> BINDFMOV.fase4: partitario clienti/fornitori (COGPARTI/COGMOVPA) -> BINDFMOV.scan-iva: calcolo saldi IVA e versamenti previsionali -> BINDFMOV.scan-bol: bolle da fatturare (COGTESBO/COGMOMAG) -> BINDFMOV.scan-ord: ordini aperti (COGTESOR/COGRIGOR) -> BINDFMOV.scan-cpr: movimenti previsionali (COGCSFPR), inclusi i ricorrenti permanenti -> BINDFMOV.scri-iva: scrittura righe IVA accumulate in tabella di parking.- Chiusura (
z-chiudi): chiusura file e connessione BI, aggiornamento stato processo ARPSTPRC (solo modalita' Aglancio).
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| BINBANCHE | bban-rec | I-O | Archivio BI banche (output) |
| BINDFTIP | bdft-rec | I-O | Archivio BI tipi movimento (output) |
| BINDFMOV | bdfm-rec | I-O | Archivio BI movimenti cashflow (output principale) |
| COGTABEL | euta-rec | Input | Tabelle sistema (tipo 15 causali, 22 causali pagamento, 66 esercizio, 70 conti movimenti previsionali, ecc.) |
| COGGEANA | ana-rec | Input | Anagrafica generale |
| COGPARTI | par-rec | Input | Partitario clienti/fornitori |
| COGMOVPA | mov-rec | Input | Movimenti partita |
| COGTESBO | tes-rec | Input | Testate documenti magazzino (bolle da fatturare, chiave2: data) |
| COGMOMAG | mag-recz | Input | Righe documenti magazzino |
| COGTESOR | tor-rec | Input | Testate ordini (chiave3 per scansione ordini aperti) |
| COGRIGOR | ror-rec | Input | Righe ordini |
| COGDESAG | dag-rec | Input | Descrizioni aggiuntive (righe spese) |
| COGCONOR | - | Input | Consegne ordini |
| COGRITAC | rit-rec | Input | Ritenute d'acconto |
| COGSLPCO | - | Input | Saldi piano dei conti (per cerca-saldo) |
| COGPNCON | pco-rec | Input | Piano dei conti |
| COGPNONC | pno-rec | Input | Prima nota non contabilizzata |
| COGCSFPR | cpr-rec | Input | Movimenti cashflow previsionali |
| COGANCAP | anc-rec | Input | Anagrafiche capofila (per banca di canalizzazione) |
| COGAPPOG | - | Input | Tabella appoggio |
| NUTBANAS | ban-rec | Input | Anagrafica banche |
| NUTARIBA | rib-rec | Input | RiBa in portafoglio |
| NUTSRIBA | - | Input | RiBa presentate |
| NUTCONTI | cban-rec | Input | Conti contabili associati alle banche |
| NUTCDBAN | cdbn-rec | Input | Condizioni banche (fidi e saldi) |
| FEURTAB | - | Input | Tabella file Eurosystem |
| ARPSTPRC | a-stpr-rec | I-O | Stato processi Aglancio (solo modalita' batch) |
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
swc018-01.scr |
Maschera principale |
swc018.select |
SELECT dei file |
swc018.fd |
FD dei file |
swc018.wrk |
Working storage maschera |
swc018.decla |
Declaratives |
Strutture dati¶
| Copybook | Contenuto |
|---|---|
cogfiles.cpy |
FD feurtab |
binbanche.cpy / bindftip.cpy / bindfmov.cpy |
Record delle 3 tabelle BI di destinazione |
arpstprc.cpy |
Record ARPSTPRC |
cogconta.cpy / cogcont1.cpy / wcont.cpy / wcont1.cpy |
Working storage contabili |
cogazien.cpy |
Dati azienda |
k-u10.cpy / k-personal.cpy |
Costanti |
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy |
Working storage comuni |
sql-decla-ws.cpy |
Working storage connessione SQL/BI |
binbanche-sql-ws.cpy / bindftip-sql-ws.cpy / bindfmov-sql-ws.cpy |
Interfaccia SQL tabelle BI |
arpstprc-sql-ws.cpy |
Interfaccia SQL ARPSTPRC |
Utility¶
| Copybook | Contenuto |
|---|---|
utilncnf.cpy |
Struttura parametri RNEWCONF |
utilgesdebug.cpy |
Gestione debug/log |
utilswgets.cpy |
Interfaccia SWGETS |
utilagprg.cpy |
Interfaccia Aglancio processo |
utilu01.cpy / utilu02.cpy |
Interfaccia COGU01/COGU02 (anagrafica/merci) |
utilu10.cpy |
Interfaccia COGU10W (conversione divisa) |
utils09.cpy |
Interfaccia COGS09 (calcolo scadenze pagamento) |
utilazvalida.cpy |
Validazione data |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| RNEWCONF | Lettura configurazione (x99-src-cfg, x99-src-cfg-agl) |
| SWGETS | Recupero stringa di connessione SW-ING |
| COGU02 | Ricerca dati merce (aliquota IVA) |
| COGS09 | Calcolo scadenze pagamento (per bolle e ordini) |
| COGU10W | Conversione divisa importi |
| AZVALIDA | Validazione data (movimenti previsionali) |
Configurazione (RNEWCONF)¶
Lette in x99-src-cfg (pacchetto "C", 14 chiavi):
| # | Gruppo | Chiave | Campo interno | Descrizione |
|---|---|---|---|---|
| 01 | abilita | bin-tipo | tm-cfg-bin-tipo |
Tipo connessione BI |
| 02 | abilita | bin-db-path | tm-cfg-bin-path |
Percorso file BI |
| 03-05 | abilita | bin-db-conn-string (1-3) | tm-cfg-bin-conn-string |
Stringa connessione PostgreSQL |
| 06 | abilita | bin-db-log-level | tm-cfg-bin-log-level |
Livello log SQL |
| 07 | PROGCOGV97 | gestione-riba | tm-cfg-tipo-riba |
Tipo gestione RiBa (se "P" somma RiBa non presentate al partitario clienti) |
| 08 | CASHFLOW | maturazione-sbf | tm-cfg-maturazione-sbf |
Calcolo maturazione SBF |
| 09 | CASHFLOW | recepisce-saldo-cc | tm-cfg-rice-saldo |
"S" = legge saldo CC da scheda contabile, altrimenti da condizioni banca |
| 10 | CASHFLOW | conto-iva-credito | tm-cfg-iva-credito |
Codice piano dei conti IVA credito |
| 11 | CASHFLOW | conto-iva-debito | tm-cfg-iva-debito |
Codice piano dei conti IVA debito |
| 12 | CASHFLOW | conto-erario | tm-cfg-iva-erario |
Codice piano dei conti erario IVA |
| 13 | CASHFLOW | giorno-versamento-iva | tm-cfg-gg-vers-iva |
Giorno del mese previsto per il versamento IVA |
| 14 | CASHFLOW | banca-versamento-iva | tm-cfg-banca-iva |
Banca associata al versamento IVA |
La configurazione Aglancio e' letta da x99-src-cfg-agl (gruppo "areaapp": cod-azienda, db-log-level, AGLANCIO-ATTIVO). La stringa di connessione AreaGATE e' recuperata da SWGETS.
Logica di business¶
Fase 1: tabella banche¶
Scansione di NUTBANAS. Per ogni banca:
- Scrittura del codice e descrizione.
- Composizione delle stringhe conto C/C, SBF e c/anticipo da
ban-mas-*/ban-con-*/ban-sco-*. - Lettura descrizione del conto contabile (COGPNCON).
- Lettura fidi da NUTCDBAN (condizioni "C010" per CC, "R010" per SBF).
- Scrittura in BINBANCHE.
Viene sempre aggiunta una "banca 9999 - NON DEFINITO" come catch-all.
Fase 2: tabella tipi importo¶
Scrittura statica dei codici 1-17 in BINDFTIP (SALDO CC, SBF, C/ANTICIPO, ALTRE DISP., DISPONIBILITA, ecc.) con descrizioni fisse.
Fase 3: saldi iniziali per banca¶
Per ogni banca in NUTBANAS:
- Saldo C/C: se
tm-cfg-rice-saldo = "S"legge il saldo dal piano dei conti contabile (NUTCONTI + scheda saldi), altrimenti dalla condizione "R097" su NUTCDBAN. - Saldo SBF: calcolato in
scan-sbf(somma RiBa SBF non scadute). - Saldo c/anticipo fatture: lettura conto contabile associato (NUTCONTI condizione 11) e calcolo saldo.
- Disponibilita': somma dei tre saldi precedenti.
Ogni saldo e' scritto come record BINDFMOV con tipo opportuno (1, 2, 3, 5).
Fase 4: proiezione partitario¶
Scansione di COGPARTI per clienti e fornitori. Per ogni partita:
verifica-saldo: somma DARE/AVERE da COGMOVPA, somma RiBa non presentate (se config), sottrae ritenute d'acconto (per fornitori con ritenuta).estrae-mov-part: determina la banca di canalizzazione (banca esplicita su partita, oppure banca anagrafica fornitore, oppure banca sportello interno per pagamenti bonifico), calcola le scadenze tramite COGS09 e scrive un record BINDFMOV per ogni scadenza.
scan-bol: bolle da fatturare¶
Scansione di COGTESBO per data (chiave2). Per ogni bolla con causale di fatturazione attiva (euta-cb-con-fat = "SI") e non gia' fatturata:
- Lettura righe COGMOMAG, calcolo dell'IVA per riga (da
mag-alfo dacogu02). - Lettura descrizioni aggiuntive (COGDESAG tipo "R") che concorrono al totale.
- Calcolo scadenze pagamento con COGS09.
- Scrittura BINDFMOV: tipo 12 per bolle cliente (entrata), tipo 13 per bolle fornitore (uscita), con segno determinato da
mag-entrusc("E" -> "-", "U" -> "+"). - L'IVA della bolla concorre al parking IVA per la liquidazione del periodo.
scan-ord: ordini aperti¶
Scansione di COGTESOR (chiave3). Per ogni ordine non chiuso (tor-chiu <> "C") di tipo C o F:
- Lettura righe ordine (COGRIGOR) e descrizioni aggiuntive.
- Calcolo data scadenza dai dati ordine (
tor-dascad). - Calcolo scadenze pagamento con COGS09.
- Scrittura BINDFMOV con tipo opportuno.
scan-cpr: movimenti previsionali¶
Scansione di COGCSFPR per data:
- Movimenti con
cpr-permanente <> "P": scritti come previsionali normali (tipo 14). - Movimenti con
cpr-permanente = "P"(scan-cpr-50): scritti come previsionali ricorrenti (vengono replicati nel tempo).
La descrizione e' presa da COGTABEL configurazione "CSF3".
scan-iva: liquidazione IVA¶
Per ogni periodo di liquidazione (mensile o trimestrale in base a conta1-periodo):
- Calcolo saldo IVA credito alla fine del periodo precedente (lettura piano dei conti tramite
cerca-saldo). - Calcolo saldo IVA debito alla fine del periodo precedente.
- Calcolo saldo conto erario IVA alla data corrente.
- Se il saldo aggregato e' a debito (
< 0), il versamento IVA e' programmato altm-cfg-gg-vers-ivadel mese successivo. - Stesso calcolo per il periodo in corso.
- Accumulo in tabella di parking (
wt-iva-tab, max 25 elementi per anno). scri-ivascrive le righe in BINDFMOV (tipo 17) usando la bancatm-cfg-banca-iva.
Keepalive Aglancio¶
In modalita' batch, l'aggiornamento dei contatori a video viene saltato. Non e' presente keepalive SWLIVE in questo programma (l'elaborazione non e' di durata tale da richiederlo).