COGE85 — Ristampa Libro Giornale di contabilita'¶
Sorgente: cbl/coge85.cbl | Tipo: stampa/report batch (con maschera di selezione) | Program-ID: coge85
Menu: Contabilita' > Prima Nota > Stampe > Libro Giornale > Stampa/Ristampa ; Contabilita' > Prima Nota > Stampe > Libro Giornale
Scopo¶
Stampa (o ristampa) il libro giornale della contabilita' a partire dall'archivio di prima nota contabilizzata dell'esercizio scelto. Il programma legge i movimenti contabilizzati (COGCOATT, archivio "attuale" o "precedente" aperto dinamicamente in base all'esercizio), li ordina cronologicamente costruendo un file calendario di lavoro (trscal), e produce la stampa giorno per giorno con totali di giornata e progressivi di mese, la descrizione del conto (da COGPNCON o dall'anagrafica COGGEANA), la causale e la descrizione del movimento.
Gestisce la numerazione del bollato: numero foglio (COGS25 codice 37) e numero riga bollato (COGS25 codice 36), l'intestazione con ragione sociale/P.IVA/anno/pagina, l'eventuale salto pagina, l'annullo automatico delle righe rimanenti a fine periodo e l'aggiornamento dei numeratori foglio/riga (aggiorna-rif-pag, a-riga). Puo' includere anche i movimenti non contabilizzati (tm-conta-si = "S", letti da COGPNONC) e supporta due layout: analitico multiriga (ri1/ri2/rdx/rd1) o riga singola tipo EXON (e2d/e2x).
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
COGTABEL (feurtab) |
cogfiles.cpy |
Tabella esercizio (euta-tipo 66 → conta-rec); esercizi precedenti (euta-tipo "AF"); conto transito reddito (euta-codr 1 → conta1-rec) |
COGCOATT |
cogcoatt.cpy |
Archivio prima nota contabilizzata (movimenti da stampare); aperto via open-pn-contabilizzata come "ATT" o "PRE" |
COGCOPRE |
cogcopre.cpy |
Archivio prima nota precedente: recupero conto originale per movimenti reddito con data effettiva (rd-cogcopre) |
COGPNONC |
cogpnonc.cpy |
Prima nota non contabilizzata (inclusa se tm-conta-si = "S") |
COGPNCON |
cogcont1.cpy (pco-rec) |
Piano dei conti: descrizione conto, pco-tipoanagr, flag reddito |
COGGEANA |
(feurtab / cogfiles) | Anagrafica: nome intestatario del conto se conto anagrafico |
trscal |
inline (cal-rec) |
File calendario temporaneo (#$calen<oper>) per scansione cronologica per data |
cogtrans |
inline (trs-rec) |
File temporaneo (#$COGE85.<oper>) dei riferimenti giornale (anno/npag) scritti se tm-pagina = "S" |
Copybook di working/servizio: cogazien.cpy, cogconta.cpy, utils25.cpy (numerazione), utils52.cpy (date COGS52W), utils54.cpy (stampante COGS54), utils65.cpy, utils99.cpy, utilu10.cpy/k-u10.cpy (importi in divisa), utilncnf.cpy (configurazione PRNTCOGE80 via RNEWCONF). Selezione esercizio precedente via WIN157.
Flusso principale¶
apri—rd-azi,open-files, lettura configurazione (x99-cfg: ordinamento, salto pagina, intestazione, tipo stampa, righe testa/pie' pagina), costruzione nome file transitocogtrans.a4...a-tm-totm— maschera di selezione: esercizio in corso/precedente (tm-esercizio), includi non contabilizzati (tm-conta-si), stampa intestazione/numerazione (tm-pagina), salto pagina (tm-rispinte), tipo stampa analitico/solo totali (tm-ris-a-t), annullo righe (tm-flannul), date da/a (tm-datapared/tm-dataarred), documento da/a, anno e numero foglio/riga bollato, forzatura totali giorno/periodo (tm-totg/tm-totm). Validazione viax-controlla-*.a-riga-fine— conferma finale, apertura stampante (COGS54), calcolomax-rigain base a righe bollato/testa/piede, stampa intestazione setm-pagina = "S"(z-intesta/s-intesta).prepara-cal— costruisce il file calendariotrscalcon un record per ogni giorno daltm-dataparedaltm-dataarred(base per la scansione cronologica);cnt-rigfa un pre-conteggio righe se richiesto dalla config.a010b/a012/a013— loop principale: scorretrscalper data crescente; per ogni giorno leggeCOGCOATT(st-cogcoatt-notmin-chia3+rdnxt-cogcoatt), gestisce rotture giorno/mese (rotgior/rotmese) con stampa dei totali, applica i filtri documento da/a, verifica l'esistenza del conto sul piano conti (ctr-pno) e stampa la riga di dettaglio (read-st). Setm-conta-si = "S"include i non contabilizzati (rd-non-contab).read-st— compone la riga di dettaglio: descrizione conto (piano conti o anagrafica), numero documento/riga, data registrazione ed effettiva, importo in dare/avere convertito nella divisa di conto; per movimenti reddito con data effettiva risale al conto originale viaCOGCOPRE.a999/b300-*— chiusura periodo: totale finale, eventuale annullo automatico delle righe bollato rimanenti (tm-flannul = "S"), riga di chiusura.b300-ex1— aggiornamento dei numeratori di foglio (aggiorna-rif-pag) e riga bollato (a-riga) previa conferma dell'operatore.fine-sta/fine/z-chiudi— chiusura stampante (COGS54after-print), chiusura file, cancellazionecogtrans, uscita.
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
COGS54 |
Apertura/chiusura periferica di stampa e parametri di pagina |
COGS52W |
Editing/validazione date (data partenza, arrivo, anno) |
WIN157 |
Selezione esercizio contabile (anno1/anno2) su F8 |
COGS25 |
Numerazione bollato: numero foglio (cod. 37) e numero riga (cod. 36) |
COGU10W |
Editing/conversione importi in divisa (via z-u10) |
RNEWCONF |
Lettura configurazione stampa (PRNTCOGE80) |
Note¶
- L'archivio contabilizzato viene aperto dinamicamente: per l'esercizio in corso si usa
COGCOATT("ATT"), per l'esercizio precedente si apre il file storico il cui nome deriva daeuta-doc-eserc-prec(tabellaeuta-tipo "AF"); il file system per il nome viene impostato viaset-filesystem-for-fname(righe marcatectree). - La scansione avviene per data tramite il calendario
trscal(un record per giorno), non leggendo direttamente in sequenza l'archivio: questo garantisce che vengano stampati anche i giorni senza movimenti nella logica di rottura e numerazione riga. - I movimenti di reddito con data effettiva significativa vengono ricondotti al conto originale dell'esercizio precedente (
COGCOPRE) per la corretta stampa della descrizione conto. - Sorgente in stile legacy: uso estensivo di
GO TO(a012/a013/a100/a025-ok/a030/a040/a050) ePERFORM ... THRU(es.rotmese thru ex-rotmese,read-st thru ex-read-st,prepara-cal thru ex-prepara-cal). Da non replicare nel nuovo codice. source-computer/object-computersonoacu-cobol(nonpc-sperry): programma di vecchia conversione Windows (2004).