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-chia1e chiave secondariatrs-chia2 = trs-ac-prog. - I copybook
cogtrans.k01ecogtrans.k02sono inclusi esplicitamente in fondo alla procedure division. - L'export Excel e' disponibile tramite Shift-F5 (
z-esporta-paged-grid). - Il parametro
wo-parametroe' letto dawcont.cpy/wcont1.cpy(linkage): determina la modalita' clienti/fornitori senza che il programma esponga una scelta all'operatore.
Documentazione tecnica generata -- 2026-07-15