Vai al contenuto

COGZF7 — Estrazione Statistiche (export CSV commesse/materiali)

Sorgente: cbl/cogzf7.cbl | Program-ID: cogzf7 | Tipo: Programma di estrazione/export su file di testo (CSV separato da ;)

Menu: Lab.Odont. > Statistiche > Estrazione Statistiche


Scopo

Estrae in due file di testo delimitati da punto e virgola le statistiche di esecuzione delle commesse di laboratorio per un periodo indicato:

  • lodstat.txt — una riga per ogni dettaglio di esecuzione (record LODCMDET): commessa, operatore, cliente/studio, date e ore inizio/fine, tempo, reparto, azione, dispositivo, paziente, tempo standard.
  • lodmate.txt — una riga per ogni materiale selezionato del piano (LODPNMAT fl-sel = "S") collegato al dettaglio, con merce, quantita', lotto e fornitore.

I file vengono creati nella directory temporanea (ext-tmp-dir) e, se e' configurato un percorso di appoggio locale (Path-Apri-File), copiati anche in quella destinazione tramite la subroutine COPIAF. Sono file di interscambio pensati per l'import in strumenti esterni (es. fogli di calcolo / gestionale odontosoft).


File e tabelle

File Copybook Accesso Scopo
feurtab cogfiles.cpy / cogzf7.fd Lettura Tabella archivi
LODPRESC (via .select/.fd) Lettura sequenziale per data (chia3) Prescrizioni — scansione principale per periodo
LODCMDET Lettura sequenziale (k02) Dettaglio esecuzione righe commessa (record sorgente statistiche)
LODCMTES Lettura (k04) Testata commessa (piano, reparto)
LODCMRIG Lettura Righe commessa (azione, reparto)
LODPNMAT Lettura sequenziale Materiali del piano di fabbricazione (per lodmate.txt)
LODAZION Lettura (lk) Anagrafica azioni (descrizione, tempo standard)
LODTABEL Lettura Tabelle laboratorio (tipo dispositivo 8)
COGGEANA Lettura Anagrafica (cliente/studio, fornitore materiale)
COGTABEL Lettura Reparto (tipo 85)
COGMERCI Lettura Anagrafica merci (descrizione materiale)
filests (FD interno sts-rec) Output binary sequential File testo statistiche lodstat.txt
filemat (FD interno mat-rec) Output binary sequential File testo materiali lodmate.txt

Programmi chiamati (CALL)

Programma Scopo
RNEWCONF Lettura configurazione percorso locale
DTPRG Conversione data → progressivo (calcolo giorni fine mese)
WINZ03 Help/selezione azione (F8 su campo azione)
COPIAF Copia dei file estratti nel percorso locale configurato
COGS52 Gestione campo data (accept)

Copybook incluse

cogzf7.wrk, wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy, utilncnf.cpy, utils52.cpy, UTILWZ03.CPY, l-copiaf.cpy; linkage wcont.cpy, u-copiaf.cpy, wcont1.cpy; screen cogzf7-01.scr; procedure grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, cogzf7.prc, chiavi lodpresc.k03/.k04, lodcmdet.k02, lodcmtes.k04.


Parametri di configurazione (RNEWCONF)

File/Gruppo Chiave Variabile Effetto
ARC-OTT.CNF PATH-APRI-FILE tm-cfg-path-locale Percorso locale di appoggio dove copiare i file estratti (se vuoto, avviso e nessuna copia)

Logica di elaborazione

  1. Apertura (apri): apre i file, carica la configurazione del percorso locale (avvisa se non definito).
  2. Filtri (a4 → accept): imposta di default il periodo (dal 1° del mese corrente a fine mese, con calcolo giorni via DTPRG). L'operatore indica data inizio, data fine e — opzionale — un'azione (tm-cod, validata su LODAZION). F3 conferma.
  3. Estrazione (e-elabora): crea i due file di output; scandisce LODPRESC per data (e-05-loop). Per ogni prescrizione nel periodo scandisce LODCMDET (e-10-loop) filtrando i dettagli con lcd-data-ini nel range. Per ogni dettaglio compone il record sts-rec con i dati della commessa (LODCMTES), studio/cliente (COGGEANA), dispositivo (LODTABEL tipo 8), reparto e azione (LODCMRIG + COGTABEL/LODAZION); se e' impostato il filtro azione lo applica. Inserisce i separatori ;, CR/LF e scrive su filests.
  4. Materiali (find-pnmat): per ogni dettaglio scritto, scandisce LODPNMAT (piano/riga) e scrive su filemat i materiali selezionati (fl-sel = "S"), con merce (COGMERCI) e fornitore (COGGEANA tipo fornitore).
  5. Salvataggio (salva-file): se il percorso locale e' configurato, copia i due file nella destinazione via COPIAF; mostra i nomi dei file creati.
  6. Chiusura (fine/z-chiudi): chiude i file e la finestra.

Paragrafi chiave

Paragrafo Scopo
apri / a4 Inizializzazione, config, default periodo
a-tm-data-ini / a-tm-data-fin / a-tm-cod Accept dei filtri
a-fine-parametri Validazione complessiva e avvio e-elabora
e-elabora Creazione file, scansione LODPRESC/LODCMDET, scrittura statistiche
find-pnmat Scansione LODPNMAT e scrittura materiali selezionati
salva-file Copia dei file nel percorso locale (COPIAF)
x-controlla-parametri / x-controlla-tm-* Validazione campi
x99-confi Lettura configurazione percorso locale

Note

  • I due file usano organizzazione binary sequential con campi separati esplicitamente da ; (campi sts-fil-* / mat-fil-*) e terminatori CR/LF (k-cr/k-lf): formato CSV.
  • Il contatore a video (clock-msg/view-clk) mostra letti/scritti statistiche e materiali durante l'elaborazione.
  • Il sorgente usa GO TO e PERFORM ... THRU: codice legacy pre-convenzioni.