Vai al contenuto

COGI10 - Voci di controllo (Colture)

Panoramica

Programma interattivo a carattere (maschera testuale in finestra) per la gestione dell'anagrafica delle "Voci di controllo" del modulo Colture. E' una gestione di archivio classica (inserimento / variazione / cancellazione) su un solo file, CICLAVOR, che memorizza una coppia codice numerico + descrizione. Nel sorgente e nelle etichette video la stessa entita' e' chiamata anche "Lavorazione" / "Gruppo di Attivita'"; il copybook ciclavor.cpy la definisce esplicitamente come "Anagrafica Voci di controllo". Il programma non produce stampe: aggiorna direttamente l'archivio a valle della conferma dell'operatore.

Posizione nel menu

Menu Percorso
Magazzino Colture > Archivi di Base > Voci di controllo

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema / anagrafica azienda (letta da rd-azi)
CICTABEL I-O Tabella generica del modulo Colture (aperta ma non movimentata in questo programma)
CICLAVOR I-O Anagrafica Voci di controllo / Lavorazioni (codice + descrizione): file gestito
COGMAGAZ Input Anagrafica magazzini (usata solo per recuperare mag-nome in visualizzazione)

Copybook principali

Copybook Descrizione
feurtab.fd / cictabel.fd / ciclavor.fd / cogmagaz.fd SELECT / File Description dei file
cogfiles.cpy Record di FEURTAB
cictabel.cpy / ciclavor.cpy / cogmagaz.cpy Layout record dei file
ciclavor.k01 Chiave primaria di CICLAVOR (per codice)
wstato.cpy / wgrave.cpy / wopenf.cpy / wnscr.cpy Working storage standard (stato verbi, errori gravi, apertura file, gestione video)
cogazien.cpy Dati azienda
utili07.cpy / utili08.cpy Interfacce di ricerca/help per descrizione (I07) e per codice (I08)
utils21.cpy Utilita' di supporto
sendi07.cpy / sendi08.cpy Routine di chiamata ai moduli di help I07/I08
stato.cpy / stato1.cpy Routine di gestione stato dei verbi di I/O
winmsg.cpy / grave.cpy Gestione messaggi a video ed errori gravi
open1.cpy / openc.cpy Routine di apertura file (open-files, open-files-ci)
mmmask.cpy Gestione maschera in finestra (rd-msk-pop, disp-msk, z-99-exit-program)
wcont.cpy / wcont1.cpy Aree di linkage con il chiamante (stringhe)

Chiamate a sottoprogrammi (CALL)

Il programma non contiene CALL dirette esplicite nel sorgente. Le funzioni di ricerca/help sono invocate tramite le routine send-i07 e send-i08 (copybook sendi07.cpy / sendi08.cpy), che pilotano rispettivamente la ricerca per descrizione e per codice.

Logica di elaborazione

1. Inizializzazione (apri)

Imposta il nome programma per help ed errori (COGI10), apre i file di sistema (open-files) e i file del modulo Colture (open-files-ci, che apre CICTABEL e CICLAVOR tramite search-file-ci), legge i dati azienda (rd-azi). Carica la maschera testuale mm-1 (7 righe da 67 colonne) come main-mask, ne imposta dimensione e posizione e la visualizza in finestra (rd-msk-pop).

2. Presentazione maschera (a4)

Visualizza la maschera e il titolo " Attivita' ", legge la data di sistema, mostra la barra funzioni (ESC=Esci) e inizializza le aree di lavoro tab-maschera e mag-rec.

3. Accettazione del codice (a6)

Mostra il tasto F8=Aiuto e accetta il codice tm-stm. Gestione tasti: - ESC -> uscita (fine); - F2 -> ripete l'accept; - F8 -> ricerca per codice via send-i08 (file CICLAVOR, indice ci-name-2); se l'utente non seleziona nulla si resta in a6, altrimenti il codice scelto e' riportato in tm-stm; - se il codice e' zero o spazi, si passa all'accettazione della descrizione (acc-des) e, con F8, alla ricerca per descrizione via send-i07.

4. Lettura e biforcazione (a10)

Se il codice e' nullo segnala "Codice Lavorazione non significativo!" e torna in a6. Altrimenti sposta tm-stm in cic-lav-cod, legge CICLAVOR (rd-ciclavor): se il record non esiste (w-verbo-invalido) va in inserimento, altrimenti in variazione.

5. Variazione / Cancellazione (variazione)

Visualizza il record (visualizza: descrizione da cic-lav-des, ed eventuale nome magazzino) e mostra F3=Varia, F4=Cancella. In varia00 accetta la nuova descrizione; F3 conferma (varia48), F4 cancella (cancella), F2 ripete, ESC torna in a4. - Variazione (varia90): sposta tm-des in cic-lav-des, tenta la riscrittura (rwr-ciclavor) e, se il record non esiste piu', lo riscrive con wr-ciclavor. - Cancellazione (cancella): dopo conferma (acc-conf, tasto F3) esegue del-ciclavor.

6. Inserimento (inserimento)

Mostra F3=Inserisce, accetta la descrizione (inser00); se la descrizione e' vuota segnala "Digitare codice o descrizione". Dopo conferma (inser48, tasto F3) in inser90 inizializza cic-lav-rec, valorizza codice e descrizione e scrive il nuovo record con wr-ciclavor.

7. Chiusura (fine / z-chiudi)

Chiude CICLAVOR e CICTABEL, chiude la finestra della maschera (close window), esegue z-99-exit-program ed esce con exit program.

Note tecniche

  • Divergenza etichetta/entita': la voce di menu e' "Voci di controllo"; nel sorgente titoli ed messaggi parlano di "Attivita'" / "Lavorazione". Il copybook ciclavor.cpy chiarisce che si tratta della stessa entita' ("Anagrafica Voci di controllo"), gestita sul file CICLAVOR.
  • Struttura record CICLAVOR: cic-lav-cod (codice numerico 9(03)) + cic-lav-des (descrizione x(50)), con flag cic-lav-val = "C" per il cancellato; chiave secondaria per descrizione (cic-lav-chia1) usata dal modulo di ricerca I07.
  • Interfaccia a carattere: il programma usa la vecchia tecnica della maschera testuale (mm-1 con caratteri semigrafici) gestita da mmmask.cpy, non una griglia GUI.
  • File aperti ma non gestiti: CICTABEL viene aperto in I-O ma non risulta letto/scritto in questo programma; COGMAGAZ e' aperto solo in input per la descrizione magazzino in visualizza.
  • Nessuna configurazione RNEWCONF viene letta.
  • Dimensione sorgente: circa 352 righe (cbl/cogi10.cbl).