Vai al contenuto

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.