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 replacing → CLOIMPDT) |
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).