Vai al contenuto

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':

  1. Standalone (da menu): il tipo di tabella viene letto da wo-parametro(1:2).
  2. Called (linkage utilcogq38.cpy): il chiamante imposta cogq38-called = k-program-id, cogq38-caller, cogq38-euta-tipo. Il codice selezionato viene restituito in cogq38-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: array tm-tab con k-max-ele-tab = 800 elementi, ciascuno con tm-cod (10 car.) e tm-des (40 car.).
  • tm-pnt: puntatore all'ultimo elemento caricato.
  • grid-record: record di interscambio con GRIDADMN (grd-cod + grd-des).

Flusso principale

  1. apri: inizializzazione, determinazione tipo tabella, impostazione tasti funzione. Se tipo 89 e called, redirige a COGD02.

  2. a4: svuota griglia, carica tutti i record del tipo (carica-griglia), costruisce griglia (GRIDADMN).

  3. a-grid / a-accept-grid: loop principale sulla griglia:

  4. Invio in modalita' aggiornamento (a-modalita = "A"): va a modifica riga
  5. Invio in modalita' selezione (a-modalita = "S"): restituisce cogq38-out-cod e esce
  6. Ctrl+A: inserimento nuova riga
  7. Ctrl+E: cancellazione con conferma
  8. F3 (called): alterna tra modalita' aggiornamento e selezione
  9. Shift+F4: personalizzazione griglia (GRIDADMN)

  10. 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).

  11. a-riga-dettaglio-fine: aggiornamento GRIDADMN + scrittura/riscrittura su COGTABEL.

  12. 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