COGA30 -- Tabella scomparti Modula¶
Sorgente: cbl/coga30.cbl | Tipo: Programma GUI tabellare (griglia) | Program-ID: coga30
Menu: Magazzino > Archivi & Tabelle > Varie > Scomparti Modula
Scopo¶
Gestione CRUD della tabella scomparti del magazzino automatico Modula.
I record vengono salvati su COGTABEL con tipo "FT". Il programma puo'
funzionare in modalita' standalone (aggiornamento diretto) o in modalita'
di selezione quando richiamato da un altro programma.
File e tabelle¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| COGTABEL | Indicizzato, I/O | Tabella generica: tipo "FT" per scomparti Modula |
| coga30.select | Screens | File gestiti da Screens (COGTABEL) |
Copybook principali¶
coga30.wrk,coga30.fd,coga30.select,coga30.decla,coga30.prc-- generate da Screenscoga30-01.scr-- screen sectionutilcoga30.cpy-- interfaccia di chiamata (linkage:coga30-called,coga30-caller,coga30-out-cod,coga30-out-des)wgrid.cpy-- variabili standard grigliautilgdad.cpy-- interfaccia GRIDADMN
Struttura del programma¶
Interfaccia di chiamata (linkage)¶
util-coga30:
coga30-called -- se = k-program-id, il programma e' in modalita' called
coga30-caller -- programma chiamante
coga30-out-cod -- output: codice scomparto selezionato
coga30-out-des -- output: descrizione scomparto selezionato
Modalita' operative¶
| Modalita' | Attivazione | Comportamento |
|---|---|---|
| Aggiornamento ("A") | Standalone | Permette inserimento, modifica, cancellazione. F3 salva |
| Selezione ("S") | Called | Permette la selezione con Invio/doppio click. F3 passa in modifica |
Quando w-dc-called = "S", il programma alterna tra selezione e aggiornamento
tramite F3.
Paragrafi principali¶
| Paragrafo | Funzione |
|---|---|
apri |
Inizializzazione, determinazione modalita' (called o standalone) |
a4 |
Caricamento griglia: scan COGTABEL tipo "FT" |
a-grid / a-accept-grid |
Loop di accept sulla griglia |
a1-aggiorna |
Validazione e salvataggio complessivo |
b-aggiorna |
Ciclo su tutte le righe per determinare operazione |
b1-inserisci |
Inserimento nuovo scomparto (write su COGTABEL) |
b2-modifica |
Modifica scomparto esistente (rewrite su COGTABEL) |
b3-cancella |
Cancellazione scomparto (delete da COGTABEL) |
c1-ctrl-canc |
Controllo pre-cancellazione |
Logica di elaborazione¶
Caricamento (a4 - a10-loop)¶
Scansione di COGTABEL con START su chiave euta-tipo-x = "FT", lettura
sequenziale fino a rottura tipo. Per ogni record carica euta-cod e
euta-ft-des nella griglia. Massimo 500 elementi (k-max-ele-tab).
Aggiornamento (b-aggiorna)¶
Per ogni riga della griglia, confronto tra tm-cod (valore attuale) e
tm-cod-prec (valore al caricamento):
| Condizione | Operazione |
|---|---|
tm-cod = spaces e tm-cod-prec <> spaces |
Cancellazione (b3) |
tm-cod = tm-cod-prec e tm-fl-riga-mod = "S" |
Modifica (b2) |
tm-cod-prec = spaces |
Inserimento (b1) |
tm-cod <> tm-cod-prec e tm-cod-prec <> spaces |
Cancella + Inserisci |
Validazioni¶
- x-controlla-tm-cod: verifica che il codice scomparto non sia duplicato nella griglia (scan di tutte le righe)
- x-controlla-tm-des: descrizione obbligatoria se il codice e' valorizzato
CALL esterni¶
| Programma | Scopo |
|---|---|
| GRIDADMN | Gestione colonne e personalizzazione griglia |