Vai al contenuto

COGY36 - Spesometro/Esterometro (Contratti Clienti/Fornitori)

Sorgente: cbl/cogy36.cbl | Program-ID: COGY36 | Tipo: interattivo a griglia con file temporaneo

Menu: Contabilita' > Bilancio > Spesometro/Esterometro


Scopo

Gestisce l'anagrafica dei contratti associati a clienti o fornitori, utilizzata nel contesto dello Spesometro/Esterometro. Il programma lavora in modalita' duale: se invocato con parametro wo-parametro = 'F' mostra i contratti dei fornitori, altrimenti quelli dei clienti. Per ciascun soggetto, e' possibile mantenere una lista di contratti con data di inizio, data di fine e riferimento contratto. I dati di lavoro vengono accumulati in un file temporaneo (COGTRANS) e sincronizzati su COGTABEL (record di tipo 'BF') alla conferma con F3.

File e tabelle

File/Tabella Copybook Modalita' Uso
COGTABEL cogtabel.cpy, cogtabel.fd, cogtabel.k01 Input/Output Archivio permanente dei contratti (tipo euta-tipo-x = 'BF', euta-ac-tipo = 'C' o 'F'); usato anche per leggere il progressivo contratto (euta-ac-prog)
COGGEANA coggeana.cpy, coggeana.fd, coggeana.k01 Input Anagrafica clienti/fornitori: lettura descrizione per codice
COGTRANS (definito inline nel sorgente) Output / Input-Output File temporaneo (path in ext-tmp-dir) per i dati di lavoro della sessione; eliminato alla chiusura
FEURTAB feurtab.fd, cogfiles.cpy Utility runtime File di supporto AcuCOBOL

Programmi chiamati

Programma Scopo
GRIDADMN Gestione griglia paginata: Prepara, Svuota, Add-Record, Modify-Record
COGY37 Help di ricerca anagrafica (clienti o fornitori), richiamato con F11
COGS65W Controllo grafico per la ricerca e validazione cliente/fornitore (F8/F9)

Copybook principali

Screen Designer / griglia: cogy36.select, cogy36.fd, cogy36.wrk, cogy36.prc, cogy36.decla, cogy36-01.scr, wgrid.cpy, utilgdad.cpy, cogtrans.k01, cogtrans.k02

Gestionale: cogazien.cpy, cogfiles.cpy

Utility: wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy, utils65.cpy, utils52.cpy, utily37.cpy, wcont.cpy, wcont1.cpy, grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, dtab.cpy, fscrol2.cpy, utilpggr.cpy

Logica di elaborazione

Apertura: inizializzazione, caricamento bitmap custom, creazione pulsante F11 (Cerca nominativo). Il file COGTRANS e' dichiarato con path composto da ext-tmp-dir + "#$COGy36." + wo-oper per garantire univocita' per operatore.

Caricamento iniziale (a-fine-dati / riempi-cogtrans): alla prima apertura, il programma scansiona COGTABEL con euta-tipo-x = 'BF' e euta-ac-tipo corrispondente al tipo soggetto, e copia tutti i contratti nel file temporaneo COGTRANS. La chiave primaria di COGTRANS e' composta da trs-ac-cod + trs-ac-data-da-k + trs-ac-prog.

Griglia paginata (vis-tabella-ini / vis-tabella-disp): utilizza il meccanismo di spaginamento (utilpggr.cpy, fscrol2.cpy) con lettura da COGTRANS. I paragrafi rst-not-less, rdnxt-cogtrans, rdprv-cogtrans governano la navigazione avanti/indietro. Per ogni record letto (rd-controlli-fill), legge la descrizione del soggetto da COGGEANA.

Dettaglio riga (a-riga-dettaglio): in inserimento, accetta il codice cliente o fornitore tramite COGS65W, poi le date (da/a con COGS52W) e il riferimento contratto. In modifica, il codice soggetto non e' modificabile. La validazione (x-imposta-conferma-dettaglio) controlla obbligatorieta' e coerenza delle date.

Salvataggio riga: in inserimento (inserisci), il nuovo record viene scritto su COGTRANS con un progressivo incrementale; in modifica, aggiorna il record esistente tramite la chiave secondaria trs-ac-prog (rd-cogtrans-chia2 + rwr-cogtrans).

Conferma finale (aggiorna): F3 dalla griglia lancia aggiorna, che cancella tutti i record 'BF' del tipo corrente da COGTABEL e riscrive da COGTRANS con scrivi-cogtabel. Al termine, COGTRANS e' eliminato fisicamente (delete file cogtrans).

Ricerca F11: richiama COGY37 passando il tipo soggetto; se viene restituito un codice, riposiziona la griglia sul primo contratto di quel soggetto.

Visibilita' colonne: vis-colonne nasconde/mostra le colonne cliente o fornitore in base a wo-parametro.

Note

  • COGTRANS e' dichiarato direttamente nel sorgente (non tramite copybook FD), con chiave primaria trs-chia1 e chiave secondaria trs-chia2 = trs-ac-prog.
  • I copybook cogtrans.k01 e cogtrans.k02 sono inclusi esplicitamente in fondo alla procedure division.
  • L'export Excel e' disponibile tramite Shift-F5 (z-esporta-paged-grid).
  • Il parametro wo-parametro e' letto da wcont.cpy/wcont1.cpy (linkage): determina la modalita' clienti/fornitori senza che il programma esponga una scelta all'operatore.

Documentazione tecnica generata -- 2026-07-15