COGZ07 — Ricostruzione testata commessa¶
Sorgente: cbl/cogz07.cbl | Program-ID: cogz07 | Tipo: Utility interattiva di ricostruzione dati (maschera a campi)
Menu: Lab.Odont. > Operativo > Utilita' > Ricostruzione testata
Scopo¶
Ricostruisce la testata di una commessa di laboratorio di cui, per qualche motivo, si e' persa la prescrizione (LODPRESC) e/o la testata commessa (LODCMTES). L'operatore fornisce i riferimenti della commessa (medico, paziente, progressivo, numero commessa) e il programma:
- Se
LODCMTESesiste ma mancaLODPRESC, inserisce direttamente la prescrizione. - Altrimenti richiama
COGZ40per ricreareLODPRESCeLODCMTEScome commessa nuova. - Modifica su
LODPRESCeLODCMTESi campi necessari per riportare la commessa allo stato reale (stato, piano temporaneo). - Se mancante, ricrea la testata piano
LODPNTES.
Nota storica (dal sorgente): dal 3/1/2008, dopo l'introduzione della richiesta prescrizione con COGS98, il programma non funziona piu' correttamente ma e' stato mantenuto "nel caso dovesse servire". Va quindi considerato uno strumento di manutenzione straordinaria, oggi di fatto non allineato al flusso corrente.
File e tabelle¶
| File | Copybook | Accesso | Scopo |
|---|---|---|---|
| feurtab | cogfiles.cpy |
— | Tabella file di sistema |
| COGGEANA | (via rd-coggeana) |
Lettura diretta | Anagrafica medico/studio — descrizione |
| LODPRESC | lodpresc.k04 |
Lettura/scrittura/riscrittura | Prescrizione: creata o aggiornata (stato, flag estratta) |
| LODCMTES | lodcmtes.k02 |
Lettura/riscrittura | Testata commessa: aggiorna il codice piano (lct-piano) |
| LODPNTES | (via rd-lodpntes/wr-lodpntes) |
Lettura/scrittura | Testata piano — creata se mancante (lpt-tip = "T", descrizione "Temporaneo") |
I file laboratorio (cogz07.select/cogz07.fd) sono generati da Screens.
Programmi chiamati (CALL)¶
| Programma | Condizione | Scopo |
|---|---|---|
| COGS98W | gestione campo prescrizione (z-s98-tm-presc, z-s98-init) |
Subroutine di richiesta/ricerca prescrizione (medico/paziente/progressivo/commessa) |
| COGZ40 | LODCMTES non esistente |
Ricrea LODPRESC + LODCMTES come commessa nuova (z40-called = "COGZ40-COGZ07") |
| COGS65W | a-tm-cli |
Help/gestione codice medico |
Copybook incluse¶
Working Storage: feurtab.fd, cogz07.select, cogz07.fd, cogz07.wrk, wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy, cogazien.cpy, utils65.cpy, utils52.cpy, utils98.cpy, utilz63.cpy
Linkage: wcont.cpy, utils01.cpy, utilz40.cpy, wcont1.cpy
Screen: cogz07-01.scr
Procedure: stato1.cpy, stato.cpy, winmsg.cpy, grave.cpy, mmmask.cpy, opengen.cpy, lodcmtes.k02, lodpresc.k04, cogz07.prc
Logica di elaborazione¶
-
Accept campi: medico/studio (
tm-cli, con COGS65W), paziente (tm-paziente), progressivo (tm-pro), numero commessa (tm-num), poi piano temporaneo (tm-piano) e stato (tm-stato). La gestione della prescrizione passa per la subroutineCOGS98W. -
Controllo commessa (
x-controlla-commessa): verifica che la commessa NON sia gia' presente suLODPRESC(ne' per numero commessa ne' per medico/paziente/progressivo) e suLODCMTES; se e' gia' presente segnala l'errore e blocca. La variabilea-lodcmtes-okdistingue il caso in cui la testata commessa esiste gia'. -
Elaborazione (dopo conferma F3):
- Se
a-lodcmtes-ok = "S": inserisce direttamenteLODPRESCvalorizzando medico, paziente, progressivo, numero, date daLODCMTES, stato e tipo docB. - Altrimenti: chiama
COGZ40che ricrea prescrizione e testata. - Rilegge
LODPRESC(per numero commessa e per prescrizione) e ne aggiorna stato e flag estratta. - Rilegge
LODCMTESe vi scrive il piano temporaneo (lct-piano). - Verifica
LODPNTES: se manca lo inserisce con descrizione "Temporaneo".
Paragrafi chiave¶
| Paragrafo | Scopo |
|---|---|
apri |
Inizializzazione: apre file, imposta titolo e tasti funzione |
a-tm-cli |
Accept codice medico via COGS65W |
a-tm-paziente / a-tm-pro / a-tm-num |
Accept dati prescrizione/commessa |
a-fine-commessa / x-controlla-commessa |
Verifica che la commessa non esista gia' su LODPRESC/LODCMTES |
a-tm-piano / a-tm-stato |
Accept piano temporaneo e stato |
a-richiesta-conferma |
Conferma e avvia la ricostruzione (inserimento LODPRESC / chiamata COGZ40, aggiornamenti, LODPNTES) |
z-s98-tm-presc / fill-s98-* / flow-s98-* |
Interfaccia con la subroutine prescrizione COGS98W |
fine / z-chiudi |
Chiusura file, cancel COGS98W, uscita |