Vai al contenuto

COGZCR — Stampa agenda per reparto

Campo Valore
Sorgente cbl/cogzcr.cbl
Program-ID cogzcr
Tipo Maschera GUI + stampa HP-GL/2
Posizione menu Lab.Odont. > Operativo > Impegni > Stampa agenda per reparto

Scopo

Stampa l'agenda giornaliera di lavoro di un reparto (ed eventuale sottoreparto) del laboratorio odontotecnico. Per uno o piu' giorni consecutivi (fino a 7 a partire da una data scelta) elenca gli impegni di produzione presenti su quel reparto, ordinati per ora, riportando per ogni commessa l'orario di lavoro, il numero commessa, la cassetta, la provenienza (fase precedente) e la destinazione (fase successiva), lo studio medico, il paziente ed eventualmente la data/ora di uscita. E' pensata come foglio di lavoro cartaceo da consegnare al reparto.

Il programma puo' essere avviato dal menu o richiamato da un altro programma passando reparto, sottoreparto e data in linkage (cogzcr-called = "COGZCR-CALLED").

Struttura e flusso

  • apri: z-99-init-program, ctr-abil, rd-azi, open-files; lettura configurazione (x99-confi); se richiamato da altro programma legge reparto/sottoreparto/data dalla linkage (util-cogzcr); attiva i tasti funzione (F1 configura, F3 conferma, F8 aiuto/calendario); costruisce il nome del file di transito temporaneo COGTRANS (ext-tmp-dir + program-id + operatore).
  • a4: apre COGTRANS in output per verificare che la funzione non sia gia' in uso dallo stesso operatore (in tal caso avvisa ed esce), poi in i-o; imposta i valori di default (data odierna o quelli ricevuti in linkage).
  • a-tm-rep / a-tm-srp / a-tm-data / a-tm-giorni: accept dei filtri. Reparto e sottoreparto validati su COGTABEL (tipo 85) e LODTABEL (tipo 11); sottoreparto con aiuto via COGF12; reparto con aiuto via send-w80; data gestita con COGS52; giorni limitato a un massimo di 7.
  • controlla-data: verifica che nel range di giorni esistano effettivamente impegni sul reparto/sottoreparto leggendo LODIMPDT (chiave chia3).
  • a-fine-dati: validazione complessiva e scelta stampante via COGS54; su F3 avvia la stampa.
  • stampa: per ciascun giorno esegue una prima passata "in bianco" (fl-non-stampare = "S") per contare le righe e popolare COGTRANS, poi carica-dt-usc (calcola le date/ora di uscita), quindi la passata reale con stampa-testa, stampa-dati, stampa-coda. Avanza di un giorno con DTPRG/PRGDT.
  • stampa-dati / stampa-riga / stampa-dett: scandisce LODIMPDT per reparto/sottoreparto/data (chiave chia3); scarta gli impegni delle fasi gia' evase leggendo LODCMRIG (lcr-stato diverso da spazio); per ogni impegno stampa la riga di agenda. Per gli impegni di gruppo-azione (imd-gruppo-azione) espande il dettaglio leggendo CLOIMPDT (istanza di LODIMPDT con chiave k05, ridenominata via replacing a prefisso clo-) e l'attivita' da CRMATTIV.
  • leggi-commessa: recupera i dati anagrafici di prescrizione/commessa via COGS98W (studio/paziente/progressivo/descrizione cliente) e la testata/riga commessa da LODCMTES/LODCMRIG/LODPNRIG.
  • st-prec / st-succ: individuano la fase precedente (provenienza) e successiva (destinazione) dell'impegno scorrendo LODIMPDT per commessa (chiave chia2); per la fase precedente, se chiusa, legge data/ora di avanzamento da CLNCMRIG (istanza di LODCMRIG con prefisso cln-lcr-).
  • cerca-uscita: per ogni commessa in transito determina la data/ora di consegna/uscita leggendo LODCMRIG + LODPNRIG (flag lpr-fl-check = "C") o, in mancanza, la data consegna della prescrizione lpm-data-cns.
  • stampa-testa / intesta / fai-righe / x42-wr-label: generano il layout HP-GL/2 (testata con data e reparto, giorno della settimana via FESTA, cornice e righe della tabella, colonne).
  • fine / z-chiudi: chiude e cancella il transito, chiude window, z-99-exit-program.

File e tabelle

Tabella Accesso Descrizione
LODIMPDT (imd-) Lettura (chiavi chia2, chia3) Impegni di produzione per data: chiave reparto/sottoreparto/data (chia3) e commessa/riga (chia2)
LODIMPDT come CLOIMPDT (clo-) Lettura (chiave k05) Seconda istanza per il dettaglio degli impegni di gruppo-azione
LODCMRIG (lcr-) Lettura Righe azioni di commessa: stato fase (lcr-stato), data/ora consegna
LODCMRIG come CLNCMRIG (cln-lcr-) Lettura Seconda istanza per stato/data-ora avanzamento fase precedente
LODCMTES (lct-) Lettura Testata commessa: cassetta (lct-cassetta), piano (lct-piano)
LODPRESC (lpm-) Lettura (via COGS98W) Prescrizione/commessa: cliente, paziente, data/ora consegna
LODPNRIG (lpr-) Lettura Righe piano di fabbricazione: flag check (lpr-fl-check)
CRMATTIV (crt-) Lettura Attivita' (descrizione per impegni di gruppo-azione)
COGTABEL (euta-) Lettura Descrizione reparto (tipo 85)
LODTABEL (lta-) Lettura Descrizione sottoreparto (tipo 11)
COGTRANS (trs-) File transito temporaneo, i-o Record di appoggio per commessa e data/ora di uscita
flsta Output File di stampa HP-GL/2

Copybook principali

Copybook Ruolo
cogzcr.select / cogzcr.fd / cogzcr.wrk / cogzcr.prc / cogzcr.decla / cogzcr-01.scr Componenti generati da Screen Designer
feurtab.fd, cogfiles.cpy FD FEURTAB
flsta.fd / flsta.cpy File di stampa
cogtrans.k01 Chiave del transito temporaneo
lodimpdt.k02 / lodimpdt.k03 Chiavi secondarie LODIMPDT (commessa; reparto/sottoreparto/data)
lodimpdt.k05 (con replacingCLOIMPDT) Seconda istanza LODIMPDT per il dettaglio gruppo-azione
utilncnf.cpy, utils52.cpy, utils54.cpy, utils98.cpy, utilw80.cpy Interfacce ai programmi chiamati
utilcogzcr.cpy Linkage di chiamata (reparto/sottoreparto/data)
wstato, wopenf, wgrave, wnscr, cogazien Working storage standard + dati azienda
grave, mmmask, opengen, stato, stato1, winmsg, sendw80 Copybook di fine procedure

Programmi chiamati

Programma Interfaccia Scopo
COGS98W utils98.cpy (util-s98) Ricerca dati prescrizione/commessa (cliente, paziente, descrizioni)
COGS52 utils52.cpy Gestore campo data
COGS54 utils54.cpy Scelta stampante / gestione stampa
COGF12 (stringhe) Aiuto sottoreparto
COGW80 (via send-w80) utilw80.cpy Aiuto reparto (tipo 85)
RNEWCONF utilncnf.cpy Lettura configurazione
DTPRG / PRGDT Conversione data ↔ progressivo per l'avanzamento giorni
FESTA Giorno della settimana / festivita'

Configurazioni (RNEWCONF)

Gruppo Chiave Uso
labimp stampa uscita su agenda Se "S" aggiunge in agenda la colonna "Data uscita" (tm-cfg-stampa-dt-usc)

Note

  • Il file COGTRANS e' un transito temporaneo per operatore: all'ingresso viene aperto in output come lock di funzione (se gia' in uso dallo stesso operatore la funzione viene bloccata), e viene cancellato in uscita.
  • La stampa avviene in HP-GL/2 (emulazione HPLJ3, landscape): il programma genera direttamente i comandi vettoriali (PU/PD/EA/LB) tramite x42-wr-label e le routine di formattazione pagina.
  • Gli impegni delle fasi gia' evase vengono esclusi dalla stampa (controllo su lcr-stato, marcatore del 02/12/13 nel sorgente).