COGZAQ — Consultazione lavori in trasferimento
| Campo |
Valore |
| Sorgente |
cbl/cogzaq.cbl |
| Program-ID |
cogzaq |
| Tipo |
Lista-griglia/visualizzazione (con filtro e export Excel) |
| Posizione menu |
Lab.Odont. > Operativo > Visualizzazioni > Consultaz. Lavori in Trasferimento |
Scopo
Consulta i lavori di laboratorio in fase di trasferimento tra sedi/magazzini operativi. In un ambiente multi-sede una commessa passa da una sede all'altra durante la lavorazione: questo programma elenca le righe di commessa marcate come "da trasferire" e mostra, per ciascuna, la sede di partenza, l'ubicazione attuale, la sede di destinazione, le date di uscita/trasferimento e lo stato del trasferimento (Previsto, In corso, Concluso). E' uno strumento di sola consultazione: da griglia (F5) si accede allo stato commessa (COGZ50).
Struttura e flusso
Programma a maschera con tab-control a due pagine (pagina 1 "richiesta dati/filtri", pagina 2 "risultato"). Usa il framework griglia grid-det con file di transito indicizzato t-grid-det (non un COGTRANS manuale). I filtri sono salvabili/richiamabili come impostazioni predefinite (imppredf).
apri/a4: init programma, open-files, rd-azi, lettura configurazione (x99-confi), caricamento bitmap/pulsanti custom (CTRL-S salva impostazione, CTRL-F cerca impostazione, F5 stato commessa), lettura filtro di default. Se la gestione multi-sede non e' attiva viene mostrato un avviso.
- Pagina 1 (filtri): accept di data inizio/fine (per data consegna riga), sede commesse, sede uscita, sede entrata. F7 esegue il filtro; F8 su ciascuna sede apre la ricerca magazzino (
send-w36); F1 apre la modifica configurazioni.
a-controlla-filtri / x-imposta-conferma: valida i filtri (coerenza date, esistenza sedi come magazzini con flag "sede operativa").
a-leggi-dati: apre il transito, invoca z-grid-det-crea-transito e riordina.
z-grid-ricerca-dati: cuore dell'elaborazione. Scansione delle righe commessa LODCMRIG sulla chiave .k04 (per data consegna) tra data inizio e fine; per ogni riga con lcr-fl-trasf = "T" che supera i filtri di sede scrive un record di transito.
- Pagina 2 (
a-grid): loop accept sulla griglia con SF4 (personalizza colonne, GRIDADMN), SF5 (export Excel), F5 (stato commessa COGZ50), menu pop-up e paginazione.
fine/z-chiudi: chiusura file, delete file del temporaneo t-grid-det, exit program.
File e tabelle
| Tabella |
Accesso |
Descrizione |
LODCMRIG (lcr-) |
lettura (chiave .k04 = data consegna) |
Righe commessa: stato, sede, flag trasferimento (lcr-fl-trasf), data consegna |
LODCMRIG alias clocmrig (clo-) |
lettura |
Seconda istanza logica dello stesso file LODCMRIG: usata per scandire le altre righe della stessa commessa e ricavare data uscita, ubicazione attuale, sede di ingresso e trasferimenti successivi |
LODPRESC (lpm-) |
lettura (chiave .k04) |
Testata prescrizione/commessa: stato, data consegna, progressivo |
LODCMTES (lct-) |
lettura |
Testata commessa (cassetta, piano) |
LODPNRIG (lpr-) |
lettura |
Righe piano/fase (flag check lpr-fl-check) |
COGGEANA (ana-) |
lettura |
Anagrafica studio/medico (nome) |
COGMAGAZ (magz-) |
lettura |
Anagrafica magazzini/sedi (nome sede) |
COGMAGAG (magg-) |
lettura |
Dati aggiuntivi magazzino (flag magg-fl-sede-operativa) |
t-grid-det (t-gor-r-) |
temporaneo indicizzato |
File di transito della griglia (scrittura/lettura, delete file) |
Copybook principali
| Copybook |
Ruolo |
cogzaq.select/.fd/.wrk/.prc/.decla/.tm |
Definizioni generate da Screens (incluse le due istanze LODCMRIG/clocmrig) |
cogzaq-01.scr |
Screen section |
cogzaq.imppredf/.imppredf-wrk, utilimppredf.cpy |
Salvataggio/richiamo impostazioni filtro predefinite |
k-tipi-cogtabel.cpy, costanti-labod.cpy, k-u10.cpy, k-personal.cpy |
Costanti |
utilz50.cpy |
Linkage COGZ50 (stato commessa) |
utilgdad/utils52/utilu10/utilu20/utilw36/utilncnf |
Linkage subroutine chiamate |
lodcmrig.k04, lodpresc.k04 |
Chiavi secondarie |
mmmask.cpy, wgrid.cpy |
Maschera GUI standalone e gestione griglia |
Programmi chiamati
| Programma |
Interfaccia |
Scopo |
COGZ50 |
util-z50 |
Stato commessa (da F5) |
GRIDADMN |
util-gdad |
Personalizzazione/preparazione griglia (SF4) |
COGU10W |
util-u10 |
Divisa di conto / gestione valori |
RNEWCONF |
util-ncnf |
Lettura configurazione |
W36 (via sendw36.cpy) |
send-w36 |
Ricerca magazzino/sede (F8) |
Logica di elaborazione
La classificazione dello stato di trasferimento avviene in z-grid-ricerca-dati e nella scansione cerco-data-usc sulle altre righe della stessa commessa:
- "P" Previsto: la riga elaborata non e' chiusa (
lcr-stato <> "C").
- "I" In corso: la riga e' chiusa ma esistono righe successive (
clo-riga > lcr-riga) con clo-fl-trasf = "T" non chiuse.
- "C" Concluso: la riga e' chiusa e non ci sono trasferimenti successivi aperti.
L'ubicazione attuale, la sede di ingresso e la data del trasferimento successivo vengono ricavate scorrendo le righe fratelle sul secondo tracciato clocmrig.
Configurazioni RNEWCONF
| Gruppo |
Chiave |
Uso |
odonto |
gestione-multi-sede |
Abilita la gestione/filtri multi-sede; se non attiva mostra avviso |
Storico modifiche
090724 (PBUG-2022): corretto il controllo di valorizzazione della data trasferimento successivo e la ricerca della sede di ingresso (solo su righe successive a quella in elaborazione).
050525 (TASK-1157): tolto temporaneamente il controllo magz-fl-sede per ambienti con sede unica su piu' magazzini.
070426 (TASK-4553): ripristinato il controllo sede sostituendo magz-fl-sede con il nuovo campo magg-fl-sede-operativa (letto da COGMAGAG).
Note
- Le tre "sedi" del filtro (commesse, uscita, entrata) devono corrispondere a magazzini definiti come "sede operativa" (
magg-fl-sede-operativa = "S"), altrimenti la conferma viene bloccata.
- Il flag
lcr-fl-trasf = "T" sulla riga commessa e' la condizione minima di selezione: senza di esso la riga non compare nell'elenco.