COGC44 -- Confronto Saldi Cont./Part.¶
Sorgente: cbl/cogc44.cbl | Program-ID: COGC44 | Tipo: Elaborazione con stampa
Menu: Contabilita' > Prima Nota > Stampe > Confronto Saldi Cont./Part. / Contabilita' > Bilancio > Chiusura/Riapertura Esercizio > Controllo Saldi Contabili/Partite
Scopo¶
Confronta i saldi contabili con i saldi partitari per tutti i conti a partite aperte. Scorre i conti configurati come partite aperte (COGTABEL tipo 45), calcola il saldo contabile da COGSLPCO (saldi per conto) e il saldo partitario da COGMOVPA (movimenti partitario) tramite COGPARTI, e stampa i conti che presentano differenze superiori alla soglia impostata.
Utilizza un file di transito (COGTRANS) per accumulare i saldi calcolati prima di confrontarli.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB (COGTABEL) | Indicizzato | Input | Tabella generica (tipo 66: esercizio contabile, tipo 45: conti a partite aperte) |
| COGTRANS | Indicizzato | I-O | File transito per accumulo saldi (creato in tmp dir) |
| COGPNCON | Indicizzato | Input | Piano dei conti (via cogc44.select) |
| COGSLPCO | Indicizzato | Input | Saldi per conto (via cogc44.select) |
| COGGEANA | Indicizzato | Input | Anagrafica generale (via cogc44.select) |
| COGPARTI | Indicizzato | Input | Partite aperte (via cogc44.select) |
| COGMOVPA | Indicizzato | Input | Movimenti partitario (via cogc44.select) |
| FLSTA | Sequenziale | Output | File di stampa |
Struttura COGTRANS¶
trs-chia1:
trs-con:
trs-mastro pic 9(02) Mastro
trs-conto pic 9(02) Conto
trs-sconto pic 9(06) Sottoconto
trs-tipo pic x(01) Tipo cliente/fornitore
trs-consaldo pic s9(12)v9(06) Saldo contabile
trs-parsaldo pic s9(12)v9(06) Saldo partitario
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
| feurtab.fd | SELECT della tabella COGTABEL |
| cogc44.select | SELECT generati da Screens (COGPNCON, COGSLPCO, COGGEANA, COGPARTI, COGMOVPA) |
| cogc44.fd | FD generata da Screens |
| cogc44.wrk | Working-storage generata da Screens |
| cogc44.decla | Declaratives per gestione errori I/O |
| cogc44-01.scr | Screen principale |
| flsta.fd / flsta.cpy | File di stampa |
| cogfiles.cpy | Definizione record COGTABEL (euta-*) |
| k-u10.cpy | Costanti per COGU10W |
| wgrave.cpy | Variabili messaggi gravi |
| wnscr.cpy | Variabili screen |
| wopenf.cpy | Variabili apertura file |
| wstato.cpy | Variabili di stato |
| cogazien.cpy | Dati azienda corrente |
| cogconta.cpy | Struttura contabilita' (conta-rec, conta-cones) |
| utils54.cpy | Utility stampa (COGS54) |
| utilu10.cpy | Utility conversione importi (COGU10W) |
| utilu20.cpy | Utility input numerico |
| wcont.cpy / wcont1.cpy | Struttura linkage standard |
Struttura del programma¶
Flusso principale¶
-
apri: inizializzazione, apertura file, creazione file transito COGTRANS nella tmp dir con nome
#$COGC44.<operatore>(se gia' in uso, segnala errore e esce). Lettura esercizio (euta-tipo 66), anno contabile inwanno, lettura divisa conto. -
a4: inizializzazione maschera, default tm-fl-prov = "N".
-
Parametri:
a-tm-soglia-positiva: soglia di squadratura (pic 9(01)v9(02))-
a-tm-fl-prov: flag inclusione provvisori (S/N, gestito con COGS95) -
a-riga-fine: validazione, scelta destinazione stampa (COGS54).
-
Fase 1 - Calcolo saldi contabili (
a006): scorre COGTABEL tipo 45 (conti a partite aperte, fino a 99). Per ogni conto: calc-sald: legge COGSLPCO per mastro/conto dell'anno corrente (wanno), accumula dare-avere insaldo, gestisce conversione divisa (Lira->Euro con COGU10W), chiamascr-conper scrivere/aggiornare COGTRANS con il saldo contabile.-
rot-con: legge COGPNONC (prima nota contabilizzata) per mastro/conto, accumula saldo dai movimenti, chiamascr-conper aggiornare COGTRANS. Gestisce filtro provvisori. -
Fase 2 - Calcolo saldi partitari (
a010->calc-part): scorre COGPARTI, per ogni partita legge i movimenti da COGMOVPA (aggio-20/aggio-40), accumula l'importo in base al segno (D/A), gestisce conversione divisa, chiamarot-parper scrivere/aggiornare il saldo partitario in COGTRANS. -
Fase 3 - Confronto e stampa (
chk-saldo): scorre COGTRANS, per ogni conto confronta trs-consaldo e trs-parsaldo. Se la differenza (in valore assoluto) supera tm-soglia-positiva, stampa la riga con: conto, nome anagrafica, saldo contabile, saldo partitario.
Paragrafi chiave¶
| Paragrafo | Scopo |
|---|---|
| calc-sald / cr-20 | Calcolo saldi contabili da COGSLPCO per l'anno |
| scr-con / scr-con-20 | Scrittura/aggiornamento saldo contabile in COGTRANS |
| rot-con / rot-con-10 | Accumulo saldi da COGPNONC (prima nota contabilizzata) |
| calc-part / aggio-20 / aggio-40 | Calcolo saldi partitari da COGPARTI/COGMOVPA |
| rot-par / rot-par-20 | Scrittura/aggiornamento saldo partitario in COGTRANS |
| chk-saldo | Confronto e stampa differenze |
Chiamate esterne¶
| Programma | Modalita' | Scopo |
|---|---|---|
| COGS54 | CALL | Gestione stampa (anteprima/stampante) |
| COGU10W | CALL | Conversione/edita importi e cambio divisa (Lira/Euro) |
| COGS95 | CALL (via perform z-s95-*) | Gestione check-box (flag provvisoria) |
Variabili principali¶
| Variabile | Tipo | Descrizione |
|---|---|---|
| tab-maschera | 01 | Contiene: tm-soglia-positiva (pic 9(01)v9(02)), tm-fl-prov (pic x(01)) |
| wanno | 77 | Anno esercizio corrente (da conta-cones) |
| saldo | 77 | Saldo accumulato (pic s9(12)v9(06)) |
| wuta-p-conto | 01 | Conto di lavoro: wuta-p-mas, wuta-p-con, wuta-p-sco |
| wuta-p-tipo | 77 | Tipo conto partita (cliente/fornitore) |
| w-currency-conto | -- | Divisa del conto (da get-divisa-conto) |
Formato di stampa¶
Conto Anagrafico Saldo Contabile Saldo Partitario
________________________________________ ________________ ________________
1/01/ 12345 Nome anagrafica 999.999.999,999999 999.999.999,999999
Ogni riga mostra mastro/conto/sottoconto, nome dell'anagrafica, saldo contabile e saldo partitario con il rispettivo segno.
Note¶
- Il file transito COGTRANS viene creato nella directory temporanea e viene eliminato alla chiusura (delete file cogtrans).
- Il programma usa
PERFORM ... THRUin diversi punti (calc-sald thru ex-calc-sald, calc-part thru ex-calc-part, rot-con thru ex-rot-con, rot-par thru ex-rot-par, chk-saldo thru ex-chk-saldo, scr-con thru ex-scr-con): questo e' codice legacy che non segue le convenzioni correnti ma funziona correttamente. - La conversione Lira/Euro viene eseguita sia per i saldi contabili sia per i saldi partitari tramite COGU10W con operazione k-u10-cambio.
- I movimenti con anno = 55555555 vengono ignorati (record di controllo).