Vai al contenuto

COGT21 - Emulazioni di stampa

Sorgente: cbl/cogt21.cbl | Tipo: Programma interattivo GUI con griglia (anche richiamabile via CALL come lookup) | Program-ID: COGT21

Menu:

  • Sistema > Configurazione > Stampanti

Scopo

Gestisce l'anagrafica delle emulazioni di stampa (tabella PRNTEMUL), l'elenco delle emulazioni di stampante riconosciute dal sistema (PCL, PRESCRIBE, ecc.). Ogni emulazione e' identificata da un codice numerico e da una descrizione.

E' il primo dei quattro programmi che costituiscono la configurazione del sottosistema di stampa:

  • COGT21 (questo) - definisce le emulazioni disponibili;
  • COGT22 - definisce le stampanti fisiche;
  • COGT23 - associa a ciascuna stampante le emulazioni supportate, con le relative stringhe di attivazione/disattivazione;
  • COGT24 - definisce le periferiche di stampa, ognuna collegata a una stampante.

Il programma opera in due modalita':

  • Da menu: entra in modalita' "Aggiornamento" (a-modalita = "A") per inserire, modificare ed eliminare emulazioni.
  • Richiamato via CALL (t21-called = COGT21 e t21-caller valorizzato, copybook utilt21.cpy): entra in modalita' "Selezione" (a-modalita = "S"), consentendo all'operatore di scegliere un'emulazione dalla griglia; il codice e la descrizione scelti sono restituiti in t21-out-cod / t21-out-des. In questa veste e' usato da COGT23 come help emulazioni (tasto F8 sul campo codice emulazione).

Struttura del programma

Il programma segue il pattern standard delle maschere Eurocoge basate su griglia con dettaglio: una griglia (e-tm-tab, gestita via GRIDADMN) elenca i record, e un frame di dettaglio consente inserimento/modifica della singola riga. La tabella interna tab-maschera (fino a k-max-ele-tab = 900 elementi) e' l'immagine di lavoro dei record PRNTEMUL.

Inizializzazione (apri)

ctr-abil, z-99-init-program, open-files, rd-azi. Rileva la chiamata da altro programma (w-dc-called = "S") per impostare la modalita' selezione. Abilita i tasti funzione (invio, F3 conferma, F7 comandi, F8 aiuto, Shift-F4 griglia, Ctrl-A aggiungi, Ctrl-E elimina), prepara la griglia (z-prepara-tm-grid) e i controlli.

Caricamento (a10 / a10-loop)

Scandisce PRNTEMUL dall'inizio (st-prntemul-notmin + rdnxt-prntemul) e riempie tm-tab con codice (tm-emu-cod) e descrizione (tm-emu-des) di ogni emulazione, quindi costruisce la griglia (z-costruisci-grid).

Griglia e selezione modalita' (a-grid / a-accept-grid)

Il tasto F3 commuta tra modalita' Selezione e Aggiornamento (in chiamata da programma, F3 in aggiornamento riporta a selezione e conferma la scelta). In modalita' Selezione l'invio su una riga restituisce l'emulazione al chiamante (t21-out-cod/t21-out-des) e termina; in modalita' Aggiornamento l'invio apre la riga in modifica. Ctrl-A aggiunge una riga, Ctrl-E la elimina (con conferma). Shift-F4 apre la personalizzazione griglia (GRIDADMN). F7 richiama COGT28 per la gestione dei comandi/sequenze associati all'emulazione selezionata (t28-in-emu).

Riga di dettaglio (a-riga-dettaglio ... a-riga-dettaglio-fine)

Accetta codice emulazione (a-tm-emu-cod, chiave, editabile solo in inserimento) e descrizione (a-tm-emu-des). In inserimento verifica che il codice non esista gia'; alla conferma (F3) scrive (wr-prntemul) o riscrive (rwr-prntemul) il record su PRNTEMUL e aggiorna la griglia via GRIDADMN.

Cancellazione (c-cancella)

Rilegge il record in lock (rd-prntemul-lk) e lo elimina (del-prntemul).


Tabelle e file

File logico Chiave / accesso Descrizione
FEURTAB - Tabella di sistema (aperta via cogfiles.cpy)
PRNTEMUL primaria ptem-chia1 (ptem-cod); secondaria ptem-chia2 (ptem-des); accesso dinamico Anagrafica emulazioni di stampa: codice (ptem-cod), descrizione (ptem-des)

COPY incluse

Working-Storage

cogt21.wrk, wstato.cpy, wgrave.cpy, wgrid.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy, utilgdad.cpy

Linkage

wcont.cpy, utilt28.cpy, wcont1.cpy, utilt21.cpy

Procedure Division

cogt21.decla, cogt21-01.scr (screen), grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, utilgrid.cpy, cogt21.prc

Le routine di I/O su PRNTEMUL (st-, rdnxt-, rd-, wr-, rwr-, del-prntemul) sono incluse tramite la catena di COPY generata (.k01/.k02).


CALL a sottoprogrammi

Programma Scopo
GRIDADMN Gestione griglia (Prepara, Svuota-Tutto, Add-Record, Modify-Record) e personalizzazione colonne (Shift-F4)
COGT28 Gestione dei comandi/sequenze dell'emulazione selezionata (F7), passando t28-in-emu

Il programma e' a sua volta richiamato via CALL da COGT23 come help/selezione emulazioni.


Configurazioni RNEWCONF

Il programma non contiene un paragrafo x99-confi e non legge chiavi RNEWCONF applicative.


Note tecniche

  • Chiave secondaria descrizione: PRNTEMUL ha una chiave alternata su ptem-des; nella gestione da COGT21 la scansione avviene comunque sulla chiave primaria (codice).
  • Doppia veste (menu / lookup): la stessa maschera funge da anagrafica quando lanciata da menu e da finestra di selezione quando richiamata via CALL; il discriminante e' w-dc-called, valorizzato dai campi t21-called/t21-caller del copybook utilt21.cpy.
  • Il campo emulazione (chiave ptem-cod) e' modificabile solo in fase di inserimento; in modifica resta disabilitato (x-enabled-tm-emu-cod).