COGZ88M - Stampa commessa laboratorio su modello Word/Area Report¶
| Campo | Valore |
|---|---|
| Sorgente | cbl/cogz88m.cbl |
| Tipo | Programma interattivo (maschera) |
| Program-ID | COGZ88M |
| Menu | Laboratorio odontotecnico |
| Righe sorgente | ~810 |
Descrizione¶
Programma per la stampa di una commessa del laboratorio odontotecnico su modello Word,
gestito tramite il modulo WORDMDL (Word Model). L'operatore seleziona la commessa (cliente,
paziente, numero) e il programma genera il documento a partire dal modello cogz88.doc
(oppure cogz88-{personalizzazione}.doc per le aziende personalizzate), valorizzando i dati
della commessa e producendo l'output sulla periferica scelta.
E' la variante "M" del documento commessa COGZ88. Come gli altri programmi di stampa su modello Word del laboratorio (vedi COGZ82M), supporta la generazione tramite Area Report, passando a WORDMDL i parametri di processo e programma MDC ricavati da COGPA3.
File e tabelle¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| FEURTAB (cogfiles) | Input | Parametri generali azienda |
| LODTMDES (lodtmdes) | I-O | File temporaneo descrizioni (testate) |
| LODTRDES (lodtrdes) | I-O | File temporaneo righe descrizioni |
Tabelle da cogz88m.select |
I-O | Tabelle gestionale e laboratorio (commesse, prescrizioni) |
Copybook principali¶
| Copybook | Descrizione |
|---|---|
| cogz88m.wrk / .select / .fd / .scr / .prc / .decla | Screen Designer: working, select, fd, screen, procedure, declaratives |
| utilcogpa3.cpy | Interfaccia COGPA3 (scelta modello stampa / Area Report) |
| utils54.cpy | Interfaccia COGS54 (selezione periferica di stampa) |
| utils98.cpy | Interfaccia COGS98W (maschera selezione dati commessa) |
| utilzs9.cpy | Interfaccia COGZS9 (estrazione XML dati laboratorio) |
| utilwordmdl.cpy | Interfaccia WORDMDL (generazione documento Word/Area Report) |
| utilz88.cpy | Interfaccia del programma (linkage) |
| lodtmdes.fd/.k01 / lodtrdes.fd/.k01 / lodcmtes.k02 | Tracciati e chiavi descrizioni temporanee e testate commessa |
| mmmask.cpy + standard (wstato, wgrave, wnscr, wopenf, cogazien) | Programma standalone |
Chiamate a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| COGPA3 | Scelta del modello di stampa per il processo "COGZ88" (Area Report); restituisce l'ID modello in cogpa3-o-mdc-prog |
| COGS54 | Selezione della periferica di stampa (s54-prf-sel) |
| COGS98W | Gestione della maschera di selezione dei dati commessa (cliente, paziente, progressivo, numero) |
| COGZS9 | Estrazione dei dati della commessa in formato XML per il documento |
| WORDMDL | Generazione del documento Word/Area Report (apertura XML, scrittura tag, esecuzione/stampa) |
Logica di elaborazione¶
Selezione dati commessa¶
La maschera acquisisce cliente (tm-cli), paziente (tm-paziente), progressivo (tm-pro) e
numero commessa (tm-num). La gestione interattiva della selezione e' delegata a COGS98W
tramite i paragrafi z-s98-* / fill-s98-* / flow-s98-*.
Preparazione stampa e Area Report (a-20 / a-20-cogs54)¶
Prima della selezione della periferica, il programma chiama COGPA3 con tipo documento
"COGZ88" per individuare il modello/processo di stampa associato (integrazione Area Report).
Il paragrafo e' stato suddiviso in a-20 (chiamata COGPA3, eseguita una sola volta) e
a-20-cogs54 (selezione periferica con COGS54): in caso di ripetizione della scelta periferica
il ciclo torna su a-20-cogs54, evitando di richiamare COGPA3 a ogni iterazione.
Generazione documento (stampa)¶
- Compone il nome del file XML di output (
cogz88m.txtnella directory temporanea) e il path del modello Word (cogz88.docoppurecogz88-{az-personal}.docnella directory modelli). - Apre il documento via
WORDMDLoperazione "Apri-XML", passando il modello locale e — per Area Report —cogpa3-tipinwordmdl-processoecogpa3-o-mdc-proginwordmdl-mdc-prog. - Estrae i dati della commessa via COGZS9 (
zs9-commessa = tm-num) e li scrive nei tag XML (scrivi-tag→ WORDMDL "Aggiungi-XML"). - Chiude il flusso XML (
WORDMDL"Chiudi-XML"). stampa-fine: esegue il documento (WORDMDL"Esegui") indirizzandolo alla periferica selezionata (s54-prf-sel) e chiude WORDMDL.
Note¶
- Il programma usa
mmmask.cpy(standalone con gestione finestra propria). - La chiave secondaria
lodcmtes.k02e le chiavilodtmdes.k01/lodtrdes.k01sono incluse manualmente in coda alla procedure division. - Il tipo processo per COGPA3 e' sempre
"COGZ88", che identifica i modelli di stampa della commessa di laboratorio. Per il dettaglio della pipeline Word/Area Report vedere Stampe su Area-Report.
Storico modifiche¶
2026-06-25 -- Integrazione Area Report¶
Aggiunta la chiamata a COGPA3 (tipo documento "COGZ88") in a-20 per la scelta del
modello di stampa e l'integrazione con Area Report. I valori restituiti cogpa3-tip e
cogpa3-o-mdc-prog vengono propagati a WORDMDL come wordmdl-processo e wordmdl-mdc-prog.
Il paragrafo a-20 e' stato suddiviso introducendo a-20-cogs54, in modo che la selezione
della periferica possa ripetersi senza richiamare nuovamente COGPA3. Aggiunta la copy
utilcogpa3.cpy.
Documentazione tecnica -- creata 2026-06-25