COGZ89 -- Stampa progetto tecnico (dispatcher)¶
Sorgente: cbl/cogz89.cbl | Tipo: Programma di menu / dispatcher stampa | Program-ID: COGZ89
Menu: Lab.Odont. > Operativo > Stampe [Progetto Tecnico]
Scopo¶
COGZ89 e' il programma di lancio della stampa del progetto tecnico di una commessa del
laboratorio odontotecnico. E' un dispatcher: in base alla personalizzazione dell'azienda
(az-personal) e, per una personalizzazione specifica, in base al tipo di modello della
prescrizione, sceglie quale worker richiamare per la stampa effettiva. Nel caso standard
delega al motore COGZ89NO.
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| FEURTAB | cogfiles.cpy |
Parametri generali / path tabelle azienda (aperto in open-files, letto da rd-azi) |
| LODPRESC | dichiarata in cogz89.select / cogz89.fd (record lpm-rec) |
Prescrizione di laboratorio: letta (rd-lodpresc) per il ramo personalizzato "LO", per leggere il tipo modello lpm-mod a partire da z89-prescrizione (lpm-chia1) |
| COGTABEL | dichiarata in cogz89.select / cogz89.fd |
Tabella generale (file di appoggio del programma generato) |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGZ89NO | Motore standard di stampa del progetto tecnico (fallback e caso generale non personalizzato) |
| COGZ89LO | Variante personalizzazione "LO" (lab-lori / D-Entity): stampa che unisce progetto tecnico e scheda interna, usata quando il modello della prescrizione e' AR, AF o vuoto |
COGZ89<az-personal>.cob |
Variante personalizzata generica per altre aziende personalizzate |
| C$CALLERR | Routine AcuCOBOL: recupera stato/descrizione errore se il worker standard non e' eseguibile |
Flusso principale¶
main / a000-- inizializza (prog-err,w-nome-hlp), inizializza la finestra (z-99-init-program), eseguectr-abil, legge l'azienda (rd-azi) e apre i file (open-files).- Se
az-personale' vuoto salta ast-80-standard(worker standard). - Personalizzazione "LO" (
k-personal-lab-lori, valore"LO"): legge la prescrizione su LODPRESC (lpm-chia1 = z89-prescrizione,rd-lodpresc); se la lettura e' invalida forzalpm-mod = " ". Selpm-modvaleAF,ARo vuoto imposta il workerCOGZ89LO(progetto tecnico + scheda interna), altrimentiCOGZ89NO. - Altre personalizzazioni: compone
name-call = 'COGZ89' az-personal '.cob'. - Chiama il worker in
name-callpassandostringhe; in caso dion overflow(worker assente) salta ast-80-standard. st-80-standard-- impostaname-call = "COGZ89NO"e chiama il worker standard; se anche questo va inon overflow, recupera l'errore con C$CALLERR e mostra un messaggio diagnostico (box-msg).st-90-ok / fine / z-chiudi--cancel name-call, chiude i file (z-close-files) eexit program.
Note¶
- Il linkage
utilz89.cpyporta i parametri d'ingresso del progetto tecnico, tra cuiz89-prescrizione(studio + paziente + progressivo) usata come chiave di lettura di LODPRESC, oltre az89-chr-stampa,z89-fl-cogz50,z89-esito,z89-archivia,z89-called. - La scelta tra
COGZ89LOeCOGZ89NOper l'azienda "LO" e' pilotata dal tipo modellolpm-moddella prescrizione: solo i modelliAR/AF(o assente) usano la variante integrata con la scheda interna. - I file di gestione (
.select,.fd,.wrk,.prc,.decla) sono generati da Screens e risiedono incbl/screens/. Tutta la composizione del documento risiede nei worker chiamati.
Documentazione tecnica -- 2026-08-05