COGT23 - Emulazioni per stampante¶
Sorgente: cbl/cogt23.cbl | Tipo: Programma interattivo GUI con selezione stampante e griglia di dettaglio | Program-ID: COGT23
Menu:
- Sistema > Configurazione > Stampanti
Scopo¶
Gestisce l'associazione tra stampanti ed emulazioni (tabella PRNTEMST): per una data stampante definisce l'elenco delle emulazioni che vi sono configurate e, per ciascuna, le stringhe di comando di attivazione e disattivazione dell'emulazione stessa.
E' il programma che mette in relazione le due anagrafiche di base del sottosistema di stampa:
- le stampanti sono definite in COGT22 (
PRNTSTMP); - le emulazioni sono definite in COGT21 (
PRNTEMUL); - COGT23 (questo) crea la tabella di incrocio
PRNTEMSTcon i comandi di attivazione/disattivazione; - le periferiche che usano queste stampanti sono definite in COGT24 (
PRNTPERF).
A differenza degli altri tre programmi, COGT23 non e' pensato come lookup richiamabile (il ramo t23-called e' presente ma commentato) e lavora sempre in modalita' aggiornamento.
Struttura del programma¶
La maschera e' organizzata in due livelli: una testata con la stampante selezionata e una griglia di dettaglio con le emulazioni ad essa associate.
Inizializzazione (apri)¶
ctr-abil, z-99-init-program, open-files, rd-azi, abilitazione tasti (invio, F3 conferma, F7 comandi, F8 aiuto, Shift-F4 griglia, Ctrl-A, Ctrl-E), preparazione griglia e controlli.
Selezione stampante (a-tm-sta-cod)¶
Accetta il codice stampante (tm-sta-cod). Con F8 richiama COGT22 come finestra di selezione stampante (t22-called = COGT22), riportando il codice scelto. Il controllo x-controlla-tm-sta-cod verifica l'esistenza in PRNTSTMP (rd-prntstmp) e ne visualizza la descrizione (tm-sta-des). Alla conferma (a-inizio-dati) carica il dettaglio.
Caricamento dettaglio (carica-dati / carica-dati-loop)¶
Scandisce PRNTEMST a partire dalla stampante selezionata (st-prntemst-notmin + rdnxt-prntemst), fermandosi al cambio di ptes-stm. Per ogni riga carica codice emulazione (ptes-emu), stringa di attivazione (ptes-emu-att), stringa di disattivazione (ptes-emu-dis); risolve inoltre la descrizione dell'emulazione leggendo PRNTEMUL (rd-prntemul, ptem-des) per mostrarla in griglia.
Griglia e dettaglio riga (a-grid / a-riga-dettaglio ... a-riga-dettaglio-fine)¶
Ctrl-A/Ctrl-E aggiungono/eliminano associazioni; l'invio apre la modifica della riga. I campi di dettaglio sono: codice emulazione (a-tm-emu-cod), stringa di attivazione (a-tm-emu-att), stringa di disattivazione (a-tm-emu-dis). Sul campo codice emulazione, F8 richiama COGT21 come selezione emulazione (t21-called = COGT21). Il controllo x-controlla-tm-emu-cod verifica che l'emulazione esista in PRNTEMUL, ne carica la descrizione e impedisce il doppione della coppia stampante+emulazione su PRNTEMST. Alla conferma scrive (wr-prntemst) o riscrive (rwr-prntemst) il record.
Comandi emulazione (F7)¶
Sulla griglia, F7 richiama COGT28 passando emulazione e stampante correnti (t28-in-emu, t28-in-stm) per la gestione dei relativi comandi/sequenze.
Cancellazione (c-cancella)¶
Rilettura in lock (rd-prntemst-lk) della coppia stampante+emulazione ed eliminazione (del-prntemst).
Tabelle e file¶
| File logico | Chiave / accesso | Descrizione |
|---|---|---|
| FEURTAB | - | Tabella di sistema (aperta via cogfiles.cpy) |
| PRNTEMST | primaria ptes-chia1 (ptes-stm+ptes-emu); secondaria ptes-chia2 (ptes-emu+ptes-stm); accesso dinamico |
Emulazioni per stampante: stampante, emulazione, stringa di attivazione (ptes-emu-att), stringa di disattivazione (ptes-emu-dis) |
| PRNTSTMP | ptst-chia1 (ptst-cod) |
Anagrafica stampanti (lettura per validare la stampante e leggerne la descrizione) |
| PRNTEMUL | ptem-chia1 (ptem-cod) |
Anagrafica emulazioni (lettura per validare l'emulazione e leggerne la descrizione) |
COPY incluse¶
Working-Storage¶
cogt23.wrk, wgrave.cpy, wgrid.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, utilgdad.cpy, utilt21.cpy, utilt22.cpy
Linkage¶
wcont.cpy, utilt28.cpy, wcont1.cpy
Procedure Division¶
cogt23.decla, cogt23-01.scr (screen), stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy, utilgrid.cpy, cogt23.prc
Le routine di I/O su PRNTEMST (st-, rdnxt-, rd-, wr-, rwr-, del-prntemst), su PRNTSTMP e su PRNTEMUL sono incluse tramite la catena di COPY generata (.k01/.k02).
CALL a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| GRIDADMN | Gestione griglia (Prepara, Svuota, Add-Record, Modify-Record) e personalizzazione colonne (Shift-F4) |
| COGT22 | Selezione stampante (F8 sul campo stampante), copybook utilt22.cpy |
| COGT21 | Selezione emulazione (F8 sul campo codice emulazione), copybook utilt21.cpy |
| COGT28 | Gestione dei comandi/sequenze per la coppia emulazione+stampante (F7), passando t28-in-emu e t28-in-stm |
Configurazioni RNEWCONF¶
Il programma non contiene un paragrafo x99-confi e non legge chiavi RNEWCONF applicative.
Note tecniche¶
- Tabella di incrocio:
PRNTEMSTcollega le due anagrafiche di base (stampanti di COGT22 ed emulazioni di COGT21); la chiave primaria e' la coppia stampante+emulazione, con chiave secondaria invertita (emulazione+stampante) per la ricerca inversa. - Stringhe di controllo:
ptes-emu-atteptes-emu-dis(60 caratteri ciascuna) contengono le sequenze di escape/comando che il sistema di stampa invia per attivare e disattivare l'emulazione sulla stampante. - Descrizioni derivate: la descrizione della stampante e quella dell'emulazione non sono memorizzate in
PRNTEMSTma risolte a runtime leggendoPRNTSTMPePRNTEMUL. - Coerenza a cascata: eliminando un'emulazione da COGT21 o una stampante da COGT22, le associazioni relative in
PRNTEMSTnon vengono ripulite automaticamente da questo programma.