Vai al contenuto

COGE0A -- Lingue

Sorgente: cbl/coge0a.cbl | Tipo: Programma interattivo (griglia) | Program-ID: COGE0A

Menu: Contabilita' > Archivi & Tabelle > Tabelle > Localizzazione


Scopo

Gestione della tabella lingue (COGTBLNG). Programma con griglia per inserimento, modifica e cancellazione delle lingue utilizzate nel sistema. Supporta la modalita' di selezione quando richiamato da altri programmi tramite la linkage section utilcoge0a.cpy.

File e tabelle

File/Tabella Tipo Descrizione
COGTABEL (FEURTAB) Indexed, I-O Tabella generale (tipo 26 referenziato da k-euta-tipo)
COGTBLNG Indexed, I-O Tabella lingue (codice, descrizione, separatore decimale)

Copybook principali

  • coge0a.wrk / coge0a.select / coge0a.fd / coge0a.prc / coge0a.decla - Screen designer
  • cogfiles.cpy - Definizione file tabella generale
  • cogazien.cpy - Dati azienda
  • wgrid.cpy - Variabili gestione griglia
  • utilgdad.cpy - Utility GRIDADMN
  • utile04.cpy - Utility
  • utilf62.cpy - Utility (lookup, commentato)
  • utilcoge0a.cpy - Linkage section: parametri chiamante/chiamato e campi di output

Struttura del programma

Record COGTBLNG

Campo Tipo Descrizione
lng-cod X Codice lingua
lng-des X Descrizione lingua
lng-dec-point X Separatore decimale

Griglia (tm-grid-dati)

Ogni elemento della griglia contiene:

Campo Descrizione
tm-cod (i) Codice lingua corrente
tm-cod-prec (i) Codice lingua precedente (per rilevare modifiche)
tm-des (i) Descrizione
tm-dec-point (i) Separatore decimale

Massimo 500 elementi (k-max-ele-tab).

Paragrafi principali

Paragrafo Funzione
apri Inizializzazione; se chiamato da WPOPTRE, salta il controllo abilitazione
a4 Inizializzazione griglia, svuotamento, caricamento lingue da COGTBLNG
a10-loop Loop lettura COGTBLNG e caricamento in griglia
a30 Costruzione griglia e attivazione modalita' selezione/aggiornamento
a-grid / a-accept-grid Gestione eventi griglia
a1-aggiorna Validazione e salvataggio (chiama b-aggiorna)
b-aggiorna Loop su tutti gli elementi griglia: confronta cod/cod-prec per decidere l'operazione
b1-inserisci Inserimento nuovo record COGTBLNG (con controllo duplicati)
b2-modifica Modifica record COGTBLNG (con controllo esistenza)
b3-cancella Cancellazione record COGTBLNG
c1-ctrl-canc Controllo se la cancellazione e' ammessa
x-set-fl-mod Imposta griglia modificabile/non modificabile in base alla modalita'
z-prepara-tm-grid Configurazione colonne griglia via GRIDADMN
z-event-tm-tab-ep Gestione eventi griglia: in modalita' selezione blocca l'editing

Flusso di elaborazione

  1. All'apertura, il programma verifica se e' stato richiamato (w-dc-called):
  2. Se richiamato: parte in modalita' Selezione ("S"), con F3 per passare a Modifica.
  3. Se standalone: parte in modalita' Aggiornamento ("A").
  4. Carica tutte le lingue da COGTBLNG nella griglia (a10-loop).
  5. In modalita' Aggiornamento:
  6. Ctrl+A aggiunge una riga.
  7. Ctrl+E elimina la riga corrente (con conferma).
  8. Modifiche dirette nella griglia.
  9. F3 salva tutto.
  10. In modalita' Selezione:
  11. La griglia e' in sola lettura.
  12. Invio o doppio clic seleziona la lingua e la restituisce al chiamante.
  13. F3 passa in modalita' Aggiornamento.

Logica di elaborazione

Strategia di aggiornamento (b-aggiorna)

Il paragrafo b-aggiorna scorre tutti gli elementi della griglia e per ciascuno confronta tm-cod (valore corrente) con tm-cod-prec (valore originale):

tm-cod tm-cod-prec Azione
= cod-prec (diverso da spazio) Modifica (solo se tm-fl-riga-mod = "S")
(vuoto) (diverso da spazio) Cancellazione
(diverso da spazio) (vuoto) Inserimento
diverso da cod-prec (diverso da spazio) Cancellazione + Inserimento

Interfaccia chiamante (utilcoge0a.cpy)

Campo Direzione Descrizione
coge0a-called Input Deve essere "COGE0A"
coge0a-caller Input Nome programma chiamante (es. "WPOPTRE")
coge0a-out-cod Output Codice lingua selezionata
coge0a-out-des Output Descrizione lingua selezionata
coge0a-out-dec-point Output Separatore decimale della lingua selezionata

Gestione ridimensionamento finestra

Il programma gestisce l'evento ntf-resized in z-99-event-form-1 per ricalcolare dinamicamente le dimensioni della griglia.

CALL esterne

Programma Scopo
GRIDADMN Gestione griglia (Prepara, configurazione colonne, ricerca)