COGZ6A -- Import/Export Commesse Laboratorio Odontotecnico¶
Sorgente: cbl/cogz6a.cbl | Tipo: Programma interattivo a griglia con filtri (2 pagine: Filtri + Risultati) | Program-ID: COGZ6A
Menu:
- Lab.Odont. > Operativo > Varie > Import/Export commesse
- Sistema > Utility > Imp/exp di massa > Laboratori odont. > Commesse
Scopo¶
Gestisce l'esportazione e l'importazione di commesse di laboratorio odontotecnico tra ambienti Eurocoge diversi (es. test/produzione, sedi diverse) tramite file XML intermedi. Il programma:
- Presenta una griglia con le commesse filtrate per data, stato, cliente, paziente, sede
- Permette la selezione multipla delle commesse da esportare
- Esporta le commesse selezionate e le relative anagrafiche referenziate in due file XML separati
- Importa file XML di commesse (con eventuale file anagrafiche associato)
- Supporta l'esportazione con cancellazione successiva ("estrazione")
- Gestisce il backup automatico dei file XML prima dell'importazione
Oltre alle commesse, il sistema esporta/importa le referenze anagrafiche necessarie (merci, clienti, fornitori, medici, operatori, azioni, modelli) per garantire la consistenza dei dati nell'ambiente di destinazione.
Interfaccia utente¶
Maschera di filtro (Pagina 1)¶
La form e' organizzata in un tab-control a due pagine: Filtri e Risultati.
| Campo | Variabile | Tipo | Descrizione |
|---|---|---|---|
| Tipo data | tm-tipo-data |
x(01) | Tipo di data per il filtro: E=Entrata, U=Uscita, D=Documento |
| Data inizio | tm-data-ini |
9(08) | Data iniziale (default: primo del mese corrente) |
| Data fine | tm-data-fin |
9(08) | Data finale (default: data sistema) |
| Cliente | tm-cli-cod |
9(05) | Codice medico/cliente (0 = tutti) |
| Paziente | tm-paziente |
x | Ricerca per contenuto nel nome paziente (tramite GESSTR) |
| Stato | tm-stato |
x(01) | Stato commessa: A=Aperto, C=Chiuso, T=Tutti, E=Eseguito, F, G, N, P, R, S=Sospeso, O=Chiuso+Eseguito |
| Data uscita | tm-data-usc |
9(08) | Filtro sulla data di consegna |
| Ora uscita | tm-ora-usc |
x(05) | Filtro sull'ora di consegna (supporta wildchar "?") |
| Sede | tm-sede |
x | Sede (primo carattere del numero commessa) |
Ordine di accept dei campi¶
Tipo data > Data inizio > Data fine > Cliente > Paziente > Stato > Data uscita > Ora uscita > Sede > Conferma
Griglia (Pagina 2)¶
La griglia mostra le commesse trovate con possibilita' di selezione multipla (Invio per selezionare/deselezionare, F7 per selezionare tutto).
Tasti funzione¶
| Tasto | Funzione |
|---|---|
| F1 | Configurazione programma (RNEWCONF) |
| F3 | Conferma filtri e avvia ricerca |
| F5 | Stato commessa (apre COGZ50 in modalita' CALLED) |
| F7 | Seleziona/deseleziona tutto |
| S-F4 | Gestione griglia (GRIDADMN) |
| S-F5 | Esporta griglia su Excel |
| CTRL-S | Salva impostazione filtro |
| CTRL-F | Cerca impostazione filtro |
| Menu contestuale | Esporta / Esporta e cancella / Importa |
Menu contestuale griglia¶
| Voce | Operazione |
|---|---|
| Esporta | Esporta le commesse selezionate in file XML |
| Esporta e cancella | Esporta e poi chiede conferma per cancellazione |
| Importa | Importa commesse da file XML |
File e Tabelle¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| LODPRESC | lodpresc.fd, .k03, .k04 | Testata commesse laboratorio (tabella principale) |
| LODCMTES | lodcmtes.fd, .k02 | Dati aggiuntivi commessa (cassetta) |
| LODCMAG2 | lodcmag2.fd | Flag esportazione per commessa |
| COGGEANA | coggeana.fd | Anagrafica clienti/medici |
| COGTESBO | cogtesbo.fd, .k02 | Testata documenti magazzino (per filtro data documento) |
| COGRACBB | cogracbb.fd, .k02 | Raccordi bolla-commessa |
| FEURTAB | feurtab.fd / cogfiles.cpy | File tabelle Euro |
| T-GRID-DET | (transito) | Tabella temporanea per griglia interattiva |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGZ6B | Motore di export/import commesse (logica XML) |
| COGZ63 | Cancellazione commessa |
| COGZ50 | Stato commessa (CALLED, per F5) |
| COPIAF | Copia/cancellazione file tra server e client |
| COGU10W | Utility valute/divisioni |
| COGS65W | Selezione cliente con ricerca |
| GESSTR | Utility ricerca per contenuto (paziente) |
| GRIDADMN | Gestore griglia interattiva |
| RNEWCONF | Lettura configurazioni |
| C$OPENSAVEBOX | Dialog di apertura/salvataggio file |
Copybook principali¶
cogz6a.select,cogz6a.fd,cogz6a.wrk,cogz6a.prc,cogz6a.tm,cogz6a-01.scr-- Definizioni generate da Screenscogz6a.imppredf-wrk,cogz6a.imppredf-- Impostazioni predefinite (salva/carica filtri)utilcogz6b.cpy-- Interfaccia linkage per COGZ6Butilz63.cpy-- Interfaccia per COGZ63utilz50.cpy-- Interfaccia per COGZ50 (CALLED)l-copiaf.cpy,u-copiaf.cpy-- Interfaccia per COPIAFcogazien.cpy-- Dati aziendacostanti-labod.cpy-- Costanti laboratorio odontotecnico
Logica di Elaborazione¶
Caricamento dati¶
Il programma supporta due modalita' di ricerca in base al campo tm-tipo-data:
| Tipo data | Paragrafo | Logica |
|---|---|---|
| E (Entrata) / U (Uscita) | z-grid-ricerca-dati |
Scorre LODPRESC per data (chiave k03), filtra per cliente, paziente, sede, stato, data/ora uscita |
| D (Documento) | data-documento |
Scorre COGTESBO per data (chiave k02), cerca il raccordo bolla-commessa in COGRACBB, poi carica la commessa da LODPRESC |
Per il tipo "U" (uscita), la ricerca parte da un anno prima della data inizio e il filtro viene applicato sulla data di consegna (lpm-data-cns).
La ricerca paziente utilizza GESSTR con modalita' "CERCA-PREPARA" / "CERCA-ESEGUI" per cercare per contenuto sia in lpm-paz che in lpm-paz-esteso.
Flusso di esportazione (a-esportazione)¶
- Genera il nome del file temporaneo su tmp-dir con timestamp e suffisso "-comm" (es.
cogz6b-20260327-1430-comm.xml) - Apre un dialog "Salva con nome" per scegliere il percorso locale
- Chiama COGZ6B con operazione "EP" (preparazione esportazione)
- Scorre le commesse selezionate nella griglia e per ciascuna chiama COGZ6B con operazione "E"
- Chiama COGZ6B con operazione "EE" (finalizzazione esportazione)
- Chiama COGZ6B con operazione "EA" (esportazione anagrafiche referenziate)
- Calcola il nome del file anagrafiche (inserisce "-anagr" prima di ".xml")
- Copia i file da tmp-dir al percorso locale scelto dall'utente (tramite COPIAF)
- Cancella i file dalla tmp-dir
- Se modalita' "Esporta e cancella": chiede conferma e chiama
c-cancellazione
Flusso di importazione (c-importazione)¶
- Genera il nome del file temporaneo su tmp-dir
- Apre un dialog "Apri file" per scegliere il file XML da importare
- Copia il file selezionato da percorso client a tmp-dir (tramite COPIAF)
- Crea una copia di backup del file commesse nella cartella
xml/con suffisso "-comm" (es.xml/cogz6b-20260327-1430-comm.xml) - Calcola il nome del file anagrafiche e lo copia da percorso client a tmp-dir
- Crea una copia di backup del file anagrafiche nella cartella
xml/con suffisso "-anagr" - Chiama COGZ6B con operazione "IA" (importazione anagrafiche) -- errore non fatale se il file non esiste
- Chiama COGZ6B con operazione "I" (importazione commesse)
- Se completata con successo, chiede se eliminare i file importati dal percorso client
- Cancella i file dalla tmp-dir
Cancellazione commesse (c-cancellazione)¶
Scorre le commesse selezionate nella griglia e per ciascuna chiama COGZ63 con operazione "C".
Naming dei file¶
| File | Pattern nome |
|---|---|
| Commesse (export) | cogz6b-AAAAMMGG-HHMM-comm.xml |
| Anagrafiche (export) | cogz6b-AAAAMMGG-HHMM-comm-anagr.xml |
| Backup commesse (import) | xml/cogz6b-AAAAMMGG-HHMM-comm.xml |
| Backup anagrafiche (import) | xml/cogz6b-AAAAMMGG-HHMM-anagr.xml |
Il calcolo del nome anagrafiche (x-calcola-nome-file-anagr) inserisce "-anagr" prima dell'estensione ".xml" nel nome del file commesse.
Configurazioni¶
| Gruppo | Parametro | Note |
|---|---|---|
| odonto | gestione-multi-sede | Caricata ma non piu' usata come blocco (la sede e' comunque un filtro opzionale) |
Storico Modifiche¶
| Build | Descrizione |
|---|---|
| 2026/0076 | Rimosso blocco multisede (il check non impedisce piu' l'accesso se multisede non attivo); suffisso "-comm" aggiunto ai nomi file temporanei per distinguere da file anagrafiche; backup automatico dei file XML (commesse e anagrafiche) nella cartella xml/ prima dell'importazione tramite COPIAF |
| 2026/0426 | TASK-4553: ripristinato controllo sede operativa sul magazzino: la validazione ora legge magg-fl-sede-operativa dalla tabella COGMAGAG anziche' il vecchio magz-fl-sede (disattivato da TASK-1157). Messaggi aggiornati: "Sede operativa inesistente", "Magazzino non e' definito Sede operativa". Fix conferma "Esporta e cancella": aggiunto move k-f4 to funzio prima di acc-conf-custom nel caso k-pmg-espcanc-ep, correggendo il comportamento del dialog di conferma. |
Documentazione tecnica generata -- 2026-03-27