COGQ82 - Gestione portastampi
Panoramica
COGQ82 e' un programma a griglia GUI (Screens) per la gestione anagrafica dei portastampi (stampi dello stampaggio), memorizzati nella tabella CLCPORTS. Funziona in due modalita': autonoma (aggiornamento: aggiunta, modifica ed eliminazione logica dei portastampi) oppure come modulo di selezione richiamato da un altro programma (restituisce il codice portastampo scelto in cogq82-portastampo). I dati vengono caricati su un file di transito griglia e riscritti su tabella alla conferma. Riceve l'area comune stringhe e l'area di interfaccia util-cogq82.
| Menu |
Percorso |
| Magazzino |
Produzione > Stampaggio > Gestione portastampi |
Struttura del programma
File e tabelle utilizzati
| File/Tabella |
Tipo |
Descrizione |
| CLCPORTS |
Indicizzato (i-o) |
Anagrafica portastampi (record pstm-rec): codice, descrizione, numero cavita', tipo canale, tipo stampo, flag di validita' pstm-val |
| COGTABEL |
Indicizzato (input) |
Tabelle di codifica; letta con euta-tipo-x = "AC" sul tipo stampo per validarne l'esistenza |
| T-GRID-DET |
Indicizzato (transito temporaneo) |
File di transito della griglia (record t-gor-r-rec), generato/gestito dal framework griglia; cancellato in chiusura |
Copybook principali
| Copybook |
Descrizione |
| cogq82.select / cogq82.fd / cogq82.wrk / cogq82.tm / cogq82.prc / cogq82.decla |
Componenti generati da Screens (file, working, campi tab-maschera, routine) |
| cogq82.imppredf-wrk / cogq82.imppredf |
Gestione filtri predefiniti/salvati della griglia |
| cogq82-01.scr |
Screen con la griglia e-grid-det |
| wgrid.cpy |
Framework di gestione griglia (transito, ordinamento, filtri, colonne) |
| utilgdad.cpy |
Area per GRIDADMN (amministrazione colonne griglia) |
| utilu10.cpy / utilu20.cpy |
Aree utility standard di maschera |
| utilcogqa3.cpy |
Area per COGQA3 (ricerca tipo stampo) |
| utilimppredf.cpy |
Area per la gestione filtri predefiniti |
| utilcogq82.cpy |
Area di interfaccia (linkage): cogq82-caller, cogq82-called, cogq82-portastampo |
| cogazien.cpy |
Dati azienda |
| wgrave / wnscr / wopenf / wstato / grave / mmmask / opengen / stato / stato1 / winmsg |
Copybook standard |
Chiamate a sottoprogrammi (CALL)
| Programma |
Scopo |
| GRIDADMN |
Amministrazione e formattazione della griglia (Prepara) e personalizzazione colonne (SF4) |
| COGQA3 |
Ricerca/selezione del tipo stampo (F8 sulla colonna tipo stampo); ritorna cogqa3-o-cod |
| W$MENU |
Attivazione del menu pop-up contestuale sulla griglia (right-click) |
Le routine rd-clcports / wr-clcports / rwr-clcports / st-clcports-notmin e rd-cogtabel sono routine di I/O standard generate (copybook .prc).
Logica di elaborazione
-
apri / main: inizializza il programma, apre i file, determina la modalita': se cogq82-called = k-program-id e cogq82-caller valorizzato -> modalita' Selezione (a-modalita = "S"), altrimenti Aggiornamento ("A"). Imposta i tasti funzione coerenti (in selezione: F3 modifica/seleziona, Invio seleziona; in aggiornamento: F3 aggiorna, CTRL-A aggiungi, CTRL-E elimina), crea il menu pop-up griglia e prepara la griglia (z-prepara-tm-grid).
-
a4: imposta il filtro contestuale, l'ordinamento predefinito per codice (gcn-r-cod ascendente), carica l'eventuale filtro predefinito (z-imppredf-carica-default) e i controlli.
-
a-leggi-dati / z-grid-det-crea-transito: apre il transito griglia e lo popola scandendo CLCPORTS (st-clcports-notmin + rdnxt-clcports). Vengono caricati solo i portastampi validi (pstm-val = spaces); i portastampi con pstm-val = 'C' (cancellati logicamente) sono esclusi. Per ogni record compone i campi di riga (codice, descrizione, cavita', tipo canale, tipo stampo) e un campo caratt sintetico "cavita'-canale-stampo".
-
a-grid: ciclo principale sulla griglia. Gestisce:
k-exc-esci -> uscita; k-exc-ricarica -> ricarica dati;
- doppio click / Invio in modalita' selezione -> restituisce
tm-r-cod (i) in cogq82-portastampo e termina;
- SF4 (GRIDADMN colonne), SF5 (esporta Excel);
- F3: in modalita' selezione con caller commuta tra selezione/aggiornamento (con richiesta di salvataggio se ci sono modifiche pendenti); in aggiornamento valida tutte le righe e salva (
b-aggiorna);
- CTRL-A (
z-grid-det-nuova-riga): aggiunge una riga vuota di tipo canale C;
- CTRL-E: elimina logicamente la riga (azzera i dati mantenendo codice precedente e progressivo);
-
funzio in range pop-up (151-199): gestione voci del menu contestuale.
-
Controlli di campo (x-controlla-tm-r-*): codice obbligatorio e univoco (conteggio duplicati sul transito), descrizione obbligatoria, cavita' da 1 a 32, tipo stampo obbligatorio e verificato su COGTABEL (AC).
-
b-aggiorna / b-aggiorna-record: scandisce il transito e riscrive su CLCPORTS. Riga con codice precedente valorizzato ma codice vuoto -> marca il record esistente come cancellato (pstm-val = 'C'); riga modificata (t-gor-r-riga-mod = 'S') con codice valorizzato -> crea (se assente) e riscrive il record con i dati aggiornati.
-
fine / z-chiudi: chiude e cancella il transito griglia, distrugge il menu pop-up e termina.
Note tecniche
- L'eliminazione dei portastampi e' logica, non fisica: viene valorizzato il flag
pstm-val = 'C' (cancellato); i record cancellati restano su CLCPORTS ma sono esclusi dal caricamento griglia.
- Numero cavita' vincolato a 1..32; tipo stampo validato contro COGTABEL tipo
AC.
- Il programma e' un tipico gestore a griglia basato su
wgrid.cpy: usa il file di transito T-GRID-DET come buffer editabile, con ordinamento e filtri gestiti dal framework; il salvataggio su tabella avviene solo alla conferma esplicita.
- Non usa configurazioni RNEWCONF.
- La modalita' "Selezione" (chiamata da altro programma) e la modalita' "Aggiornamento" (voce di menu) condividono lo stesso sorgente: la label di menu "Gestione portastampi" corrisponde alla modalita' Aggiornamento.