Vai al contenuto

SWC013 - Scaricamento Movimenti Prima Nota Contabile per SW-ING

Sorgente: cbl/swc013.cbl | Program-ID: SWC013 | Tipo: Batch BI (interattivo + Aglancio)

Menu: Statistiche > Estrazione dati vs B.I.Swing > Contabilita' > Movimenti p.nota contabile


Scopo

Estrae i movimenti di prima nota contabile (COGCOATT correnti, COGCOPRE precedenti) e li scarica nelle tabelle BI BINMOVPN (movimenti), BINSALPN (saldi periodici) e BINRICPN (progressivi di riclassificazione).

Supporta due esercizi contabili: corrente (predefinito) o un esercizio precedente selezionato dall'operatore via tabella 66.


File e tabelle

Input (gestionale)

File Tipo Modalita' Uso
FEURTAB ISAM Input Parametri
COGCOATT ISAM Input Prima nota attuale (apertura dinamica via open-pn-contabilizzata)
COGCOPRE (commentata) - Prima nota esercizio precedente (storica)
COGTABEL ISAM Input Tipo 66 (esercizio contabile), tipo 84 (cod "C"), tipo 21, tipo 88, tipo "AF" (esercizi), tipo "AE" (codici moduli)
FILELOG sequenziale Output Log opzionale #$logswc013.txt

Output BI (SQL via PostgreSQL)

Tabella BI Record Modalita' Uso
BINMOVPN bpno-rec I-O Movimenti prima nota
BINSALPN bsal-rec I-O Saldi periodici
BINRICPN bric-rec I-O Progressivi riclassificazione
ARPSTPRC a-stpr-rec I-O Stato processi Aglancio

Copybook utilizzate

Screen Designer

Copybook Contenuto
swc013.select, swc013.fd, swc013.wrk, swc013-01.scr, swc013.decla, swc013.prc Screen Designer

Strutture dati

Copybook Contenuto
binmovpn.cpy, binsalpn.cpy, binricpn.cpy Record BI
binmovpn-sql-ws.cpy, binsalpn-sql-ws.cpy, binricpn-sql-ws.cpy Interfacce SQL
arpstprc.cpy, arpstprc-sql-ws.cpy Stato processi
sql-decla-ws.cpy Working storage SQL
cogconta.cpy Record tabella conta (esercizio contabile, tipo 66)
cogazien.cpy Dati azienda
cogfiles.cpy FD FEURTAB
logfile.cpy Macro per log

Utility

Copybook Contenuto
utilncnf.cpy Lettura RNEWCONF
utilgesdebug.cpy Log/debug
utilswgets.cpy Conn-string AreaGate
utilagprg.cpy Linkage Aglancio
utils62.cpy Differenza tempo (SWLIVE)
wstato, wgrave, wopenf, wnscr Working storage standard

Logica di elaborazione

Apertura (m-00)

  1. Test linkage util-agprg con C$NARG / C$PARAMSIZE.
  2. Se wo-parametro = "D": richiede selezione date.
  3. ctr-abil, x-carica-lingua, z-99-init-program, rd-azi, open-files.
  4. x99-src-cfg (BI con chiave aggiuntiva tm-cfg-tipo-estr), x99-src-cfg-agl.
  5. Determinazione modalita' batch.
  6. init-bin-sub-tm-cfg-bin-tipo.

Selezione esercizio (a4)

  • Lettura COGTABEL tipo 66 -> popola conta-rec (esercizio contabile corrente).
  • Maschera: tm-esprec (S/N) e tm-eser-cont (anno1/anno2).
  • Se tm-esprec = "S": apertura dinamica del file PN dell'esercizio precedente tramite COGTABEL tipo "AF" (chiave: anno) + euta-doc-eserc-prec.
  • Se batch (w-dc-called = "S") o wo-parametro <> "D": salta la maschera e usa l'esercizio corrente.

Elaborazione (dopo a-avanti-ok)

  1. Calcolo data inizio elaborazione: se esercizio corrente, da conta-dachiur; se precedente, dal giorno successivo a conta-conchiupre9.
  2. Apertura COGCOATT (e opzionalmente COGCOPRE).
  3. Caricamento w-tab-mod da COGTABEL tipo "AE" (max 6 codici moduli).
  4. Cancellazione (cancella-dati): DELETE su BINMOVPN/BINSALPN/BINRICPN per il periodo selezionato, eseguito direttamente in SQL con sql-prepare-id-binmovpn + sql-execparams. La condizione e' "data >= X" (esercizio corrente) o "data BETWEEN X AND 31/12/anno" (esercizio precedente). Per esercizio corrente con tm-cfg-tipo-estr = "S" aggiunge AND bpno_fl_prov <> ' ' (estrae anche provvisori).
  5. Elaborazione:
  6. Se tm-esprec = "S": b-elabora-coatt + b2-elabora (p.note provvisorie).
  7. Altrimenti: b-elabora-coatt + b-elabora.
  8. c-elabora: scrittura saldi BINSALPN.
  9. d-elabora: scrittura progressivi riclassificazione BINRICPN.

Chiusura (fine / z-chiudi)

Chiusura file e connessione BI; modalita' batch riapre AreaGate e aggiorna ARPSTPRC.


Chiamate esterne (CALL)

Programma Scopo
RNEWCONF Configurazione (BI con tipo-estrazione-bi-swc013, Aglancio)
SWGETS Conn-string AreaGate
DTPRG / PRGDT Conversione data <-> progressivo (calcolo giorno successivo a chiusura)
WIN157 Aiuto selezione esercizio (popup F8)
C$NARG, C$PARAMSIZE, C$RERR Runtime AcuCOBOL

Configurazioni (RNEWCONF)

BI (x99-src-cfg, gruppo abilita) + chiave specifica

Chiave Gruppo Campo Descrizione
bin-tipo abilita tm-cfg-bin-tipo Tipo connessione (N/C/D/P)
bin-db-path abilita tm-cfg-bin-path Path C-Tree
bin-db-conn-string (1-3) abilita tm-cfg-bin-conn-string Stringa PostgreSQL
bin-db-log-level abilita tm-cfg-bin-log-level Livello log
tipo-estrazione-bi-swc013 (verifica chiave nel sorgente per nome esatto) - tm-cfg-tipo-estr "S" = include p.note provvisorie nella cancellazione

Aglancio (x99-src-cfg-agl, gruppo areaapp)

Standard: cod-azienda, db-log-level, AGLANCIO-ATTIVO.


Schedulazione (Aglancio)

k-id-processo = 50013, k-tabella-statosyn = "SWC013". Lanciato con util-agprg. In modalita' batch usa sempre l'esercizio corrente. Aggiorna ARPSTPRC in chiusura.


Note

  • Programma corposo (3.400+ righe) con elevata complessita' nella gestione esercizi precedenti e nei calcoli saldi/riclassificazione.
  • Le DELETE iniziali usano SQL diretto con sql-prepare-id-binmovpn per efficienza (l'alternativa via cursor record-by-record e' commentata).
  • Per esercizio precedente la finestra di cancellazione e' chiusa (BETWEEN inizio-anno-prec e 31/12/anno-prec); per esercizio corrente e' aperta (>= data inizio).
  • Source-computer/object-computer dichiarato come pc-sperry (vs acu-cobol degli altri SWC*).
  • Keepalive SWLIVE non implementato in SWC013 (a differenza di SWC002/SWC009): per esercizi grandi puo' essere terminato da Aglancio.