Vai al contenuto

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
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 Screens
  • cogz6a.imppredf-wrk, cogz6a.imppredf -- Impostazioni predefinite (salva/carica filtri)
  • utilcogz6b.cpy -- Interfaccia linkage per COGZ6B
  • utilz63.cpy -- Interfaccia per COGZ63
  • utilz50.cpy -- Interfaccia per COGZ50 (CALLED)
  • l-copiaf.cpy, u-copiaf.cpy -- Interfaccia per COPIAF
  • cogazien.cpy -- Dati azienda
  • costanti-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)

  1. Genera il nome del file temporaneo su tmp-dir con timestamp e suffisso "-comm" (es. cogz6b-20260327-1430-comm.xml)
  2. Apre un dialog "Salva con nome" per scegliere il percorso locale
  3. Chiama COGZ6B con operazione "EP" (preparazione esportazione)
  4. Scorre le commesse selezionate nella griglia e per ciascuna chiama COGZ6B con operazione "E"
  5. Chiama COGZ6B con operazione "EE" (finalizzazione esportazione)
  6. Chiama COGZ6B con operazione "EA" (esportazione anagrafiche referenziate)
  7. Calcola il nome del file anagrafiche (inserisce "-anagr" prima di ".xml")
  8. Copia i file da tmp-dir al percorso locale scelto dall'utente (tramite COPIAF)
  9. Cancella i file dalla tmp-dir
  10. Se modalita' "Esporta e cancella": chiede conferma e chiama c-cancellazione

Flusso di importazione (c-importazione)

  1. Genera il nome del file temporaneo su tmp-dir
  2. Apre un dialog "Apri file" per scegliere il file XML da importare
  3. Copia il file selezionato da percorso client a tmp-dir (tramite COPIAF)
  4. Crea una copia di backup del file commesse nella cartella xml/ con suffisso "-comm" (es. xml/cogz6b-20260327-1430-comm.xml)
  5. Calcola il nome del file anagrafiche e lo copia da percorso client a tmp-dir
  6. Crea una copia di backup del file anagrafiche nella cartella xml/ con suffisso "-anagr"
  7. Chiama COGZ6B con operazione "IA" (importazione anagrafiche) -- errore non fatale se il file non esiste
  8. Chiama COGZ6B con operazione "I" (importazione commesse)
  9. Se completata con successo, chiede se eliminare i file importati dal percorso client
  10. 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