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 designercogfiles.cpy- Definizione file tabella generalecogazien.cpy- Dati aziendawgrid.cpy- Variabili gestione grigliautilgdad.cpy- Utility GRIDADMNutile04.cpy- Utilityutilf62.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¶
- All'apertura, il programma verifica se e' stato richiamato (
w-dc-called): - Se richiamato: parte in modalita' Selezione ("S"), con F3 per passare a Modifica.
- Se standalone: parte in modalita' Aggiornamento ("A").
- Carica tutte le lingue da COGTBLNG nella griglia (
a10-loop). - In modalita' Aggiornamento:
- Ctrl+A aggiunge una riga.
- Ctrl+E elimina la riga corrente (con conferma).
- Modifiche dirette nella griglia.
- F3 salva tutto.
- In modalita' Selezione:
- La griglia e' in sola lettura.
- Invio o doppio clic seleziona la lingua e la restituisce al chiamante.
- 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) |