Vai al contenuto

COGI93 - Tabella Descrizioni Collegate a Tipo Operazione

Sorgente: cbl/cogi93.cbl | Program-ID: COGI93 | Tipo: gestione tabella a griglia

Menu: Contabilita' > Archivi & Tabelle > Varie > Descrizioni collegate a Tipo Operaz.


Scopo

COGI93 gestisce la tabella delle descrizioni libere associate a un tipo operazione contabile, memorizzate in COGTABEL con tipo fisso "BN". Ogni voce e' composta da un codice (tipo operazione), una descrizione libera (euta-lo-des) e un codice di raggruppamento opzionale (euta-lo-app) che rimanda a un tipo operazione di livello superiore (tipo 65, letto con rd-cogtabel tramite k-euta-tipo-to = 65). Il programma puo' essere richiamato da altri programmi per la selezione di un tipo operazione, restituendo il valore tramite la linkage utili93.cpy. Supporta inserimento, modifica e cancellazione con gestione differenziale (non delete-all).

File e tabelle

File/Tabella Copybook Modalita' Uso
COGTABEL cogtabel.fd, cogtabel.k01 I/O (lettura, scrittura, modifica, cancellazione) Voci tipo "BN" (descrizioni tipo operazione) e tipo 65 (raggruppamento)
FEURTAB feurtab.fd, cogfiles.cpy Utility File di sistema per gestione maschere

Programmi chiamati

Programma Scopo
GRIDADMN Gestore tabella generato; prepara e gestisce la griglia
COGE65 Ricerca tipo operazione tramite F8 sulla colonna codice raggruppamento
COGS99 Ricerca tipo operazione tramite codice (commentata nel sorgente, non attiva)
C$NARG Funzione di sistema AcuCOBOL per rilevare il numero di argomenti passati in CALL

Copybook principali

Screen Designer / maschera: - cogi93.select, cogi93.fd, cogi93.wrk, cogi93.prc, cogi93.decla, cogi93-01.scr

Gestionale - tabelle: - cogtabel.fd, cogtabel.k01, k-tipi-cogtabel.cpy - cogfiles.cpy, feurtab.fd

Linkage / interfaccia: - wcont.cpy, wcont1.cpy, utili93.cpy (linkage in entrata e in uscita)

Utility / infrastruttura: - wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy - wgrid.cpy, utilgdad.cpy - utile04.cpy, utilf62.cpy, utils99.cpy, utile65.cpy - grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy

Logica di elaborazione

Avvio (apri): inizializzazione, rilevamento numero argomenti tramite C$NARG (1 argomento = avvio da menu; 2 argomenti = chiamata da altro programma con util-i93), rilevamento modalita' chiamata, impostazione tasti funzione (Invio, F3-aggiorna o F3-selezione/modifica, F8-aiuto, SF4-griglia, Ctrl+A aggiungi, Ctrl+E elimina).

Caricamento griglia (a4 / a10-loop): posizionamento su COGTABEL con euta-tipo-x = "BN" e scansione sequenziale; per ogni voce vengono caricati codice (tm-cod), descrizione (tm-des) e codice raggruppamento (tm-reg-cod da euta-lo-app). Massimo 500 elementi.

Risoluzione raggruppamento (a30): dopo il caricamento, per ogni riga con tm-reg-cod non vuoto viene eseguita una lettura in COGTABEL con tipo 65 per ottenere la descrizione del raggruppamento (tm-reg-des), mostrata come colonna aggiuntiva in griglia.

Gestione griglia (a-grid / a-accept-grid): in modalita' Aggiornamento, F8 sulla colonna raggruppamento apre COGE65 per la ricerca. In modalita' Selezione, Invio restituisce w-i93-out-cod / w-i93-out-des al chiamante.

Salvataggio differenziale (b-aggiorna / b1-inserisci / b2-modifica / b3-cancella): a differenza di COGY65/COGY66, il salvataggio e' differenziale: confrontando tm-cod con tm-cod-prec per ciascuna riga, il programma decide se inserire, modificare o cancellare singolarmente. Se il codice era vuoto e ora e' valorizzato → inserimento; se coincidono e la riga e' modificata (tm-fl-riga-mod = "S") → modifica; se il codice e' stato svuotato → cancellazione. La riscrittura aggiorna sia euta-lo-des che euta-lo-app.

Uscita (fine / z-chiudi): se il programma e' stato invocato con 2 argomenti, rimanda util-w-i93 alla linkage util-i93 prima di exit.

Note

  • Il tipo COGTABEL e' "BN" (costante k-euta-tipo); il tipo di raggruppamento e' 65 (costante k-euta-tipo-to = 65).
  • Il programma usa la copia locale della linkage (util-w-i93) per compatibilita' con invocazioni a 1 solo argomento (da menu), gestendo il caso tramite C$NARG.
  • La chiamata a COGS99 per la ricerca del codice operazione e' presente nel sorgente ma commentata; la funzione attiva via F8 e' COGE65 (raggruppamento) non il codice principale.
  • La convalida del codice controlla duplicati in inserimento (rd-cogtabel-lk); la descrizione e' obbligatoria se il codice e' presente.

Documentazione tecnica generata -- 2026-07-15