COGZS9 - Estrazione XML dati laboratorio per WORDMDL
| Campo |
Valore |
| Sorgente |
cbl/cogzs9.cbl |
| Tipo |
Subroutine |
| Chiamato da |
COGZ82M (stampa documenti laboratorio) |
| Righe sorgente |
~645 |
Descrizione
Subroutine per l'estrazione dei dati di una commessa del laboratorio odontotecnico in formato
XML, destinati al modulo WORDMDL per la generazione di documenti (Dichiarazione di Conformita',
istruzioni d'uso, ecc.). Legge i dati dalla commessa, dalla prescrizione, dal piano di
trattamento e dalle tabelle correlate, e li trasmette a WORDMDL come coppie tag/valore XML.
Estrae anche i dati dell'azienda (ragione sociale, indirizzo, P.IVA, localita') dall'anagrafica
del cliente interno dell'azienda, e il codice PDF della commessa (tag LOD-PDF) dalla prima riga
LODCMRIG.
File e tabelle
| File/Tabella |
Tipo |
Descrizione |
| FEURTAB (lodfiles) |
Input |
Parametri generali (versione laboratorio) |
Tabelle da cogzs9.select |
Input |
Tabelle laboratorio (commesse, prescrizioni, piani, ecc.) |
| COGASCII |
Input |
File di testo per lettura rischi e istruzioni per tipo dispositivo |
| LODINFAL |
Input |
Informazioni allegati laboratorio |
Copybook principali
| Copybook |
Descrizione |
| cogzs9.wrk / .select / .fd / .prc / .decla |
Screen Designer: working, select, fd, procedure, declaratives |
| k-personal.cpy |
Costanti personalizzazioni aziendali |
| utilwordmdl.cpy |
Interfaccia WORDMDL (scrittura tag XML) |
| utilzs0.cpy |
Interfaccia COGZS0 (dati specifici Wilocs) |
| utilzs1.cpy |
Interfaccia COGZS1 (dati generali commessa) |
| utilzs2.cpy |
Interfaccia COGZS2 (informazioni progetto) |
| utilzs4.cpy |
Interfaccia COGZS4 (lotti e materiali) |
| utilzs9.cpy |
Interfaccia del programma (linkage: zs9-commessa) |
| utilncnf.cpy |
Struttura per lettura configurazioni RNEWCONF |
| lodinfal.k02 |
Chiave secondaria file informazioni allegati |
Chiamate a sottoprogrammi
| Programma |
Scopo |
| COGZS1 |
Estrazione dati generali commessa (medico, data stampa, operatore, ecc.) |
| COGZS0 |
Estrazione dati specifici personalizzazione Wilocs |
| COGZS4 |
Estrazione lotti utilizzati e materiali per allegato |
| COGZS2 |
Estrazione informazioni progetto configurate |
| WORDMDL |
Scrittura tag XML (operazione "Aggiungi-XML") |
| RNEWCONF |
Lettura configurazioni: AZIENDA/ISCRIZIONE-MIN-SALUTE (iscrizione Ministero Salute) e ODONTO/INFO-PROGETTO-SU-ALLEGATI (indicizzata, fino a 20) |
Tag XML generati
Dati azienda
Sezione aggiunta per includere i dati dell'azienda stessa (il laboratorio), prelevati
dall'anagrafica del cliente interno (az-cli-int) anziche' dal cliente dell'ordine.
| Tag |
Sorgente |
Descrizione |
| AZ-RAGSOC |
ana-nome (da az-cli-int) |
Ragione sociale dell'azienda |
| AZ-INDI |
ana-ind + ana-cap + ana-loca + ana-prov |
Indirizzo completo dell'azienda |
| AZ-PIVA |
ana-piva (da az-cli-int) |
Partita IVA dell'azienda |
| AZ-LOCALITA |
ana-loca (da az-cli-int) |
Localita' dell'azienda |
| AZ-ISCRIZIONE |
tm-cfg-iscr-min-salute (da RNEWCONF) |
Numero iscrizione al Ministero della Salute (configurazione AZIENDA/ISCRIZIONE-MIN-SALUTE) |
Dati commessa
| Tag |
Sorgente |
Descrizione |
| DATASIS |
data di sistema |
Data corrente (gg/mm/aaaa) |
| LOD-N-PRESC |
lpm-cod |
Numero prescrizione |
| LOD-CASSETTA |
lct-cassetta |
Numero cassetta |
| LOD-DATA-PRESC |
lpm-data |
Data prescrizione |
| LOD-DESC-DISP |
lde-des o lpt-des |
Descrizione dispositivo (da descrizioni o piano) |
| LOD-DESC-PAZIENTE |
lpm-paz o lpm-paz-esteso |
Nome paziente |
| LOD-COMMESSA |
lct-cod |
Codice commessa |
| LOD-PDF |
lcr-pdf (da LODCMRIG) |
Codice PDF della commessa (dalla prima riga LODCMRIG) |
| LOD-DATA-STAMPA |
zs1-data-stampa |
Data stampa documento |
| LOD-DESC-MEDICO |
ana-nome (+ ana-nome2) |
Nome medico (con eventuale seconda ragione sociale) |
| LOD-DESC-CLIENTE |
ana-nome |
Ragione sociale cliente |
| LOD-DESC-CLIENTE2 |
ana-nome2 |
Seconda ragione sociale cliente |
| LOD-INDI-CLIENTE |
ana-ind |
Indirizzo cliente |
| LOD-CAP-CLIENTE |
ana-cap |
CAP cliente |
| LOD-LOCA-CLIENTE |
ana-loca |
Localita' cliente |
| LOD-PROV-CLIENTE |
ana-prov |
Provincia cliente |
Dati dispositivo e sicurezza
| Tag |
Sorgente |
Descrizione |
| LOD-RISCHI |
file rischi/{tip-dsp}.txt |
Rischi residui per tipo dispositivo (TASK-2134) |
| LOD-ISTR-PART |
file istr-td-{tip-dsp}.txt |
Istruzioni particolari per tipo dispositivo |
| DEST-USO |
lde-des (tipo "T4") |
Destinazione d'uso |
| VITA-UM |
lta-08-vita-um |
Unita' di misura vita prevista (Giorni/Mesi/Anni) |
| VITA-QTA |
lta-08-vita-qta |
Quantita' vita prevista |
| GG-INST |
lta-08-gg |
Giorni di installazione (TASK-2134) |
Dati documento e lotti
| Tag |
Sorgente |
Descrizione |
| LOD-OPE-CONS |
zs1-ope-cons-n |
Operatore consegna |
| LOD-TIP-DOC |
zs1-tip-doc |
Tipo documento |
| LOD-NUM-DOC |
zs1-num-doc |
Numero documento |
| LOD-DATA-DOC |
zs1-data-doc |
Data documento |
| LOD-LOTTI |
zs4-note |
Elenco lotti utilizzati (da COGZS4) |
| LOD-INFO-{n} |
zs2-note |
Informazioni progetto configurate (fino a 20, da RNEWCONF) |
| LOD-MAT-ALL-{info} |
zs4-note |
Materiali per allegato (da LODINFAL + COGZS4) |
Logica di elaborazione
Flusso principale
- Apertura file, lettura configurazione
AZIENDA/ISCRIZIONE-MIN-SALUTE (iscrizione al Ministero della Salute per il tag AZ-ISCRIZIONE) e configurazioni indicizzate (ODONTO / INFO-PROGETTO-SU-ALLEGATI, fino a 20 indici).
- Caricamento dati commessa: lettura da LODCMTES (testata commessa), LODCMAGG (aggregati commessa), LODPRESC (prescrizione), LODPNTES (piano trattamento).
- Estrazione dati generali: chiamata a COGZS1 per dati derivati (medico, data stampa, ecc.).
- Sezione DATI AZIENDA: lettura anagrafica del cliente interno (
az-cli-int) e scrittura tag AZ-RAGSOC, AZ-INDI, AZ-PIVA, AZ-ISCRIZIONE.
- Sezione dati commessa: scrittura di tutti i tag relativi a prescrizione, paziente, medico, cliente.
- Dati dispositivo: lettura rischi e istruzioni da file di testo su disco (
rischi/{tip-dsp}.txt, istr-td-{tip-dsp}.txt), vita prevista da LODTABEL.
- Lotti e materiali: estrazione lotti tramite COGZS4 e informazioni progetto tramite COGZS2.
- Materiali allegati: scan di LODINFAL per estrarre i materiali associati agli allegati.
Paragrafo scrivi-tag
Paragrafo generico per la scrittura di un tag XML tramite WORDMDL. Gestisce automaticamente
dati fino a 2000 byte nel campo wordmdl-dato, oppure dati piu' grandi tramite wordmdl-blob
(flag wordmdl-fl-blob = "S").
Note
- Il programma utilizza
mmsubw.cpy (subroutine).
- I dati azienda sono prelevati dal cliente interno (
az-cli-int), non dal cliente della commessa. Questo perche' nei documenti di conformita' i dati del fabbricante (il laboratorio) devono essere quelli dell'azienda stessa.
- Il tag
AZ-ISCRIZIONE viene alimentato dalla configurazione RNEWCONF AZIENDA/ISCRIZIONE-MIN-SALUTE (campo tm-cfg-iscr-min-salute, 40 caratteri), non piu' dalla partita IVA del cliente interno.
- I file di testo per rischi e istruzioni particolari sono cercati nella directory dei modelli (
ext-mod-dir) con nome basato sul tipo dispositivo (lpm-tip-dsp). Se il file non esiste, viene restituito "NESSUNO" per i rischi o spazio vuoto per le istruzioni.
- La lettura dei rischi da file (tag
LOD-RISCHI) e' ora attiva per tutte le personalizzazioni, non solo Wilocs. La chiamata a COGZS0 per dati aggiuntivi resta condizionata alla personalizzazione Wilocs.
- La chiamata a COGZS1 e' stata spostata prima della lettura anagrafica cliente (riorganizzazione flusso, non cambia logica).
Storico Modifiche
| Build |
Descrizione |
| 2026/0501 |
Aggiunti tag dati azienda (AZ-RAGSOC, AZ-INDI, AZ-PIVA, AZ-LOCALITA, AZ-ISCRIZIONE) e LOD-PDF. LOD-RISCHI esteso a tutti i clienti (rimossa restrizione Wilocs). Config AZIENDA/ISCRIZIONE-MIN-SALUTE per iscrizione Ministero della Salute |