Vai al contenuto

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

  1. Inizializzazione (apri): apertura file, lettura dati azienda, impostazione tasti funzione.
  2. 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 impostato tm-euta-tipo-x (A3/A4/A5/A6) e aggiornate le label dei campi codice nella griglia.
  3. Caricamento dati (a-inizio-daticarica-dati): scansione sequenziale di COGTABEL con START NOT LESS THAN su euta-tipo = tm-euta-tipo-x. Tutti gli elementi vengono caricati in tm-tab (array di massimo 900 righe). Il loop carica-dati-loop legge con rdnxt-cogtabel fino a cambio tipo o fine file.
  4. Gestione griglia (a-grid / a-accept-grid): ciclo di accept sulla griglia e-tm-tab. Gestisce:
  5. Invio → modifica riga (a-operazione = "M")
  6. Ctrl+A → inserimento riga (a-operazione = "I")
  7. Ctrl+E → eliminazione riga (con conferma)
  8. Shift+F4 → GRIDADMN amministrazione griglia
  9. 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:
  10. Tipo C/T: euta-cod = tm-x1(i)
  11. Tipo G: euta-cod = tm-x1(i) || tm-x2(i)
  12. Tipo Q: euta-cod = tm-x2(i)
  13. Salvataggio (a-riga-dettaglio-fine): dopo conferma F3, chiama GRIDADMN con Add-Record o Modify-Record, poi esegue wr-cogtabel o rwr-cogtabel su COGTABEL. Se il record esiste gia' in inserimento, converte automaticamente in modifica.
  14. 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