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)¶
- Test linkage
util-agprgconC$NARG/C$PARAMSIZE. - Se
wo-parametro = "D": richiede selezione date. ctr-abil,x-carica-lingua,z-99-init-program,rd-azi,open-files.x99-src-cfg(BI con chiave aggiuntivatm-cfg-tipo-estr),x99-src-cfg-agl.- Determinazione modalita' batch.
init-bin-sub-tm-cfg-bin-tipo.
Selezione esercizio (a4)¶
- Lettura
COGTABELtipo 66 -> popolaconta-rec(esercizio contabile corrente). - Maschera:
tm-esprec(S/N) etm-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") owo-parametro <> "D": salta la maschera e usa l'esercizio corrente.
Elaborazione (dopo a-avanti-ok)¶
- Calcolo data inizio elaborazione: se esercizio corrente, da
conta-dachiur; se precedente, dal giorno successivo aconta-conchiupre9. - Apertura COGCOATT (e opzionalmente COGCOPRE).
- Caricamento
w-tab-modda COGTABEL tipo "AE" (max 6 codici moduli). - Cancellazione (
cancella-dati): DELETE su BINMOVPN/BINSALPN/BINRICPN per il periodo selezionato, eseguito direttamente in SQL consql-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 contm-cfg-tipo-estr = "S"aggiungeAND bpno_fl_prov <> ' '(estrae anche provvisori). - Elaborazione:
- Se
tm-esprec = "S":b-elabora-coatt+b2-elabora(p.note provvisorie). - Altrimenti:
b-elabora-coatt+b-elabora. c-elabora: scrittura saldi BINSALPN.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-binmovpnper 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(vsacu-coboldegli altri SWC*). - Keepalive SWLIVE non implementato in SWC013 (a differenza di SWC002/SWC009): per esercizi grandi puo' essere terminato da Aglancio.