Vai al contenuto

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.