Vai al contenuto

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 Screens
  • coga30-01.scr -- screen section
  • utilcoga30.cpy -- interfaccia di chiamata (linkage: coga30-called, coga30-caller, coga30-out-cod, coga30-out-des)
  • wgrid.cpy -- variabili standard griglia
  • utilgdad.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