COGK42 - Visualizzazione Storico Revisioni
Panoramica
COGK42 e' un programma GUI a griglia paginata che estrae e visualizza lo storico
delle revisioni veicolo registrate nel Centro Revisioni. L'utente imposta un
filtro (periodo, targa, cliente), il programma estrae i dati dalla tabella delle
revisioni (cogrevis) accumulandoli in un file di transito temporaneo
(cogtrans) e li mostra in una griglia scorrevole; da qui e' possibile stampare
l'elenco (F9) ed esportarlo in Excel (Shift+F5). Viene avviato da menu come
sottoprogramma (procedure division using stringhe).
| Menu |
Percorso |
| Vendite |
Centro Revisioni > Stampe / Estrazioni > Visualizz. Revisioni |
Struttura del programma
File e tabelle utilizzati
| File/Tabella |
Tipo |
Descrizione |
cogrevis |
Indexed (chiave sec. cogrevis.k04) |
Anagrafica revisioni: targa, data, cliente, proprietario, documento di magazzino collegato (rvi-doc) |
coggeana |
Indexed |
Anagrafica generale (clienti/proprietari): nome intestatario da codice |
cogmomag |
Indexed |
Movimenti di magazzino: usati in x1-calco-tot per sommare il valore del documento revisione |
cogtrans |
Indexed temporaneo |
File di transito creato dal programma (chiave trs-chia1 = documento magazzino) che accumula i record da mostrare e stampare |
feurtab |
Indexed |
File tabelle generali di sistema (cogfiles.cpy) |
flsta |
- |
File di stato/lock standard |
Il file cogtrans viene dichiarato manualmente nel sorgente (SELECT, FD, record
trs-rec esplicito) in quanto tabella temporanea non gestibile da Screens. Il
nome fisico e' costruito in ext-tmp-dir con #$COGK42.<operatore>.
Copybook principali
| Copybook |
Descrizione |
cogk42.select / cogk42.fd / cogk42.wrk / cogk42.prc / cogk42-01.scr / cogk42.decla |
Elementi generati da Screens (select, FD, working, procedure, screen, declaratives) |
cogrevis.k04 |
Routine di I/O e chiave secondaria della tabella revisioni (aggiunta manualmente) |
cogtrans.k01 |
Routine di I/O della tabella di transito |
wgrid.cpy, utilgdad.cpy, utilpggr.cpy, fscrol2.cpy |
Gestione griglia GUI paginata (GRIDADMN, scroll, esportazione) |
utils52/54/65/68/20.cpy, utile35.cpy, utilu09/u10/u22.cpy, k-u10.cpy |
Utility di campo (date COGS52, stampa COGS54, cliente COGS65, editing importi COGU10) |
cogazien.cpy, wstato/wopenf/wgrave/wnscr.cpy |
Dati azienda e stato file standard |
GetDCont.cpy, sendu22.cpy, dtab.cpy |
Divisa conto, invii, gestione tabellare |
Chiamate a sottoprogrammi (CALL)
| Programma |
Scopo |
GRIDADMN |
Gestore della griglia GUI (prepara colonne, aggiungi/svuota record, amministrazione contrassegni) |
COGS54 |
Gestore di stampa (selezione stampante, chiusura stampa) |
COGS65W |
Ricerca/selezione cliente con descrizione (campo Cliente) |
COGU10W |
Editing e formattazione importi in divisa (rg-valore in stampa) |
Logica di elaborazione
apri / main: inizializzazione (z-99-init-program), lettura lingua, azienda
(rd-azi), apertura file (open-files), divisa conto (get-divisa-conto),
abilitazione tasti funzione, costruzione controlli e griglia
(z-costruisci-controlli, z-prepara-tm-grid).
a4: reset della maschera e della griglia; si costruisce il nome del file di
transito cogtrans e lo si apre in output per verificarne l'uso esclusivo
(se lo stato non e' "00" segnala "Funzione gia' in uso" e va a fine), poi lo
riapre in i-o.
- Sezione di accept:
a-tm-da-data, a-tm-a-data, a-tm-targa, a-tm-cli
raccolgono i parametri di filtro. Ogni campo ha una routine di controllo
(x-controlla-tm-*); su Cliente si legge coggeana per la descrizione. La
navigazione tra campi usa x-test-mouse e la gestione tasti (F2 indietro, F3
conferma, ESC esci).
a-richiesta-conferma: verifica requisiti (x-imposta-conferma), attende
conferma (acc-conf), poi lancia l'estrazione a-ricerca.
a-ricerca / a60-loop: scansione di cogrevis a partire da tm-da-data
(chiave data cogrevis.k04), filtrando per periodo, targa e cliente. Per ogni
revisione valida legge i nomi da coggeana, calcola il valore documento con
x1-calco-tot (somma di mag-valore su cogmomag) e scrive/riscrive un
record in cogtrans (wr-cogtrans / rwr-cogtrans).
a-grid-ini / carica-tab / z-costruisci-grid: riempimento della griglia
con paginazione (spaginamento via utilpggr); se n-m = 0 segnala "Nessun
movimento trovato".
a-grid: ciclo di interazione sulla griglia (PgUp/PgDn per spaginare, Shift+F4
amministrazione griglia, Shift+F5 esporta Excel, F9 stampa).
stampa / testa-pagina / riga-pagina / bool-new-pg1: stampa a righe con
testata (testa0c/testa1) su carta di larghezza 100 caratteri; il valore e'
editato con COGU10W in divisa conto.
fine / z-chiudi: chiusura file, chiusura ed eliminazione del file di
transito (close cogtrans + delete file cogtrans), uscita goback.
Note tecniche
- Programma con
decimal-point is comma; source-computer acu-cobol.
- Il file di transito
cogtrans e' privato per operatore (nome con wo-oper) ed
e' cancellato in uscita; l'apertura in output serve da lock esclusivo.
- Il valore della revisione (
trs-valore) e' la somma dei valori dei movimenti
di magazzino (cogmomag) collegati al documento revisione (rvi-doc), letta
in x1-calco-tot.
- La chiave secondaria
cogrevis.k04 (per data) e la routine di transito sono
incluse manualmente in fondo alla procedure division, oltre a quanto generato
da Screens.
- Il commento di intestazione recita "Visualizzazione Storico Revisioni" e il
titolo maschera "Visualizzazione storico revisioni": la voce di menu
"Visualizz. Revisioni" e' coerente con la funzione reale (visualizzazione con
possibilita' di stampa/export).