Vai al contenuto

COGK31 - Memoria Esercizi Precedenti

Sorgente: cbl/cogk31.cbl | Program-ID: COGK31 | Tipo: gestione tabella a griglia

Menu: Contabilita' > Archivi & Tabelle > Varie > Memoria Esercizi Precedenti


Scopo

COGK31 gestisce la tabella che memorizza, per ogni coppia di anni contabili (esercizio "anno1/anno2"), i numeri di documento iniziali delle scritture di chiusura contabile: documento di reddito, documento patrimoniale, documento di apertura, utile/perdita, e le relative numerazioni di secondo e terzo set. Permette inoltre di collegare ciascun esercizio al file dati dell'esercizio precedente (path tm-esercizio-prec), convalidando che i numeri documento di primo documento esistano effettivamente nell'archivio COGCOPRE dell'esercizio referenziato. La tabella e' memorizzata su COGTABEL con tipo AF (costante k-euta-tipo = "AF").

File e tabelle

File/Tabella Copybook Modalita' Uso
FEURTAB feurtab.fd, cogfiles.cpy input Tabella file environment
COGTABEL cogk31.select, cogk31.fd i-o Archivio esercizi precedenti (tipo AF)
COGCOPRE cogcopre.fd, COGCOPRE.CPY input (aperto/chiuso inline) Archivio precedente esercizio (convalida numero documento)

Programmi chiamati

Programma Scopo
GRIDADMN Gestore griglia (prepare, add-record, modify-record, svuota-tutto)
C$OPENSAVEBOX Runtime AcuCOBOL: dialogo di selezione file (F5 nel campo esercizio precedente)

Copybook principali

Screen Designer / gestione griglia: - cogk31.select, cogk31.fd, cogk31.wrk, cogk31.prc, cogk31.decla, cogk31-01.scr (generati da Screens) - wgrid.cpy, utilgdad.cpy, utilgrid.cpy

Contabilita': - cogconta.cpy (record conta-rec: contiene conta-cone1/conta-cone2 per identificare l'esercizio corrente) - cogcopre.k01 (chiave primaria COGCOPRE)

Apertura file: - opensave.def (struttura opensave-data per C$OPENSAVEBOX)

Utility: - utils52.cpy (input anno con controllo data, utils60.cpy tramite z-costruisci-s60)

Gestionale standard: - wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy, cogconta.cpy - stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy - cogtabel.k01

Logica di elaborazione

Avvio: z-99-init-program, apertura file, lettura azienda; lettura del record contabile corrente da COGTABEL (tipo 66, codice 0) per ottenere conta-cone1/conta-cone2 (anni dell'esercizio contabile attivo).

Caricamento tabella (a10/a10-loop): scan di COGTABEL con st-cogtabel-notmin su tipo AF; per ciascun record: convalida numerica dei campi documento, poi caricamento in tm-tab (fino a 900 elementi). I campi caricati per riga sono: tm-anno1, tm-anno2 (coppia di anni, estratta da euta-cod), tm-ndoc1/2/3 (reddito/patrimoniale/apertura set 1), tm-ndoc1-2/2-2/3-2 (set 2), tm-ndoc4 (utile/perdita), tm-ndoc2-3/3-3 (patrimoniale e apertura set 3), tm-esercizio-prec (nome file esercizio precedente).

Griglia (a-grid / a-accept-grid): presentazione in griglia tramite GRIDADMN. Ctrl-A aggiunge una nuova riga, Ctrl-E cancella con conferma, Invio apre il dettaglio. F3 alterna modalita' aggiornamento/selezione.

Dettaglio riga (a-riga-dettaglio): accept sequenziale di anno1 e anno2 (via utils52.cpy), poi dei numerici per ciascun tipo documento. Il campo a-tm-esercizio-prec mostra il prefisso del percorso corrente nella status bar e attiva F5 per aprire il dialogo di selezione file (C$OPENSAVEBOX). Il nome file scelto viene estratto dalla parte finale del percorso (fino a 20 caratteri). Se l'esercizio selezionato coincide con l'esercizio corrente (conta-cone1/conta-cone2), il campo nome file deve essere vuoto.

Convalida documento (x-controlla-tm-ndoc1/2/4/...): se tm-esercizio-prec e' valorizzato e il numero documento non e' zero, apre COGCOPRE dal percorso composto e verifica che il documento con pre-anno = anno1+anno2 e pre-docum = ndoc esista effettivamente. Costruisce il path con set-filesystem-for-fname (Ctree).

Aggiornamento: rd-cogtabel-lk per lock, poi wr-cogtabel o rwr-cogtabel con tutti i campi documento.

Cancellazione: rd-cogtabel-lk, poi del-cogtabel, ricompattamento dell'array.

Note

  • Il tipo della chiave COGTABEL per questo programma e' la costante stringa "AF" (euta-tipo-x), a differenza di altri programmi che usano costanti numeriche.
  • Il campo euta-cod (8 caratteri) contiene la coppia di anni nel formato ANNO1ANNO2 (4+4 cifre).
  • La convalida del percorso file usa set-filesystem-for-fname (macro Ctree): il programma e' progettato per ambienti con filesystem Ctree (thin client).
  • Il dialogo C$OPENSAVEBOX non funziona su thin client Linux (nota nel sorgente: commento esplicito).
  • Le colonne di griglia includono: esercizio (anno1/anno2), ndoc1/2/3, esercizio-prec, ndoc1-2/2-2/3-2, ndoc4, ndoc2-3/ndoc3-3.

Documentazione tecnica generata -- 2026-07-15