Vai al contenuto

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).

Posizione nel menu

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

  1. 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).
  2. 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.
  3. 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).
  4. a-richiesta-conferma: verifica requisiti (x-imposta-conferma), attende conferma (acc-conf), poi lancia l'estrazione a-ricerca.
  5. 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).
  6. a-grid-ini / carica-tab / z-costruisci-grid: riempimento della griglia con paginazione (spaginamento via utilpggr); se n-m = 0 segnala "Nessun movimento trovato".
  7. a-grid: ciclo di interazione sulla griglia (PgUp/PgDn per spaginare, Shift+F4 amministrazione griglia, Shift+F5 esporta Excel, F9 stampa).
  8. 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.
  9. 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).