COGZ65 — Modifica cliente su commessa
| Campo |
Valore |
| Sorgente |
cbl/cogz65.cbl |
| Program-ID |
cogz65 |
| Tipo |
Maschera GUI interattiva (richiamabile in modalita' silent) |
| Posizione menu |
Lab.Odont. > Operativo > Modifica cliente su commessa |
Scopo
Riassegna una commessa gia' aperta a un diverso cliente/paziente/progressivo. Poiche' la chiave della commessa e' costituita dalla terna prescrizione (studio medico, paziente, progressivo), il cambio cliente comporta la cancellazione della vecchia prescrizione e la riscrittura di prescrizione, testata e righe commessa con la nuova chiave, mantenendo fisso il numero commessa. Puo' essere eseguito interattivamente o richiamato da altri moduli in modalita' "silent".
Struttura e flusso
- apri:
z-99-init-program, ctr-abil, rd-azi, open-files, x99-confi; attiva i tasti funzione (F3 conferma/aggiorna, F4 cancella, F8 aiuto/calendario, F9 ricerca avanzata); carica bitmap labodonto e crea il pulsante "Commessa (F5)".
- Se richiamato in modalita' silent (
z65-called = "S" e z65-silent = "S"): legge i dati vecchi/nuovi dalla linkage utilz65, ricarica la prescrizione (rd-lodpresc) e la testata (rd-lodcmtes-chia2), poi salta direttamente al blocco di elaborazione b-20a.
- a-tm-cli: accept dei dati commessa esistente via COGS98W (
z-s98-tm-presc).
- x-controlla-commessa: verifica esistenza prescrizione (LODPRESC) e testata commessa (LODCMTES, chiave 2); imposta piano e coefficiente.
- b-10-cli: accept dei nuovi dati (nuovo cliente/paziente/progressivo) via COGS98W in modalita' "new" (
z-s98-tm-new-presc). x-controlla-commessa-new verifica che la nuova prescrizione non esista gia' e che medico e paziente siano valorizzati.
- a-richiesta-conferma / acc-conf: su F3 procede con l'elaborazione.
- b-20 / b-20a (elaborazione):
- cancella la vecchia prescrizione (
del-lodpresc) e scrive la nuova su LODPRESC (wr-lodpresc) con i nuovi dati; gestisce il paziente esteso (lpm-paz-esteso) e, se univoco, aggancia il dottore risolvendolo da COGRIFER (st-cogrifer-notmin-chia2, filtro su posizione contatto configurabile) aggiornando anche LODCMAGG (lcg-cp-tip/lcg-cp-cod);
- scrittura condizionale del record paziente via COGS94W ("if-write") e cancellazione del vecchio paziente ("delete");
- b-30: rilegge e riscrive la testata LODCMTES (
rwr-lodcmtes) con la nuova chiave; se config impegni = "C" chiama COGZCF (operazione "M", provenienza "LC") per aggiornare gli impegni.
- b-40: cicla e riscrive tutte le righe commessa LODCMRIG (
rwr-lodcmrig) con la nuova chiave.
- b-90: se silent restituisce l'esito (
z65-err) e termina; altrimenti mostra un dialog di successo (DIALOGS) con opzione F5 per stampare l'etichetta cassetta (chiamata a COGZ85), e un promemoria testuale sulle modifiche manuali residue (buoni, preventivo, archiviazione ottica, dottore su prescrizione medica).
- fine / z-chiudi:
z-close-files, chiusura window (se non silent), chiusura file di COGZCF, cancel 'COGS98W'/'COGS94W', exit program.
Tabelle utilizzate
| Tabella |
Accesso |
Descrizione |
LODPRESC (lpm-) |
Lettura/Scrittura/Cancellazione |
Prescrizione: cancellata sulla vecchia chiave e riscritta sulla nuova (medico, paziente esteso, progressivo, dottore, flag estratta/preventivo/progetto) |
LODCMTES (lct-) |
Lettura/Riscrittura (chiave 2) |
Testata commessa: riscritta con la nuova chiave, numero commessa invariato |
LODCMRIG (lcr-) |
Riscrittura (start/rdnxt) |
Righe commessa: tutte riscritte con la nuova chiave |
LODCMAGG (lcg-) |
Lettura/Riscrittura |
Dati aggiuntivi commessa: aggiornamento contatto/dottore (lcg-cp-tip, lcg-cp-cod) |
COGRIFER (rif-) |
Lettura (start/rdnxt, chiave 2) |
Riferimenti/contatti del cliente: risoluzione del dottore per tipo anagrafica cliente e posizione contatto |
| FEURTAB |
Lettura |
Parametri/anagrafica azienda (cogfiles.cpy) |
Programmi chiamati
| Programma |
Interfaccia |
Scopo |
| COGS98W |
utils98.cpy (util-s98) |
Ricerca / display prescrizione-commessa (vecchia e nuova) |
| COGS94W |
utils94.cpy (util-s94) |
Gestione record paziente (scrittura condizionale / cancellazione) |
| COGS52W |
utils52.cpy |
Gestione controlli di maschera |
| COGZCF |
utilcogzcf.cpy (util-cogzcf) |
Aggiornamento impegni commessa (solo se config impegni = "C") |
| COGZ85 |
utilz85.cpy (linkage) |
Stampa etichetta cassetta (opzionale, da dialog F5) |
| DIALOGS |
utildlg.cpy (util-dlg) |
Dialog di esito con opzioni funzione |
| RNEWCONF |
utilncnf.cpy |
Lettura configurazione da odonto.CNF |
Copybook principali
| Copybook |
Ruolo |
cogz65.select / cogz65.fd / cogz65.wrk / cogz65.prc / cogz65.decla / cogz65-01.scr |
Componenti generati da Screen Designer |
feurtab.fd, cogfiles.cpy |
FD FEURTAB |
k-personal.cpy |
Costanti di personalizzazione (k-personal-lab-wilocs) |
wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy, cogazien.cpy |
Working storage standard + dati azienda |
utils52.cpy, utils94.cpy, utils98.cpy, utilz63.cpy, utildlg.cpy, utilncnf.cpy, utilcogzcf.cpy |
Linkage subroutine chiamate |
wcont.cpy, utilz65.cpy, utilz85.cpy, wcont1.cpy |
Linkage di chiamata (interfaccia COGZ65 come chiamato) |
lodpresc.k04, lodcmtes.k02, cogrifer.k02 |
Copybook chiavi secondarie |
stato1.cpy, stato.cpy, winmsg.cpy, grave.cpy, mmmask.cpy, opengen.cpy |
Copybook di fine procedure |
Configurazioni lette
| File |
Gruppo |
Chiave |
Uso |
odonto.CNF |
abilita |
labod-impegni |
Se "C" attiva l'aggiornamento impegni via COGZCF (tm-cfg-labod-impegni) |
odonto.CNF |
odonto |
posizione-contatto-dottori |
Filtro sulla posizione del contatto in COGRIFER per la risoluzione del dottore (tm-cfg-cnt-medico) |
Note
- Il modulo e' invocabile in modalita' silent (
z65-silent = "S") tramite la linkage utilz65 (dati vecchia e nuova prescrizione), restituendo l'esito in z65-err; in tal caso salta l'interfaccia e va diretto all'elaborazione.
- Il numero commessa resta invariato: cambia solo la chiave prescrizione. La riscrittura delle descrizioni (blocco
b-50, tipo "T1") e' disabilitata perche' le descrizioni sono legate al codice commessa fisso.
- Al termine (in modalita' interattiva) il programma ricorda all'operatore le modifiche non automatizzate: cliente su buoni e preventivo, riferimento oggetto su archiviazione ottica, dottore sulla prescrizione medica.
- Il paziente "esteso" (
lpm-paz-esteso) e' gestito diversamente per la personalizzazione Wilocs.