Vai al contenuto

SWC020 - Scaricamento Movimenti Centri di Costo x SW-ING

Intestazione

Campo Valore
Programma SWC020
Titolo Scaricamento Movimenti Centri di costo
Posizione menu Statistiche > Estrazione dati vs B.I.Swing > Contabilita' > Movimenti centri di costo

Scopo e logica generale

SWC020 estrae i movimenti di analitica per centro di costo e li scarica nella tabella BI di destinazione:

  • BINMOVCC: movimenti analitici per centro di costo con tutti i dati di analisi (documento, conto, importo, riparti, riferimenti).

Il programma funziona in due modalita':

  • Interattiva: di default non chiede parametri e parte automaticamente dalla data di chiusura dell'esercizio precedente. Se invocato con wo-parametro = "D", mostra l'accept di data inizio/fine.
  • Batch (chiamata da Aglancio): l'output e' rediretto al log di processo Aglancio tramite gesdebug.

Prima dell'elaborazione vengono cancellati i record BINMOVCC del periodo (cancella-bin-sub-tm-cfg-bin-tipo). La cancellazione discrimina i movimenti consuntivi dai provvisori in base al flag tm-cfg-tipo-estr.


Flusso principale

  1. Inizializzazione (m-00): 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. Lettura esercizio contabile (a4): COGTABEL tipo 66, apertura COGCOATT (prima nota corrente) e COGCOPRE (prima nota precedente).
  3. Selezione periodo (modalita' interattiva): se wo-parametro = "D", mostra a-tm-daint-in/a-tm-daint-fi; altrimenti salta direttamente a a-elabora-conferma con la data di chiusura esercizio.
  4. Cancellazione e elaborazione (a-elabora-conferma):
  5. cancella-bin-sub-tm-cfg-bin-tipo: cancellazione preliminare dei record BI.
  6. elabora: lettura tabella modelli analitica (COGTABEL tipo "AU") + scarica-cogmovcc.
  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
BINMOVCC bcdc-rec I-O Archivio BI movimenti centri di costo (output)
COGMOVCC cdc-rec Input Movimenti analitici centri di costo (sorgente principale)
COGBPCC bpcc-rec Input Tabella di mappatura servizio/centro/modello -> codice di riparto
COGTABEL euta-rec Input Tabelle sistema (tipo 66 esercizio, tipo "AU" modelli analitica, tipi 21/84/88)
COGPNCON pco-rec Input Piano dei conti
COGPNONC pno-rec Input Prima nota non contabilizzata (per recupero data competenza, flag provvisorio)
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)
FILELOG log-rec Output Log testuale (#$logbin009.txt)

Copybook inclusi

Screen Designer

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

Strutture dati

Copybook Contenuto
cogfiles.cpy FD feurtab
binmovcc.cpy Record BINMOVCC
arpstprc.cpy Record ARPSTPRC
cogcoatt.cpy / cogcopre.cpy FD prima nota corrente/precedente
cogconta.cpy / wcont.cpy / wcont1.cpy Working storage contabili
cogazien.cpy Dati azienda
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy Working storage comuni
sql-decla-ws.cpy Working storage connessione SQL/BI
binmovcc-sql-ws.cpy Interfaccia SQL BINMOVCC
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
utils52.cpy Interfaccia COGS52 (calendario)
utils62.cpy Interfaccia COGS62 (delta tempo per SWLIVE)

Programmi chiamati (CALL)

Programma Scopo
RNEWCONF Lettura configurazione (x99-src-cfg, x99-src-cfg-agl)
SWGETS Recupero stringa di connessione SW-ING
AZVALIDA.COB Validazione data fattura
COGS62 Calcolo differenza in secondi tra due timestamp (per SWLIVE)
SWLIVE Keepalive processo Aglancio (ogni 30 secondi in modalita' batch)
C$RERR Recupero stato esteso file (uso C-Tree/DBmaker)
W$FLUSH Flush schermo

Configurazione (RNEWCONF)

Lette in 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

Il campo tm-cfg-tipo-estr ("S" = solo provvisori, altro = consuntivi) e' presente nella struttura ma la lettura della chiave RNEWCONF e' commentata nel codice corrente: il valore di default e' "P" (forzato a "P" se a spazi).

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

Lettura modelli analitica

In testa a elabora, viene letta da COGTABEL la tabella tipo "AU" (modelli analitica) caricando fino a 6 codici modello in tabella w-mod. Questi codici vengono usati per ricercare i riparti su COGBPCC.

Scarica-cogmovcc

Scansione sequenziale di COGMOVCC. Per ogni movimento con cdc-datamov >= tm-data (data inizio):

  1. Trasferimento campi base: codice anno, documento, mastro/conto/sottoconto, segno, livelli analitica, magazzino, merce, commessa, riferimenti documento magazzino.
  2. Ricerca cliente/fornitore (cerca-cli-for): scansione di COGPNONC sul documento per individuare il cliente o fornitore associato (PCASE-1412: usa direttamente cdc-ana-tipo/cdc-ana-cod se presenti).
  3. Calcolo segno importo: il segno DARE/AVERE viene tradotto in segno aritmetico (DARE = negativo).
  4. Determinazione consuntivo vs provvisorio (PCASE-4289): lettura di COGPNONC per il documento; se pno-fl-pro e' a spazi il movimento e' consuntivo (bcdc-importo valorizzato), altrimenti e' provvisorio (bcdc-importo-prov valorizzato e bcdc-fl-prov = "P").
  5. Validazione date: data movimento, data competenza, sottoconto e livello 3 vengono validati; eventuali zeri scatenano una segnalazione (errore-1/2/3/4) sul log.
  6. Calcolo riparti analitica: per ognuno dei 6 modelli di analitica, scansione di COGBPCC su (servizio = bcdc-rep, CC = bcdc-cc, modello). Se trovato esattamente un riparto, viene assegnato a uno degli slot bcdc-ricla(1..6); se piu' di uno, viene segnalato (errore-5).
  7. Validazione data fattura (AZVALIDA.COB): se errata, sostituita con data di sistema.
  8. Scrittura BINMOVCC: in base a tm-cfg-tipo-estr:
  9. se "S" (solo provvisori): scrive solo se bcdc-fl-prov = "P".
  10. altrimenti scrive il movimento (consuntivo o provvisorio).

Cancellazione preliminare

cancella-bin-sub-tm-cfg-bin-tipo instrada a una procedura specifica per il tipo di database (C-Tree: cancella-ctree, DBmaker: cancella-dbmaker, PostgreSQL: cancella-postgres). Per C-Tree/DBmaker la cancellazione e' un loop sequenziale che applica il filtro tm-cfg-tipo-estr (cancella solo i provvisori se in modalita' "S").

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.