Vai al contenuto

SWC017 - Scaricamento Tabelle e Movimenti IVA x SW-ING

Intestazione

Campo Valore
Programma SWC017
Titolo Scaricamento Tabelle e Movimenti IVA su SW-ING
Posizione menu Statistiche > Estrazione dati vs B.I.Swing > Contabilita' > Movimenti IVA e tabelle
Posizione menu (alternativa) Statistiche > Estrazione dati vs B.I.Swing > Movimenti IVA e tabelle

Scopo e logica generale

SWC017 estrae verso le tabelle BI di SW-ING:

  • Tabelle di base contabili IVA (tipi documento, aliquote, articoli esenzione, registri, destinazioni, tipi fatturazione).
  • Movimenti IVA del periodo selezionato, con eventuale ripartizione su piu' destinazioni IVA quando il documento contabile collegato ha conti con destinazioni IVA particolari.

Il programma funziona in due modalita':

  • Interattiva: l'operatore inserisce il periodo da estrarre; al termine vengono mostrati i contatori di righe lette/scritte.
  • Batch (chiamata da Aglancio): il periodo e' calcolato automaticamente (tm-daint-fi = datasis, tm-daint-in = 01/01/anno-precedente); l'output e' rediretto al log di processo Aglancio tramite gesdebug.

Prima dell'elaborazione, in modalita' PostgreSQL, viene eseguita la truncate delle tabelle BI di destinazione (cancella-bin-sub-tm-cfg-bin-tipo).


Flusso principale

  1. Inizializzazione (apri): controllo abilitazione, lettura azienda, apertura file, lettura configurazione RNEWCONF (x99-confi, x99-src-cfg, x99-src-cfg-agl), inizializzazione connessione BI (init-bin-sub-tm-cfg-bin-tipo), apertura file di prima nota corrente e precedente (apri-cont).
  2. Accept parametri (modalita' interattiva): a-tm-daint-in (data inizio), a-tm-daint-fi (data fine), con supporto calendario COGS52.
  3. Calcolo automatico del periodo (modalita' Aglancio/batch): tm-daint-fi = datasis, tm-daint-in = 1 gennaio dell'anno precedente.
  4. Elaborazione (a-elabora-conferma):
  5. cancella-bin-sub-tm-cfg-bin-tipo: truncate delle 7 tabelle BI di destinazione.
  6. fase1 (elabora): scarico delle 6 tabelle di base + movimenti IVA (carica-tabella).
  7. Chiusura (z-chiudi): chiusura file e connessione BI, aggiornamento stato processo ARPSTPRC (solo modalita' Aglancio).

File e tabelle acceduti

File logico Record Modalita' Uso
BINTIDOC btidoc-rec I-O Archivio BI tipi documento IVA (output)
BINALIVA baliva-rec I-O Archivio BI aliquote IVA (output)
BINARTES bartes-rec I-O Archivio BI articoli esenzione IVA (output)
BINREIVA breiva-rec I-O Archivio BI registri IVA (output)
BINIVACF biva-rec I-O Archivio BI movimenti IVA per cliente/fornitore (output principale)
BINDEIVA bdeiva-rec I-O Archivio BI destinazioni IVA (output)
BINTIFAT btifat-rec I-O Archivio BI tipi fatturazione (output)
COGTABEL euta-rec Input Tabelle sistema (tipo 67 aliquote, 68 tipi doc IVA, 69 art. esenzione, "AD" registri, "FQ" destinazioni IVA, "FL" tipi fatturazione, "AT" tipi reverse charge)
COGARIVA iva-rec Input Movimenti IVA
COGGEANA ana-rec Input Anagrafica generale (clienti, fornitori)
COGAPPOG app-rec Input Tabella appoggio (tipologia statistica)
COGLTINT lti-rec Input Letteri di intento (per gestione esenzioni IVA)
COGPNCON pco-rec Input Piano dei conti
COGPNONC pno-rec Input Prima nota non contabilizzata
BOGARIVA bva-rec Input Copia COGARIVA con prefissi diversi (per scan secondaria)
COGCOATT con-rec Input Prima nota esercizio attuale
COGCOPRE con-rec Input Prima nota esercizio precedente
FEURTAB - Input Tabella file Eurosystem
ARPSTPRC a-stpr-rec I-O Stato processi Aglancio (solo modalita' batch)

Copybook inclusi

Screen Designer

Copybook Contenuto
swc017-01.scr Maschera principale
swc017.select SELECT dei file
swc017.fd FD dei file
swc017.wrk Working storage maschera
swc017.decla Declaratives

Strutture dati

Copybook Contenuto
cogfiles.cpy FD feurtab
bintidoc.cpy / binaliva.cpy / binartes.cpy / binreiva.cpy / binivacf.cpy / bindeiva.cpy / bintifat.cpy Record delle 7 tabelle BI di destinazione
arpstprc.cpy Record ARPSTPRC
cogcoatt.cpy / cogcopre.cpy FD prima nota corrente/precedente
cogazien.cpy Dati azienda
k-u10.cpy / k-personal.cpy / k-tipi-cogtabel.cpy Costanti
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy Working storage comuni
sql-decla-ws.cpy Working storage connessione SQL/BI
*-sql-ws.cpy Interfaccia SQL per le 7 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
utilu10.cpy Interfaccia COGU10W
utils52.cpy Interfaccia COGS52 (calendario)
utils62.cpy Interfaccia COGS62 (delta tempo per SWLIVE)
utilcgiarea.cpy Linkage area CGI

Programmi chiamati (CALL)

Programma Scopo
RNEWCONF Lettura configurazione (3 chiamate: x99-confi, x99-src-cfg, x99-src-cfg-agl)
SWGETS Recupero stringa di connessione SW-ING
COGU10W Conversione divisa importi
COGS62 Calcolo differenza in secondi tra due timestamp (per SWLIVE)
SWLIVE Keepalive processo Aglancio (ogni 30 secondi in modalita' batch)

Configurazione (RNEWCONF)

Configurazione applicativa (x99-confi, pacchetto "C")

# Gruppo Chiave Campo interno Descrizione
01 PRNTCG90 euta-tipogior tm-cfg-tipogior Tipo giornale stampa (default "C1"); usato per leggere tipo "AD" con intestazione e ordinamento
02 CONTABIL tipo-doc-iva-docmag-vendita tm-cfg-docmag-vendita Tipo documento IVA da escludere (vendita magazzino)
03 CONTABIL tipo-doc-iva-docmag-resi-cli tm-cfg-docmag-resi Tipo documento IVA da escludere (resi cliente)

Configurazione connessione BI (x99-src-cfg, pacchetto "C")

# Gruppo Chiave Campo interno Descrizione
01 abilita bin-tipo tm-cfg-bin-tipo Tipo connessione BI: "P" PostgreSQL, "C" C-Tree, "D" DBmaker, "N" disabilitato
02 abilita bin-db-path tm-cfg-bin-path Percorso file BI (per C-Tree)
03-05 abilita bin-db-conn-string (1-3) tm-cfg-bin-conn-string Stringa di connessione PostgreSQL
06 abilita bin-db-log-level tm-cfg-bin-log-level Livello di log SQL

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: estrazione tabelle di base e movimenti IVA

Tutte le tabelle di base (tipi documento, aliquote, articoli esenzione, registri, destinazioni IVA, tipi fatturazione) vengono lette da COGTABEL con il tipo opportuno e scritte 1:1 nella corrispondente tabella BI. Per ogni tabella viene effettuata una scansione st-cogtabel-notmin + loop rdnxt-cogtabel.

Per i movimenti IVA (carica-tabella):

  • Scansione di COGARIVA, filtro per data movimento nel range tm-daint-in/tm-daint-fi e per tipo documento (esclusi i tipi docmag-vendita e docmag-resi configurati).
  • I record con iva-val = "C" (cancellati) vengono saltati.
  • Per ogni documento, ricerca conti collegati in prima nota con destinazioni IVA particolari (x1-cerca-docum) tramite COGCOATT/COGCOPRE; se trovate piu' destinazioni distinte si attiva la ripartizione (x2-aggio-ripartiz).
  • Conversione importi in divisa conto con COGU10W.
  • Determinazione del flag intracomunitario (biva-intra): controlla stato del cliente/fornitore (COGTABEL tipo 54), tipi documento "AT" e tipo reverse charge (k-euta-tipo-gc-rc).
  • Controllo lettere di intento (COGLTINT) per impostare biva-let-int.
  • Scrittura in BINIVACF.

Ripartizione IVA su piu' destinazioni (x2-aggio-ripartiz)

Quando in x1-cerca-docum vengono trovate piu' destinazioni IVA distinte nei conti del documento contabile, il record IVA viene ripartito in piu' record BINIVACF, uno per ogni destinazione, calcolando per ognuno la quota di imponibile/IVA proporzionale all'importo del conto destinazione.

Keepalive Aglancio

In modalita' batch, ogni 30 secondi viene chiamato SWLIVE per evitare che il motore di scheduling termini il processo per inattivita'. Il delta tempo e' misurato con COGS62.