Vai al contenuto

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 66conta-rec); esercizi precedenti (euta-tipo "AF"); conto transito reddito (euta-codr 1conta1-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

  1. aprird-azi, open-files, lettura configurazione (x99-cfg: ordinamento, salto pagina, intestazione, tipo stampa, righe testa/pie' pagina), costruzione nome file transito cogtrans.
  2. 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 via x-controlla-*.
  3. a-riga-fine — conferma finale, apertura stampante (COGS54), calcolo max-riga in base a righe bollato/testa/piede, stampa intestazione se tm-pagina = "S" (z-intesta/s-intesta).
  4. prepara-cal — costruisce il file calendario trscal con un record per ogni giorno dal tm-datapared al tm-dataarred (base per la scansione cronologica); cnt-rig fa un pre-conteggio righe se richiesto dalla config.
  5. a010b / a012 / a013 — loop principale: scorre trscal per data crescente; per ogni giorno legge COGCOATT (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). Se tm-conta-si = "S" include i non contabilizzati (rd-non-contab).
  6. 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 via COGCOPRE.
  7. a999 / b300-* — chiusura periodo: totale finale, eventuale annullo automatico delle righe bollato rimanenti (tm-flannul = "S"), riga di chiusura.
  8. b300-ex1 — aggiornamento dei numeratori di foglio (aggiorna-rif-pag) e riga bollato (a-riga) previa conferma dell'operatore.
  9. fine-sta / fine / z-chiudi — chiusura stampante (COGS54 after-print), chiusura file, cancellazione cogtrans, 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 da euta-doc-eserc-prec (tabella euta-tipo "AF"); il file system per il nome viene impostato via set-filesystem-for-fname (righe marcate ctree).
  • 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) e PERFORM ... 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-computer sono acu-cobol (non pc-sperry): programma di vecchia conversione Windows (2004).