COGM15 - Gestione Tabelle ISO¶
Sorgente: cbl/cogm15.cbl | Program-ID: COGM15 | Tipo: Programma interattivo (standalone)
Menu: - Magazzino > Archivi & Tabelle > Tabelle
Scopo¶
Gestione delle tabelle di classificazione ISO memorizzate in COGTABEL. Supporta quattro tipologie:
- C (Classi) → tipo EUTA
A3 - G (Gruppi) → tipo EUTA
A4 - Q (Qualifiche) → tipo EUTA
A5 - T (Tipi) → tipo EUTA
A6
L'interfaccia e' basata su griglia (GRIDADMN) con pannello dettaglio. Le operazioni di inserimento, modifica e cancellazione agiscono direttamente su COGTABEL tramite i verbi standard rd-cogtabel-lk, wr-cogtabel, rwr-cogtabel.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | Indexed | Input | Tabella parametri / file env |
| COGTABEL | Indexed | I/O | Tabella elementi ISO (chiave: euta-tipo + euta-cod) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
feurtab.fd |
File control FEURTAB |
cogm15.select |
Istruzione SELECT per COGTABEL |
cogfiles.cpy |
FD record FEURTAB |
cogm15.fd |
FD record COGTABEL |
cogm15.wrk |
Working storage specifico |
wgrave.cpy |
Gestione errori gravi |
wnscr.cpy |
Utility schermo |
wopenf.cpy |
Apertura file |
wstato.cpy |
Status verbi I/O |
cogazien.cpy |
Dati azienda |
wgrid.cpy |
Supporto griglia |
utilgdad.cpy |
Interfaccia GRIDADMN |
wcont.cpy |
Linkage area (stringhe) |
wcont1.cpy |
Linkage area ext |
cogm15-01.scr |
Schermo principale (Screen Designer) |
cogm15.decla |
Dichiarative I/O |
cogm15.prc |
Paragrafi I/O generati da Screens |
Logica di elaborazione¶
Flusso principale¶
- Inizializzazione (
apri): apertura file, lettura dati azienda, impostazione tasti funzione. - Selezione tipo (
a-tm-tip): l'utente sceglie il tipo tabella (C/G/Q/T) tramite una lista a scorrimento. In base alla scelta viene impostatotm-euta-tipo-x(A3/A4/A5/A6) e aggiornate le label dei campi codice nella griglia. - Caricamento dati (
a-inizio-dati→carica-dati): scansione sequenziale di COGTABEL con START NOT LESS THAN sueuta-tipo = tm-euta-tipo-x. Tutti gli elementi vengono caricati intm-tab(array di massimo 900 righe). Il loopcarica-dati-looplegge conrdnxt-cogtabelfino a cambio tipo o fine file. - Gestione griglia (
a-grid/a-accept-grid): ciclo di accept sulla grigliae-tm-tab. Gestisce: - Invio → modifica riga (
a-operazione = "M") - Ctrl+A → inserimento riga (
a-operazione = "I") - Ctrl+E → eliminazione riga (con conferma)
- Shift+F4 → GRIDADMN amministrazione griglia
- Dettaglio riga (
a-riga-dettaglio): accept dei campi codice (x1/x2) e descrizione. In modifica i campi codice sono bloccati. La struttura del codice varia per tipo: - Tipo C/T:
euta-cod = tm-x1(i) - Tipo G:
euta-cod = tm-x1(i) || tm-x2(i) - Tipo Q:
euta-cod = tm-x2(i) - Salvataggio (
a-riga-dettaglio-fine): dopo conferma F3, chiama GRIDADMN conAdd-RecordoModify-Record, poi eseguewr-cogtabelorwr-cogtabelsu COGTABEL. Se il record esiste gia' in inserimento, converte automaticamente in modifica. - Cancellazione (
c-cancella): chiamata da Ctrl+E dopo doppia conferma; rimuove l'elemento dall'array e da COGTABEL.
Struttura dati griglia¶
Il record di interscambio con GRIDADMN e' grid-record (5 byte codice + 40 byte descrizione). La griglia e-tm-tab visualizza al massimo k-max-ele-tab = 900 righe.
Chiamate a sottoprogrammi¶
| Programma | Copybook | Contesto |
|---|---|---|
| GRIDADMN | utilgdad.cpy |
Gestione griglia: Add-Record, Modify-Record, amministrazione (Shift+F4) |
Documentazione tecnica -- 2026-04-07