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 = COGT21et21-callervalorizzato, copybookutilt21.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 int21-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:
PRNTEMULha una chiave alternata suptem-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 campit21-called/t21-callerdel copybookutilt21.cpy. - Il campo emulazione (chiave
ptem-cod) e' modificabile solo in fase di inserimento; in modifica resta disabilitato (x-enabled-tm-emu-cod).