COGQ32 - Numeratori Cicli di Lavorazione
Intestazione
| Campo |
Valore |
| Programma |
COGQ32 |
| Titolo |
Gestione tabella numerazioni cicli di lavorazione |
| Modulo |
Magazzino - Produzione |
| Posizione menu |
Magazzino > Produzione > Cicli di Lavorazione > Numeratori |
| Anche in |
Magazzino > Produzione > Lavoranti esterni > Numeratori |
| Autore originale |
Mauro Rovatti - Eurosystem |
Scopo e logica generale
COGQ32 gestisce la tabella dei numeratori usati dai cicli di lavorazione e dalla gestione lotti di produzione. Accede alla tabella clctabel (tipo 11) e mostra in una griglia le voci fisse:
- riga 1: "Lavorazioni Eseguibili " —
cta-codr = 1
- riga 2: "Lotti di Produzione " —
cta-codr = 2
Per ciascuna voce, il campo cta-num contiene il valore corrente del numeratore. L'operatore puo' modificare cta-num per ciascuna voce. Il programma supporta anche la modalita' "called" (richiamato da altro programma), in cui la griglia funge da selettore.
Flusso principale
- Inizializzazione:
ctr-abil, z-99-init-program, caricamento lingua, apertura file, lettura dati azienda
- Configurazione tasti funzione: Invio, F3 (solo se called), F8, Shift+F4, Ctrl+A/E (disabilitati)
- Preparazione griglia:
z-prepara-tm-grid, z-costruisci-controlli
- Caricamento dati (a10-loop): loop su
i da 1 a k-max-ele-tab (25); per ogni i legge clctabel con cta-tipo=11, cta-codr=i; se trovato, copia cta-num in tm-elenum(i); le descrizioni (tm-cod) sono hardcoded per i=1 e i=2
- Costruzione griglia (a30):
z-costruisci-grid popola la griglia con tutte le righe caricate
- Loop eventi (a-grid / a-accept-grid): gestione eventi griglia, Invio entra in modifica, F3 alterna modalita', Shift+F4 chiama GRIDADMN
- Modifica riga (a-riga-dettaglio): lock del record
clctabel, accept campo tm-elenum, validazione, conferma, scrittura (rewrite o write)
- Chiusura:
close clctabel, z-99-exit-program
File e tabelle acceduti
| File |
FD/Select |
Modalita' |
Uso |
| FEURTAB |
feurtab |
Input |
Parametri generali azienda |
| CLCTABEL |
(da cogq32.select) |
I-O dinamico |
Tabella numeratori, tipo 11 (cta-tipo=11, cta-codr=1..N) |
La struttura di clctabel e le sue operazioni (rd, wr, rwr, del, rd-lk) sono definite nel copybook cogq32.prc.
Copybook principali
| Copybook |
Scopo |
feurtab.fd |
SELECT file tabella euristica |
cogq32.select |
SELECT clctabel |
cogq32.fd |
FD clctabel |
cogq32.wrk |
Working storage specifica del programma |
cogq32.prc |
Paragrafi di I/O su clctabel (rd-clctabel, rd-clctabel-lk, wr-clctabel, rwr-clctabel, del-clctabel) |
cogq32.decla |
Sezione DECLARATIVES |
cogq32-01.scr |
Screen section (form grafica) |
utilu20.cpy |
Utility input numerico (COGU20) |
wstato.cpy |
Variabili di stato file |
wgrave.cpy |
Gestione errori gravi |
wgrid.cpy |
Strutture per gestione griglia |
wopenf.cpy |
Apertura file generica |
wnscr.cpy |
Gestione schermo |
cogazien.cpy |
Dati azienda |
utilgdad.cpy |
Struttura util-gdad per GRIDADMN |
utilgrid.cpy |
Utility griglia (include costanti k-id-grid, k-m-h-size, k-m-v-size, k-id-tm-cod, k-id-tm-elenum, k-program-id e variabili x-enabled, x-f3-, sb-msg, m-) |
wcont.cpy / wcont1.cpy |
Linkage section (stringhe) |
cogfiles.cpy |
Struttura record FEURTAB |
stato.cpy, stato1.cpy |
Gestione stato post-I/O |
winmsg.cpy |
Messaggi a video |
grave.cpy |
Errori gravi |
opengen.cpy |
Apertura generica file |
mmmask.cpy |
Init/exit programma standalone (z-99-init-program, z-99-exit-program) |
Paragrafi chiave
| Paragrafo |
Scopo |
apri |
Inizializzazione, configurazione tasti, caricamento titolo maschera |
a4 |
Inizializzazione tabella (tm-tab) e caricamento controlli griglia |
a10 / a10-loop |
Caricamento valori numeratori da clctabel; le descrizioni sono hardcoded per i=1,2 |
a30 |
Calcolo tm-pnt, costruzione griglia, attivazione tasti |
a-grid |
Reset status bar, attivazione tasti griglia |
a-accept-grid |
Loop principale eventi: Esc/uscita, F3/cambio modalita', Invio/entrata in modifica, Shift+F4/GRIDADMN |
a-riga-dettaglio |
Entrata in modifica: lock record, cambio titolo frame, display area dettaglio |
a-tm-cod |
Campo descrizione (sola lettura in questa versione) |
a-tm-cod-tf |
Gestione Esc su campo descrizione (annulla modifiche riga) |
a-tm-elenum |
Campo numero: accept tramite COGU20 (z-u20-tm-elenum), validazione |
a-riga-dettaglio-fine |
Conferma modifica, aggiornamento griglia via GRIDADMN, rewrite/write su clctabel |
c-cancella / c1-ctrl-canc |
Cancellazione (commentata, non attiva) |
fine / z-chiudi |
Chiusura file e uscita |
z-99-event-form |
Gestione resize finestra, ricalcolo griglia |
z-operazioni-accessorie-grid |
Operazioni su evento griglia (display dettaglio) |
z-prepara-tm-grid |
Preparazione griglia: handle, dimensioni, chiamata GRIDADMN "Prepara" |
z-costruisci-controlli |
Stub vuoto (nessun combo/listbox da popolare) |
z-costruisci-grid |
Popolamento griglia: GRIDADMN "Svuota-Tutto" + loop "Add-Record" |
x-attiva-tf-grid / x-disattiva-tf-grid |
Attivazione/disattivazione tasti funzione in base a modalita' |
x-riempi-grid-record |
Riempimento grid-record con tm-cod(k) e tm-elenum(k) |
x-test-mouse |
Gestione click mouse su controlli, redirect ai paragrafi di campo |
x-imposta-conferma |
Valida tm-elenum prima di confermare (x-f3-ok) |
x-controlla-tm-cod |
Validazione campo descrizione (sempre OK) |
x-controlla-tm-elenum |
Validazione campo numero (sempre OK in questa versione) |
rd-tab |
Wrapper: chiama rd-clctabel |
z-carica-controlli |
Display form s-mm-1 |
Struttura dati griglia
01 tab-maschera.
02 tm-ele-sav pic x(1000). -- salvataggio riga per annullo
02 tm-pnt pic 9(04). -- numero righe caricate
02 tm-tab.
03 tm-righe occurs 25 times.
04 tm-ele.
05 tm-cod pic x(40). -- descrizione (hardcoded)
05 tm-elenum pic 9(06). -- valore numeratore
01 grid-record.
02 grd-cod pic x(40).
02 grd-elenum pic zzzzzz.
Programmi chiamati (CALL)
| Programma |
Scopo |
GRIDADMN |
Gestione griglia (operazioni: Prepara, Svuota-Tutto, Add-Record, Modify-Record) |
COGU20 (via z-u20-tm-elenum) |
Input numerico campo tm-elenum |
Modalita' "called"
Quando w-dc-called = "S" (programma richiamato da altro programma):
- Si attiva F3 sia in modalita' selezione che modifica
- La modalita' iniziale e' "S" (selezione), non "A" (aggiornamento)
- L'utente seleziona una riga e preme F3 per restituire la selezione
Note implementative
- Le descrizioni delle voci (
tm-cod(1) e tm-cod(2)) sono hardcoded nel paragrafo a10 e non provengono dalla tabella
- Le funzioni di inserimento (Ctrl+A) ed eliminazione (Ctrl+E) sono commentate: la tabella e' a righe fisse
- Il tipo tabella usato e' sempre
11 (cta-tipo = 11)
k-max-ele-tab = 25 e' il limite massimo di iterazione nel loop di caricamento, ma in pratica solo i=1 e i=2 hanno dati
- Il programma e' standalone (
mmmask.cpy): usa z-99-init-program / z-99-exit-program
- Linkage section:
stringhe da wcont.cpy / wcont1.cpy