COGZCC — Stampa agenda per operatore
| Campo |
Valore |
| Sorgente |
cbl/cogzcc.cbl |
| Program-ID |
cogzcc |
| Tipo |
Stampa (agenda giornaliera in HP-GL/2) |
| Posizione menu |
Lab.Odont. > Operativo > Impegni > Stampa agenda per operatore |
Scopo
Stampa l'agenda giornaliera di lavoro di un operatore in formato calendario: una pagina per ciascun giorno, con gli appuntamenti/attivita' pianificati in ordine di ora, la descrizione del lavoro (studio/paziente/uscita/commessa), l'ora di inizio e l'ora di fine prevista. L'operatore sceglie l'operatore, la data di partenza e il numero di giorni da stampare (1-7); il programma produce una stampa grafica (HP-GL/2) tramite la scelta stampante standard COGS54. E' richiamabile a menu oppure chiamato da altri programmi passando operatore e data (cogzcc-called = "cogzcc-CALLED").
File e tabelle
| Tabella |
Accesso |
Descrizione |
CRMATTOP (crp-) |
lettura sequenziale (chiave .k02 per operatore + data) |
Attivita' pianificate per operatore/data (aggancio all'attivita' agenda) |
CRMATTIV (crt-) |
lettura |
Attivita' agenda (provenienza "LO" = laboratorio, aggancio a impegno/commessa) |
CRMAGAPP (agp-) |
lettura sequenziale |
Appuntamenti agenda per attivita' (ora reale di inizio, operatore, data) |
CRMAGASP (asp-) |
lettura sequenziale |
Sotto-appuntamenti/slot dell'attivita' (usati per calcolare l'ora di fine) |
LODIMPDT (imd-) |
lettura sequenziale (chiavi .k02, .k04 per attivita', .k05) |
Dettaglio impegni pianificati (commessa, ora fine, gruppo azione) |
CLOIMPDT (clone imd) |
lettura sequenziale (chiave .k05) |
Clone impegni (fasi di dettaglio del gruppo azione) |
CLNCMRIG (clone lcr) |
lettura |
Clone righe commessa |
LODCMRIG (lcr-) |
lettura |
Righe commessa (azione) |
LODCMTES (lct-) |
lettura |
Testata commessa |
LODPNRIG (lpr-) |
lettura |
Righe piano (flag consegna/prova) |
LODPNMAT (lmt-) |
lettura sequenziale |
Materiali/prestazioni del piano (data di uscita) |
LODAZION (laz-) |
lettura |
Descrizione azione |
PRNTOPER (ptop-) |
lettura |
Anagrafica operatore (descrizione, in testata) |
COGTRANS (trs-) |
file transito temporaneo indicizzato (i-o, delete file in uscita) |
Appoggio commesse gia' contate per il calcolo del numero righe/pagina |
FLSTA (flsta.cpy) |
file di stampa |
File dei record di stampa (righe HP-GL/2) |
Copybook principali
| Copybook |
Ruolo |
cogzcc.select / .fd / .wrk / .prc / .decla |
Definizioni generate. La FD e i SELECT di COGTRANS sono dichiarati manualmente nel sorgente (chiave primaria trs-commessa); flsta.fd/flsta.cpy per il file di stampa |
cogzcc-01.scr |
Screen section (parametri di stampa) |
utilcogzcc.cpy |
Linkage di chiamata (operatore, data) |
utils54.cpy |
Linkage COGS54 (scelta stampante / emulazione) |
utilwp04.cpy / sendwp04.cpy |
Aiuto/ricerca operatore |
utils52.cpy / utils68.cpy / utils98.cpy |
Campo data, subroutine, ricerca prescrizione |
utilncnf.cpy |
Lettura configurazioni |
crmattop.k02, lodimpdt.k02 / .k04 / .k05, cogtrans.k01 |
Chiavi secondarie aggiunte manualmente |
mmmask.cpy, cogazien.cpy, wstato/wopenf/wgrave/wnscr |
Infrastruttura maschera GUI |
Programmi chiamati
| Programma |
Interfaccia |
Scopo |
COGS54 |
util-s54 |
Scelta stampante e gestione stampa (emulazione HPLJ3, 78 caratteri) |
COGP04/send-wp04 |
util-wp04 |
Aiuto/ricerca operatore (F8) |
DTPRG / PRGDT |
— |
Conversione data <-> progressivo giorni (avanzamento di giorno in giorno) |
FESTA |
— |
Determina il giorno della settimana e se e' festivo |
COGS68W / COGS98W |
util-s68 / util-s98 |
Subroutine di supporto/ricerca prescrizione |
RNEWCONF |
util-ncnf |
Lettura configurazioni |
Logica di elaborazione
apri / a4 — inizializzazione, open-files, lettura configurazione x99-confi, costruzione del nome del transito COGTRANS (directory temporanea + operatore) e sua apertura (output per rilevare doppia esecuzione, poi i-o). Se chiamato, precarica operatore e data.
- Testata — accept di operatore (
a-tm-ope, aiuto WP04, validato su PRNTOPER), data di partenza (a-tm-data, calendario S52) e numero di giorni (a-tm-giorni, max 7). controlla-data verifica che nell'intervallo scelto (data + n. giorni) esista almeno un'attivita' per l'operatore leggendo CRMATTOP; se non c'e' alcun impegno la conferma e' rifiutata.
a-fine-dati — richiama COGS54 per la scelta stampante (emulazione HPLJ3), poi stampa, infine COGS54 per la chiusura stampa.
stampa — cicla sui tm-giorni giorni a partire dalla data: per ogni giorno fa una prima passata "di conteggio" (fl-non-stampare = "S", per calcolare il numero di righe/pagina e caricare CRMAGASP/COGTRANS), poi stampa testata (stampa-testa), dati (stampa-dati) e coda (stampa-coda); avanza di un giorno con DTPRG/PRGDT.
stampa-testa / intesta — disegna la cornice della pagina in HP-GL/2, la data (giorno + mese esteso + anno da w-tab-mesi), l'operatore e il giorno della settimana (da w-tab-settimana con FESTA).
stampa-dati — scandisce CRMATTOP per operatore/data; per ogni attivita' legge CRMATTIV e chiama stampa-riga.
stampa-riga — legge l'appuntamento (CRMAGAPP) e, per le attivita' di provenienza "LO" (laboratorio), risale all'impegno (LODIMPDT per attivita', chiave .k04) per ottenere commessa e ora di fine; le attivita' operatore non collegate a commessa vengono ignorate (fix del 27/06/11). Stampa l'ora reale, la descrizione del lavoro e, tramite stampa-ora-fine (che legge CRMAGASP), l'ora di fine prevista.
fine / z-chiudi — chiusura file, close/delete file del transito, uscita.
Configurazioni (RNEWCONF)
| Gruppo |
Chiave |
Uso |
labimp |
stampa uscita su agenda |
Se "S", stampa anche la data di uscita/consegna sull'agenda (colonna aggiuntiva) |
Note
- La stampa e' grafica (HP-GL/2, emulazione HPLJ3 via COGS54): il layout e' costruito con comandi di penna (PU/PD/EA/FT) e etichette posizionate a coordinate, non come stampa a caratteri.
- Il collegamento agenda-laboratorio passa dalle tabelle CRM* (CRMATTOP/CRMATTIV/CRMAGAPP/CRMAGASP): la data e l'ora reali dell'appuntamento provengono dall'agenda, mentre commessa e ora di fine derivano dall'impegno di produzione (LODIMPDT).
- La prima passata di conteggio serve a dimensionare correttamente la pagina prima di stampare;
COGTRANS evita di ricontare la stessa commessa.