Vai al contenuto

COGZ76 - Visualizzazione Documenti Ortodonzia

Sorgente: cbl/cogz76.cbl | Program-ID: COGZ76 | Tipo: Programma interattivo (ricerca e visualizzazione a griglia)

Menu: Lab.Odont. > Ortodonzia > Visual. Documenti


Scopo

Ricerca e visualizza in una griglia spaginata i documenti ortodontici (lettere e cartelle) presenti nel sistema. L'operatore imposta almeno un criterio di selezione tra studio medico, paziente e numero fascicolo, sceglie l'ordinamento (per Paziente o per Fascicolo/documento) e il tipo documento da mostrare (Tutti, solo Lettere, solo Cartelle). Il programma costruisce un archivio di transito temporaneo (COGTRANS) partendo dai fascicoli (LODFASCI), risalendo alle commesse collegate (LODRACCO tipo "FC") e ai relativi documenti (LODDFORT), quindi popola la griglia leggendo il transito con spaginamento avanti/indietro.

Dalla griglia l'operatore puo' aprire il dettaglio del documento selezionato: F5 richiama COGZ77 (modifica documento) in modalita' "called", F9 richiama COGZO3 (stampa/visualizzazione). Sono disponibili anche l'esportazione Excel (Shift+F5) e l'amministrazione colonne griglia (Shift+F4 via GRIDADMN).

File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM Input Parametri generali azienda (cogfiles.cpy)
LODFASCI ISAM (k02/k03) Input Fascicolo paziente; punto di partenza della ricerca (lfs-num, lfs-cli, lfs-paziente, lfs-data-nas)
LODRACCO ISAM Input Raccordo fascicolo-commessa, tipo "FC" (lrc-key-1 = fascicolo, lrc-key-2 = commessa)
LODDFORT ISAM Input Documenti collegati alla commessa (ldf-commessa, ldf-tip, ldf-num, ldf-data)
COGTRANS ISAM temporaneo (k01/k02) I-O Archivio di transito con i documenti selezionati; chiave 1 = fascicolo+doc, chiave 2 = paziente+chiave1

Copybook utilizzate

Copybook Descrizione
cogz76.select, cogz76.fd, cogz76.wrk, cogz76-01.scr, cogz76.prc, cogz76.decla Screen Designer
feurtab.fd, cogfiles.cpy FEURTAB
wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy Working storage standard + dati azienda
wgrid.cpy, utilgdad.cpy Gestione griglia + GRIDADMN
dtab.cpy, fscrol2.cpy, utilpggr.cpy Spaginamento griglia (paged grid)
utils52.cpy Linkage COGS52 (date)
utils65.cpy Linkage COGS65W (ricerca studio)
utils68.cpy Linkage COGS68 (servizi maschera)
wcont.cpy, wcont1.cpy Aree di contesto standard (linkage)
utilz77.cpy Linkage di chiamata a COGZ77 (z77-called, z77-commessa, z77-tip-doc, z77-num-doc)
utilzo3.cpy Linkage di chiamata a COGZO3 (zo3-called, zo3-commessa, zo3-tip-doc, zo3-num-doc)
grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy Copybook di fine procedure
lodfasci.k02, lodfasci.k03 Chiavi secondarie LODFASCI (paziente, cliente)
cogtrans.k01, cogtrans.k02 Chiavi dell'archivio di transito

Programmi chiamati

Programma Scopo
COGS65W Ricerca dello studio medico (tipo "C") sul campo studio
GRIDADMN Preparazione, riempimento, svuotamento e amministrazione colonne della griglia
GRIDADMN (Shift+F4) Personalizzazione colonne griglia dal video
COGZ77 Modifica del documento selezionato (F5), richiamato con z77-called = "COGZ77-CALLED"
COGZO3 Stampa/visualizzazione del documento selezionato (F9), richiamato con zo3-called = "COGZO3-CALLED"

Logica di elaborazione

Struttura goto-driven con griglia spaginata. Flusso principale:

  • apri: init programma, open-files, costruzione del nome del file di transito COGTRANS (#$COGZ76.<operatore> in ext-tmp-dir). Abilita i tasti funzione (F3 conferma, F8 aiuto/calendario, F9 stampa/ricerca avanzata, Shift+F4 griglia, Shift+F5 esporta Excel), carica bitmap labodonto e il pulsante custom "Visualizza/modifica (F5)". Prepara la griglia (z-prepara-tm-grid, z-gridadmn-prepara).
  • a4: svuota la griglia, reset dei criteri di selezione (ordinamento default "P" = paziente, tipo documento default "T" = tutti), attiva F3.
  • a-tm-cli ... a-tm-tip-doc: accept in cascata dei criteri: studio (COGS65W), paziente, fascicolo, ordinamento (COGS60), tipo documento (COGS60).
  • a-richiesta-conferma / a-fine-dati: x-controlla-dati verifica che sia impostato almeno un criterio (studio, paziente o fascicolo); su conferma (re)inizializza l'archivio COGTRANS (open output → close → open i-o; se non apribile la funzione e' gia' in uso dall'operatore), poi lancia b-elabora.
  • b-elabora: sceglie la chiave di scansione LODFASCI in base ai criteri (fascicolo → chiave 1; paziente → chiave 2; altrimenti cliente → chiave 3). Per ogni fascicolo che soddisfa i filtri chiama b1-leggi-commesse.
  • b1-leggi-commesse: per il fascicolo corrente scandisce LODRACCO tipo "FC" (chiave 1 = fascicolo) per trovare le commesse collegate; per ognuna chiama b11-documenti.
  • b11-documenti: scandisce LODDFORT per la commessa; applica il filtro tipo documento (L/C/tutti) e scrive un record COGTRANS con fascicolo, num. documento, tipo, commessa, paziente, data di nascita e data documento.
  • a4 (dopo b-elabora): dimensiona la griglia, avvia lo spaginamento (x-spaginamento-start) e costruisce la prima pagina (z-costruisci-grid). Se non ci sono elementi mostra "Nessun elemento trovato".
  • a-grid: gestione della griglia paginata (z-99-accept-paged-grid); PageDown/PageUp caricano pagine successive/precedenti dal transito (letto per chiave 2 se ordinamento "P", per chiave 1 altrimenti). Shift+F4 apre GRIDADMN, Shift+F5 esporta la griglia. F5 richiama COGZ77 sul documento selezionato (commessa/tipo/numero dalla riga corrente); F9 richiama COGZO3.
  • fine / z-chiudi: z-close-files, exit program.

Note

  • La voce di menu "Visual. Documenti" apre di fatto una ricerca/lista con accesso in modifica: dalla griglia F5 richiama COGZ77 (modifica documento) e F9 la stampa (COGZO3). Non e' quindi una semplice visualizzazione in sola lettura.
  • Il codice usa PERFORM ... THRU e GO TO in modo estensivo (stile legacy pre-convenzioni attuali); commento "Conversione Daniele" in testata.
  • COGTRANS e' un file di transito temporaneo per operatore (nome #$COGZ76.<operatore>), dichiarato manualmente nel sorgente (SELECT nel file-control, FD con layout inline trs-rec, COPY delle chiavi cogtrans.k01/cogtrans.k02 a fine procedure). Il layout ha due chiavi: trs-chia1 (fascicolo + num-doc + tipo + commessa) e trs-chia2 (paziente + chia1), usate per i due ordinamenti.
  • L'ordinamento "P" (paziente) usa la chiave secondaria del transito; l'ordinamento "F" (fascicolo/documento) usa la chiave primaria. Le routine rn-start, rp-start-less, sn-read, sp-read, ecc. sono i punti di aggancio dello spaginamento generico (fscrol2.cpy / utilpggr.cpy).
  • La costruzione dell'archivio di transito e' preceduta dall'apertura in output della COGTRANS: se fallisce (stato ≠ "00") significa che la funzione e' gia' in uso dallo stesso operatore.