Vai al contenuto

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

  1. 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).
  2. Conferma utente (a4): in modalita' interattiva mostra la maschera; F3 lancia elabora.
  3. Elaborazione (elabora):
  4. cancella-postgres: truncate delle 3 tabelle BI.
  5. fase1: estrazione tabella banche (NUTBANAS) -> BINBANCHE.
  6. fase2: scrittura tabella tipi movimento fissa -> BINDFTIP.
  7. fase3: saldi iniziali per banca (C/C, SBF, c/anticipo, disponibilita') -> BINDFMOV.
  8. fase4: partitario clienti/fornitori (COGPARTI/COGMOVPA) -> BINDFMOV.
  9. scan-iva: calcolo saldi IVA e versamenti previsionali -> BINDFMOV.
  10. scan-bol: bolle da fatturare (COGTESBO/COGMOMAG) -> BINDFMOV.
  11. scan-ord: ordini aperti (COGTESOR/COGRIGOR) -> BINDFMOV.
  12. scan-cpr: movimenti previsionali (COGCSFPR), inclusi i ricorrenti permanenti -> BINDFMOV.
  13. scri-iva: scrittura righe IVA accumulate in tabella di parking.
  14. 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-alf o da cogu02).
  • 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):

  1. Calcolo saldo IVA credito alla fine del periodo precedente (lettura piano dei conti tramite cerca-saldo).
  2. Calcolo saldo IVA debito alla fine del periodo precedente.
  3. Calcolo saldo conto erario IVA alla data corrente.
  4. Se il saldo aggregato e' a debito (< 0), il versamento IVA e' programmato al tm-cfg-gg-vers-iva del mese successivo.
  5. Stesso calcolo per il periodo in corso.
  6. Accumulo in tabella di parking (wt-iva-tab, max 25 elementi per anno).
  7. scri-iva scrive le righe in BINDFMOV (tipo 17) usando la banca tm-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).