Vai al contenuto

COGZB6 - Stampa Commessa Interna (Scheda di lavoro)

Sorgente: cbl/cogzb6.cbl | Program-ID: COGZB6 | Tipo: Stampa (programma interattivo con stampa diretta)

Menu: Lab.Odont. > Operativo > Stampe > Scheda di lavoro


Scopo

Stampa la scheda di lavoro interna ("commessa interna") relativa a una commessa di laboratorio odontotecnico. Il documento riporta dati di prescrizione, paziente, righe del piano di fabbricazione, materiali, prestazioni, controlli, consegne previste, RNC (non conformita') eventuali. Si appoggia a stampa via COGS54 (laser) con font gestiti da COGFNT.

Puo' essere richiamato come sottoprogramma (linkage utilzb6): in tal caso prende prescrizione da zb6-presc ed entra direttamente in stampa senza fase di accept interattivo.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM Input Parametri generali azienda (cogfiles)
LODTMDES ISAM (temp) I-O Transito descrizioni per stampa testi multipli (lodtmdes)
LODTRDES ISAM (temp) I-O Transito righe descrizioni (lodtrdes)
FLSTA binary seq. Output File di stampa generato per la stampa laser
LODPRESC ISAM Input Prescrizione (medico/paziente/numero)
LODCMTES ISAM Input Testata commessa (chiave 2 = prescrizione)
LODCMAGG ISAM Input Dati aggiuntivi commessa (tecnico, ora ingresso, prescrittore, operatore inserimento/preparazione)
LODCMRIG ISAM Input Righe commessa (azioni, reparto, data/ora, stato)
LODCMMMD ISAM Input Materiali commessa
LODPNTES ISAM Input Testata piano di fabbricazione
LODPNRIG ISAM Input Righe piano di fabbricazione (azioni e flag check)
LODPNMAT ISAM Input Materiali piano
LODRAPNC ISAM Input Non conformita' (RNC) commessa
LODCMCTR ISAM Input Controlli commessa
LODRACCO ISAM Input Raccordi / collegamenti azioni
LODCONTR ISAM Input Controlli definiti
LODAZION ISAM Input Azioni di fabbricazione
LODDESCR ISAM Input Descrizioni / note libere
COGTABEL ISAM Input Codifiche tabelle generiche
COGMERCI ISAM Input Anagrafica merci/materiali
COGGEANA ISAM Input Anagrafica clienti / studi medici
COGAPPOG ISAM Input Tabella appoggio
COGDBASE / COGDESCR ISAM Input Database descrizioni
LODNPDFC ISAM Input Note PDF commessa

Copybook utilizzate

Copybook Descrizione
cogzb6.select, cogzb6.fd, cogzb6.wrk, cogzb6-01.scr, cogzb6.prc, cogzb6.decla Screen Designer: select, FD, working, screen, procedure I/O, declaratives
flsta.fd, flsta.cpy File di stampa
cogfiles.cpy Layout FEURTAB
wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy Working storage standard (stato, open file, errori gravi, scr)
cogazien.cpy Dati azienda
k-personal.cpy Costanti personalizzazioni
utilcrms06.cpy Linkage per CRMS06 (gestione stato CRM)
utilfnt.cpy Linkage gestione font (COGFNT)
utils54.cpy Linkage stampa COGS54
utils98.cpy Linkage COGS98W (ricerca prescrizione)
utilzde.cpy Linkage COGZDEW (descrizioni estese)
utilncnf.cpy Linkage RNEWCONF
utilzb6.cpy Linkage del programma (per chiamata esterna)
wcont.cpy, wcont1.cpy Linkage standard
stato, stato1, winmsg, grave, mmmask, opengen Infrastruttura standard fine procedure

Logica di elaborazione

Apertura (apri): init programma, apertura file, costruzione percorsi di output #$cogzb6.<oper> e #$cogzde.<oper> in ext-tmp-dir. Se chiamato come COGZB6-CALLED legge la prescrizione dal linkage. Imposta tasti funzione (F1 configura, F4 cancella, F8 aiuto/calendario, pulsante custom Commessa F5). Carica configurazioni RNEWCONF.

Selezione commessa (a-tm-cli): accept dei campi prescrizione (cliente, paziente, n. prescrizione, n. commessa) tramite COGS98W (sottoprogramma di ricerca prescrizione standard).

Validazione (a-fine-commessa -> x-controlla-commessa): verifica esistenza prescrizione e commessa, presenza testata lodcmtes (errore "Non hai ancora eseguito l'apertura commessa!!").

Stampa (a-90 / a-90-ok / b-stampa): richiesta stampante via COGS54, poi b-stampa esegue: - Lettura del piano di fabbricazione dalla prima riga commessa (rd-lodcmrig). - Lettura malattie paziente (loddescr tipo P2). - Loop righe commessa (rdnxt-lodcmrig): per ogni riga recupera dal piano (lodpnrig) il tipo controllo (lpr-fl-check = C controllo, I interno, F finale), accumula consegne in w-consegne (max k-max-n-c = 20), aggiorna w-righe-commessa (max 500 righe). - Lettura RNC associate via lodrapnc (chiave 6). - Lettura materiali via lodcmmmd e prestazioni. - Generazione pagine PDF con x41-init-page/x4-format-page/c-stampa (formattazione portrait o landscape in base alla configurazione).

Chiusura: dopo la stampa chiusura file COGS54, eliminazione file temporanei LODTMDES/LODTRDES, cancel di COGZDEW, COGS98W, CRMS06.

Chiamate a sottoprogrammi

Programma Utilizzo
COGS54 Selezione stampante e gestione stampa laser
COGS98W Ricerca/dialogo prescrizione
COGZDEW Formattazione descrizioni estese / wrap testo
COGFNT Gestione font in stampa
CRMS06 Lettura stato CRM (per indicazioni nella scheda)
RNEWCONF Lettura configurazioni

Configurazioni RNEWCONF

Gruppo Chiave Descrizione
ODONTO FORMATTAZIONE-PORTRAIT Formato di stampa portrait o landscape
LABPREPARA MODO-STAMPA-PM-SU-SCHEDA-COMMESSA Modalita' stampa piano di manutenzione/lavorazione sulla scheda
ODONTO PREST-ACCETTAZIONE Codice prestazione di accettazione (gestione particolare)

Note implementative

  • Pulsante custom "Commessa (F5)" definito tramite bitmap labodonto, indice 5; consente di saltare direttamente al campo numero commessa.
  • Tabelle interne dimensionate: 500 righe commessa, 20 consegne, 20 note, 20 controlli, 20 materiali, 20 prestazioni; in caso di superamento viene mostrato un messaggio che invita a contattare l'assistenza.
  • Il programma supporta entrata da chiamante (COGZB6-CALLED in zb6-called) saltando la fase di accept.
  • L'azienda criptata e' stata rimossa con PBUG-1925 (codice commentato); resta solo move az-int to tm-int.
  • Stampa basata su pagine PDF: ogni copia viene gestita con x41-init-page/x41-close-page (al momento e' previsto un'unica copia, ma il ciclo e' presente come scheletro).
  • L'uso di PERFORM ... THRU e' presente nel codice originale (legacy): convenzione progetto richiede di evitarlo nei nuovi sviluppi.