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>inext-tmp-dir). Abilita i tasti funzione (F3 conferma, F8 aiuto/calendario, F9 stampa/ricerca avanzata, Shift+F4 griglia, Shift+F5 esporta Excel), carica bitmaplabodontoe 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-dativerifica 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 lanciab-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 ... THRUeGO TOin 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 inlinetrs-rec, COPY delle chiavicogtrans.k01/cogtrans.k02a fine procedure). Il layout ha due chiavi:trs-chia1(fascicolo + num-doc + tipo + commessa) etrs-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.