COGQ28 - Gestione Strumenti (Cicli di Lavorazione)¶
Scopo¶
Gestione anagrafica strumenti per i cicli di lavorazione. I dati sono memorizzati in CLCTABEL con cta-tipo = 20. Il programma presenta una griglia con codice (3 caratteri) e descrizione (35 caratteri), consentendo inserimento, modifica e cancellazione.
Menu¶
Magazzino > Produzione > Cicli di Lavorazione > Archivi > Tabelle > Gestione Strumenti
File e tabelle¶
| File | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Parametri | File parametri di ambiente |
| CLCTABEL | Indicizzato | Tabella generica cicli lavorazione, filtrata su cta-tipo = 20 |
Copybook¶
File e select¶
feurtab.fd,cogfiles.cpycogq28.select,cogq28.fd,cogq28.wrkcogq28-01.scr,cogq28.decla,cogq28.prc
Working-storage standard¶
wstato.cpy,wgrave.cpy,wgrid.cpy,wopenf.cpy,wnscr.cpy,cogazien.cpy
Utilita'¶
utilgdad.cpy— Utility GRIDADMNutilu20.cpy— Edit numericoutilgrid.cpy— Procedure griglia
Linkage¶
wcont.cpy,wcont1.cpy
Procedure¶
grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy
CALL¶
| Programma | Descrizione |
|---|---|
| GRIDADMN | Gestione griglia (Prepara, Svuota-Tutto, Add-Record, Modify-Record, amministrazione) |
Logica di elaborazione¶
- Apertura (
apri): inizializzazione, apertura file, settaggio tasti funzione (Invio, F3, F8, Shift+F4, Ctrl+A, Ctrl+E). a4/a10: caricamento elementi esistenti.- START su CLCTABEL con
cta-tipo = 20, READ NEXT in loop. - Per ogni record con tipo 20, popola
tm-cod(i)/tm-des(i)fino ak-max-ele-tab= 900. a30: costruisce la griglia con GRIDADMN.a-grid/a-accept-grid: ciclo di input.- Invio in modalita' "A": modifica riga (operazione = "M") ->
a-riga-dettaglio. - Ctrl+A: aggiunge riga (operazione = "I"), aumenta
tm-pnt. - Ctrl+E: cancella riga con conferma ->
c-cancella. - F3: alterna modalita' selezione/aggiornamento.
- Shift+F4: amministrazione griglia.
a-riga-dettaglio:- In modifica: LOCK del record (
rd-clctabel-lk). - Mostra frame "Modifica riga" / "Ins. riga".
- Salva la riga corrente in
tm-ele-savper annullamento. - Accept
a-tm-codea-tm-des: con validazionix-controlla-tm-cod(no spaces, no duplicato) ex-controlla-tm-des(no spaces). a-riga-dettaglio-fine: conferma utente, GRIDADMN per aggiornare la griglia, lettura/scrittura CLCTABEL (wr-clctabelper insert,rwr-clctabelper update). Se in I trova il record gia' presente -> degrada a "M" con warning; se in M non lo trova -> degrada a "I".c-cancella: rilegge il record con LOCK e fa DELETE su CLCTABEL.
Controllo duplicati (x-controlla-duplicati)¶
Scan dell'intera tm-tab: se tm-cod(x) = tm-cod(i) con x != i, imposta fl-exit = 'S' e blocca la conferma.
Struttura dati in memoria¶
tab-maschera (k-max-ele-tab = 900):
tm-ele-sav (PIC X(1000)) — backup riga per annullamento
tm-pnt (PIC 9(04)) — numero elementi caricati
tm-tab.tm-righe(900):
tm-ele:
tm-cod (PIC X(03)) — codice strumento
tm-des (PIC X(35)) — descrizione
Chiave tabella¶
cta-tipo= 20cta-cod= codice strumento (3 caratteri)cta-descr= descrizione
Note tecniche¶
- Usa il pattern GRIDADMN standard con
Prepara/Svuota-Tutto/Add-Record/Modify-Record. - Il controllo duplicati e' fatto sia in memoria (
x-controlla-duplicati) sia su file (rd-clctabel-lk con check w-verbo-ok in inserimento). - Le abilitazioni utente (
w-abi-ins,w-abi-agg,w-abi-del) sono verificate prima di ciascuna operazione. - Codice legacy: usa
GO TO/PERFORM ... THRUin alcuni punti (pre-convenzioni).