COGZ5A — Modifica tempi di avanzamento
| Campo |
Valore |
| Sorgente |
cbl/cogz5a.cbl |
| Program-ID |
cogz5a |
| Tipo |
Maschera GUI a schede (filtri + griglia editabile) |
| Posizione menu |
Lab.Odont. > Operativo > Varie > Modifica tempi di avanzamento |
Scopo
Permette di correggere a posteriori i tempi delle fasi gia' avanzate (lavorate) delle commesse di laboratorio: data/ora di inizio, data/ora di fine e minuti impiegati. L'operatore imposta dei filtri (commessa, operatore, periodo) nella prima scheda, ottiene nella seconda scheda la griglia delle righe di dettaglio lavorate (LODCMDET) e vi modifica direttamente le colonne di tempo. Al salvataggio le modifiche vengono riscritte su LODCMDET.
Struttura e flusso
- apri: init standard,
rd-azi, open-files; attiva i tasti funzione (F7 filtra, F3 aggiorna, F9 ricerca avanzata, personalizza griglia, esporta Excel); carica bitmap e pulsanti custom (F5 commessa, CTRL-S salva impostazione, CTRL-F cerca impostazione); prepara la griglia; inizializza la subroutine prescrizione (COGS98W, s98-fun = "format").
- a4: reset; imposta il filtro contestuale di griglia; carica l'eventuale filtro predefinito (
z-imppredf-carica-default); posiziona il tab-control sulla pagina 1 (filtri).
- a-pag-filtri: attiva la pagina filtri e il tasto F7.
- Filtri (
a-tm-cli, a-tm-ope-ins, a-tm-data-ini, a-tm-data-fin):
- commessa/prescrizione via
COGS98W (z-s98-tm-presc); per la personalizzazione Hospitadella imposta il primo campo su "C"; F6 apre l'accettazione COGZ40;
- operatore validato su
PRNTOPER (aiuto via send-w73);
- date periodo gestite con
COGS52.
- a-controlla-filtri / x-imposta-conferma: se e' indicata una commessa la ricerca via
COGS98W (find+display); valida operatore e coerenza date (fine >= inizio).
- a-pag-risultati: passa alla seconda scheda e legge i dati.
- a-leggi-dati / z-grid-det-crea-transito: costruisce il transito di griglia. Se e' indicata una commessa scandisce
LODCMDET per commessa; altrimenti, se e' indicato un operatore, scandisce per operatore+data (chiave chia2); altrimenti cicla su tutti gli operatori (PRNTOPER). Per ogni riga (a-estrai-lodcmdet) recupera testata commessa (LODCMTES), cliente (COGGEANA), paziente, azione dalla riga piano (LODPNRIG → LODAZION), operatore (PRNTOPER) e i tempi (data/ora inizio-fine, minuti).
- a-grid: gestione griglia. Le colonne data/ora inizio, data/ora fine e tempo sono editabili; ogni modifica marca la riga (
tm-r-fl-upd = "S") e aggiorna il transito. Validazioni: fine non anteriore a inizio (x-controlla-tm-r-data-fine / -ora-fine). S-F4 personalizza griglia, S-F5 esporta in Excel.
- F3 (aggiorna) / x-aggiorna: chiede conferma, poi per ogni riga marcata
fl-upd = "S" rilegge il record LODCMDET con lock (rd-lodcmdet-lk) e vi riscrive data/ora inizio, data/ora fine e minuti.
- z-99-exception-form: gestisce F7 (esegui filtro), CTRL-F (carica filtro memorizzato), CTRL-S (salva filtro).
- fine / z-chiudi: chiude e cancella il transito,
cancel "COGS98W", distrugge il menu, esce.
File e tabelle
| Tabella |
Accesso |
Descrizione |
LODCMDET (lcd-) |
Lettura (chiave primaria, chia2) / riscrittura con lock |
Righe di dettaglio lavorate: commessa, riga, riga-pro, operatore, data/ora inizio-fine, minuti |
LODPRESC (lpm-) |
Lettura (via COGS98W) |
Prescrizione/commessa (selezione dai filtri) |
LODCMTES (lct-) |
Lettura |
Testata commessa: cliente (lct-med), paziente |
LODPNRIG (lpr-) |
Lettura |
Righe piano: azione della fase (lpr-azione) |
LODAZION (laz-) |
Lettura |
Anagrafica azioni: codice e descrizione |
PRNTOPER (ptop-) |
Lettura |
Anagrafica operatori: codice, descrizione |
COGGEANA (ana-) |
Lettura |
Anagrafica cliente (nome) |
t-grid-det |
File transito di griglia (i-o) |
Righe della griglia (flag t-gor-r-fl-upd per le righe modificate) |
Copybook principali
| Copybook |
Ruolo |
cogz5a.select / cogz5a.fd / cogz5a.wrk / cogz5a.tm / cogz5a.prc / cogz5a.decla / cogz5a-01.scr |
Componenti generati da Screen Designer |
cogz5a.imppredf / cogz5a.imppredf-wrk / utilimppredf.cpy |
Filtri predefiniti (salva/carica con CTRL-S / CTRL-F) |
k-personal.cpy |
Costanti di personalizzazione azienda (k-personal-lab-hospitadella) |
wgrid.cpy, utilgdad.cpy |
Infrastruttura griglia + GRIDADMN |
utils52.cpy, utils65.cpy, utils68.cpy, utils93.cpy, utilu10.cpy, utilu20.cpy, utilw73.cpy, utils98.cpy |
Interfacce utility / aiuti |
utilz40.cpy |
Linkage di COGZ40 (accettazione, F6) |
sendw73.cpy |
Routine di aiuto operatore |
lodpresc.k02, lodcmdet.k02 |
Chiavi secondarie |
wstato, wopenf, wgrave, wnscr, cogazien |
Working storage standard + dati azienda |
grave, mmmask, opengen, stato, stato1, winmsg |
Copybook di fine procedure |
Programmi chiamati
| Programma |
Interfaccia |
Scopo |
COGS98W |
utils98.cpy (util-s98) |
Ricerca / selezione prescrizione-commessa |
COGS52 |
utils52.cpy |
Gestore campi data (inizio/fine periodo) |
COGZ40 |
utilz40.cpy (z40-called) |
Accettazione (F6 sul filtro commessa) |
COGW73 (via send-w73) |
utilw73.cpy |
Aiuto operatore |
GRIDADMN |
utilgdad.cpy |
Personalizzazione/gestione griglia |
Note
- La modifica dei tempi avviene direttamente in griglia: le colonne di data/ora/minuti sono editabili e la modifica di una qualsiasi marca la riga (
fl-upd); solo le righe marcate vengono riscritte su LODCMDET al salvataggio.
- All'uscita, se ci sono modifiche non salvate (
w-fl-upd = "S"), il programma chiede conferma prima di abbandonare.
- Il programma non usa una configurazione RNEWCONF propria; l'unico comportamento personalizzato e' per l'installazione Hospitadella (posizionamento del primo campo di ricerca prescrizione).