COGZDD — Lista impegni per reparto
| Campo |
Valore |
| Sorgente |
cbl/cogzdd.cbl |
| Program-ID |
cogzdd |
| Tipo |
Maschera GUI con griglia (lista lavori + esecuzione mansioni) |
| Posizione menu |
Lab.Odont. > Operativo > Impegni > Lista impegni per reparto |
Scopo
Mostra in griglia i lavori (impegni) di produzione ancora da eseguire per un reparto del laboratorio, con la relativa capacita' del reparto (totale, residua, occupabile) alla data odierna. Per ciascun lavoro l'operatore puo' avviare l'evasione della mansione, che a seconda del "modo di evasione" del reparto/mansione segue percorsi diversi (evasione diretta, tramite accettazione, macro-progettazione o progettazione). E' una postazione operativa di reparto: la lista si ricarica automaticamente a intervalli (auto-refresh configurabile) e alla riga selezionata si applica l'operazione scelta.
Puo' essere avviato dal menu, richiamato da altro programma (cogzdd-called = "COGZDD-CALLED") o via parametro di menu (wo-parametro = reparto).
Struttura e flusso
- apri: init standard,
open-files, lettura configurazione (x99-load-config); costruzione del menu contestuale di griglia; caricamento bitmap e pulsanti custom (F1 ricarica, F5 stato commessa); preparazione griglia (z-prepara-tm-grid).
- a4: svuota la griglia, imposta il reparto (da linkage se richiamato), la sede di default (
az-main-mag letta da COGMAGAZ), l'ordinamento predefinito (priorita', data impegno, data/ora arrivo, commessa, sequenza); carica l'eventuale filtro di default (z-imppredf-carica-default).
- a-tm-rep / a-tm-commessa: accept dei filtri reparto (validato su
COGTABEL tipo 85, aiuto via send-w80) e commessa.
- a-leggi-dati: legge il tempo di refresh da configurazione (
cogzdd-tempo-refresh), apre il file di transito di griglia, crea il transito (z-grid-det-crea-transito) e lo riordina.
- z-grid-det-crea-transito: calcola i totali del reparto — capacita' totale (
capacita-totale), lavori/impegno evasi in giornata (totali-evasi) — poi scandisce LODCMASI per reparto e impegni non evasi (chiave chia2), popolando la griglia con carica-dati/z-grid-det-riempi-t-rec. Calcola capacita' residua e occupabile.
- capacita-totale: legge la capacita' massima del reparto da
LODIMPMD (impegno per periodo, valido alla data odierna) o, in mancanza, da LODIMPRS.
- z-grid-det-riempi-campi-t-gor: per ogni impegno recupera i dati del sottoarticolo (
LODCMASV), della prescrizione (LODPRESC, chiave chia4), della testata commessa (LODCMTES), del flag esportazione (LODCMAG2), l'anagrafica cliente (COGGEANA) e la descrizione della mansione/sottoreparto (LODTABEL tipo 11). Determina il modo di evasione (t-gor-r-modo-eva) dalla mansione o dal reparto.
- a-grid / z-99-accept-grid-det: gestione della griglia con auto-refresh (
f-tempo-scaduto ricarica i dati mantenendo la posizione tramite tm-id-restart); F1 ricarica, S-F4 personalizza griglia (GRIDADMN), S-F5 esporta in Excel, F5 apre lo stato commessa (COGZ50), INVIO/doppio click esegue la mansione sulla riga selezionata.
- Esecuzione mansione (in base a
tm-r-modo-eva):
- "A" evasione-diretta: evade l'impegno (
LODCMASI, flag lci-fl-evaso = "E"); se e' l'unico giorno o il primo giorno d'impegno esegue l'avanzamento dell'azione via COGZSC; quando tutti gli impegni del sottoarticolo sono evasi aggiorna LODCMASV e LODCMAG2 (per l'esportazione).
- "B" evasione-accettaz: apre l'accettazione con
COGZ40; se la commessa ha il cliente, chiede conferma e richiama l'evasione diretta.
- "C" macro-progettazione: richiama
COGZDA (macro di progettazione) poi l'evasione diretta.
- "D" evasione-progettaz: evasione diretta senza avanzamento azioni, poi innesca la preparazione commessa via
COGZD1.
- fine / z-chiudi: chiude e cancella il transito di griglia, distrugge il menu,
z-99-exit-program.
File e tabelle
| Tabella |
Accesso |
Descrizione |
LODCMASI (lci-) |
Lettura/riscrittura (chiavi chia2, chia5) |
Impegni di produzione del sottoarticolo: reparto (lci-reparto), data impegno, flag evaso/cancellato, impegno (minuti/elementi) |
LODCMASV (lcv-) |
Lettura/riscrittura (chiavi chia4, chia7) |
Sottoarticolo di commessa: priorita', sequenza, reparto/sottoreparto, flag evaso |
LODPRESC (lpm-) |
Lettura (chiave chia4, con lock in scrittura) |
Prescrizione/commessa: cliente (lpm-med), dottore, paziente |
LODCMTES (lct-) |
Lettura |
Testata commessa: cassetta |
LODCMAG2 (lc2-) |
Lettura/scrittura/riscrittura |
Dati aggiuntivi commessa: data/ora arrivo, flag esportazione B.I. |
LODIMPMD (irsp-) |
Lettura |
Impegno reparto per periodo (capacita' massima valida alla data) |
LODIMPRS (irs-) |
Lettura |
Impegno massimo reparto/sottoreparto (fallback capacita') |
COGTABEL (euta-) |
Lettura |
Descrizione reparto (tipo 85) e modo di evasione reparto |
LODTABEL (lta-) |
Lettura |
Descrizione mansione/sottoreparto (tipo 11) e modo di evasione |
COGGEANA (ana-) |
Lettura |
Anagrafica cliente (nome) |
COGMAGAZ (magz-) |
Lettura |
Anagrafica magazzino/sede |
t-grid-det |
File transito di griglia (i-o) |
Righe della griglia (una per impegno) |
Copybook principali
| Copybook |
Ruolo |
cogzdd.select / cogzdd.fd / cogzdd.wrk / cogzdd.tm / cogzdd.prc / cogzdd.decla / cogzdd-01.scr |
Componenti generati da Screen Designer |
cogzdd.imppredf / cogzdd.imppredf-wrk / utilimppredf.cpy |
Filtri predefiniti |
wgrid.cpy, utilgdad.cpy |
Infrastruttura griglia + GRIDADMN |
k-personal.cpy |
Costanti di personalizzazione azienda |
utils52.cpy, utils93.cpy, utilu20.cpy, utilw80.cpy |
Interfacce utility di maschera / aiuto |
utilncnf.cpy |
Lettura configurazioni |
utilcogzsc.cpy, utilcogzda.cpy, utilz40.cpy, utilz50.cpy, utilzd1.cpy |
Linkage dei programmi di evasione/accettazione/progettazione |
utilcogzdd.cpy |
Linkage di chiamata (operatore, reparto) |
lodpresc.k04, lodcmasv.k04, lodcmasv.k07, lodcmasi.k02, lodcmasi.k05 |
Chiavi secondarie |
wstato, wopenf, wgrave, wnscr, cogazien |
Working storage standard + dati azienda |
grave, mmmask, opengen, stato, stato1, winmsg, sendw80 |
Copybook di fine procedure |
Programmi chiamati
| Programma |
Interfaccia |
Scopo |
COGZSC |
utilcogzsc.cpy (util-cogzsc) |
Avanzamento dell'azione in evasione diretta (cogzsc-ope = "EVASIONE") |
COGZ40 |
utilz40.cpy (z40-called) |
Accettazione (modo evasione "B") |
COGZDA |
utilcogzda.cpy (cogzda-*) |
Macro-progettazione (modo evasione "C") |
COGZD1 |
utilzd1.cpy (zd1-called) |
Preparazione commessa / progettazione (modo evasione "D") |
COGZ50 |
utilz50.cpy (z50-called) |
Visualizzazione stato commessa (F5) |
GRIDADMN |
utilgdad.cpy |
Personalizzazione/gestione griglia |
RNEWCONF |
utilncnf.cpy |
Lettura configurazioni |
COGW80 (via send-w80) |
utilw80.cpy |
Aiuto reparto (tipo 85) |
Configurazioni (RNEWCONF)
| Gruppo |
Chiave |
Uso |
ABILITA |
LABOD-PROGETTAZIONE |
Modalita' progettazione (tm-cfg-modalita-prog) |
labprepara |
cogzdd-tempo-refresh (sudd. per reparto) |
Intervallo di auto-refresh della lista in secondi (tm-cfg-refresh) |
Note
- La lista si auto-ricarica: se scade il tempo (
f-tempo-scaduto) il programma memorizza la riga corrente in tm-id-restart e rilegge i dati, ripristinando poi la posizione.
- Il "modo di evasione" (
tm-r-modo-eva) e' letto dalla mansione (LODTABEL tipo 11, lta-11-modo-evasione); se assente si usa quello del reparto (euta-rp-modo-evasione). Determina quale flusso di evasione applicare alla riga selezionata.
- L'evasione diretta aggiorna in cascata l'impegno (
LODCMASI), il sottoarticolo (LODCMASV, quando tutti gli impegni sono evasi) e il flag di esportazione B.I. (LODCMAG2).