COGQ38 -- Elenco Modelli Riclassificazione¶
Sorgente: cbl/cogq38.cbl | Program-ID: COGQ38 | Tipo: Gestione tabella con griglia
Menu: Contabilita' > Bilancio > Riclassificazioni > Elenco Modelli Riclassif.
Scopo¶
Programma di gestione generalizzata della tabella COGTABEL, specializzato per diverse tipologie di tabelle codice-descrizione. In base al tipo passato come parametro, gestisce: modelli di riclassificazione (tipo AE), modelli riclassificazione contabilita' analitica (tipo AU), tipologie stampa (tipo AC), difetti dichiarati (tipo 25), tabella porti (tipo 89 -- rediretto a COGD02). Presenta i record in una griglia con operazioni CRUD.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB (COGTABEL) | Indicizzato | I-O | Tabella generica: lettura, scrittura, modifica, cancellazione |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| GRIDADMN | Gestione griglia (preparazione, aggiunta, modifica, svuotamento) |
| COGD02 | Gestione porti (tipo 89: chiamata diretta e uscita) |
Copybook principali¶
| Copybook | Descrizione |
|---|---|
cogq38.wrk, .select, .fd, .prc, .decla, cogq38-01.scr |
Definizioni Screens |
cogfiles.cpy |
Record COGTABEL (euta-*) |
utilcogq38.cpy |
Struttura linkage per chiamata (cogq38-called, cogq38-caller, cogq38-euta-tipo, cogq38-out-cod) |
utilgdad.cpy |
Utility GRIDADMN |
wgrid.cpy |
Working storage griglia |
utile22.cpy |
Utility selezione |
Struttura del programma¶
Parametri in input¶
Il programma opera in due modalita':
- Standalone (da menu): il tipo di tabella viene letto da
wo-parametro(1:2). - Called (linkage
utilcogq38.cpy): il chiamante impostacogq38-called = k-program-id,cogq38-caller,cogq38-euta-tipo. Il codice selezionato viene restituito incogq38-out-cod.
Tipi di tabella gestiti¶
| Tipo (w-euta-tipo) | Descrizione | Dim. codice | w-fl-x |
|---|---|---|---|
| AC | Tipologia stampa | 5 | X |
| 25 | Difetti dichiarati | 4 | - |
| 89 | Porti (rediretto a COGD02) | 2 | - |
| AE | Modelli riclassificazione | 3 | - |
| AU | Modelli riclassificazione cont. analitica | 3 | - |
Per tipo AE e AU, flag-ok-aggiorna = 'NO' quando richiamato come called: disabilita tutti i tasti di aggiornamento (solo consultazione/selezione).
Struttura dati in memoria¶
tab-maschera: arraytm-tabconk-max-ele-tab = 800elementi, ciascuno contm-cod(10 car.) etm-des(40 car.).tm-pnt: puntatore all'ultimo elemento caricato.grid-record: record di interscambio con GRIDADMN (grd-cod + grd-des).
Flusso principale¶
-
apri: inizializzazione, determinazione tipo tabella, impostazione tasti funzione. Se tipo 89 e called, redirige a COGD02.
-
a4: svuota griglia, carica tutti i record del tipo (
carica-griglia), costruisce griglia (GRIDADMN). -
a-grid / a-accept-grid: loop principale sulla griglia:
- Invio in modalita' aggiornamento (
a-modalita = "A"): va a modifica riga - Invio in modalita' selezione (
a-modalita = "S"): restituiscecogq38-out-code esce - Ctrl+A: inserimento nuova riga
- Ctrl+E: cancellazione con conferma
- F3 (called): alterna tra modalita' aggiornamento e selezione
-
Shift+F4: personalizzazione griglia (GRIDADMN)
-
a-riga-dettaglio: dettaglio riga con accept codice e descrizione. In modifica il codice e' disabilitato. Validazione: codice obbligatorio, descrizione obbligatoria, codice non duplicato (in inserimento).
-
a-riga-dettaglio-fine: aggiornamento GRIDADMN + scrittura/riscrittura su COGTABEL.
-
c-cancella: cancellazione record da COGTABEL.
Caricamento griglia (carica-griglia)¶
Scansione sequenziale di COGTABEL filtrata per tipo:
- Se w-fl-x = "X": filtro su euta-tipo-x = w-euta-tipo-x
- Altrimenti: filtro su euta-tipo = w-euta-tipo
- Carica fino a k-max-ele-tab (800) elementi.
Note¶
- Il programma e' generico e riusabile per diverse tipologie di tabelle COGTABEL. Il menu "Elenco Modelli Riclassificazione" lo invoca con tipo AE.
- Il tipo 89 (porti) fa una chiamata diretta a COGD02 e poi esce senza mostrare la propria maschera.
- Quando called con tipo AE o AU, l'aggiornamento e' disabilitato per proteggere i dati di configurazione.
Documentazione tecnica -- 2026-04-28