Vai al contenuto

COGZDA -- Macro-progettazione commessa (laboratorio odontotecnico)

Sorgente: cbl/cogzda.cbl | Tipo: Programma interattivo a doppia griglia (Articoli + Sottoprodotti) | Program-ID: COGZDA

Menu: Lab.Odont. > Operativo > Varie [Macro-progettazione]


Scopo

COGZDA e' lo strumento di macro-progettazione (pre-progettazione ad alto livello) di una commessa di laboratorio odontotecnico. Consente, prima della progettazione di dettaglio, di definire per la commessa:

  • gli articoli/prestazioni richiesti (griglia "Articoli", tabella LODCMART), ciascuno collegato a un tipo di impianto/dispositivo;
  • i sottoprodotti che compongono ciascun articolo (griglia "Sottoprodotti", tabelle LODCMASV e LODCMASI), esplosi automaticamente a partire dai piani di fabbricazione.

L'operatore seleziona la commessa (studio/paziente o numero) tramite COGS98W, poi lavora su due griglie GRIDADMN: nella prima aggiunge/modifica/elimina articoli e ne lancia (F1) l'esplosione dei sottoprodotti; nella seconda gestisce i sottoprodotti risultanti (sequenza, reparto/sottoreparto, impegno, priorita', quantita', evasione). Alla conferma (F3), l'aggiornamento riscrive le tre tabelle di dettaglio e marca la commessa come pre-progettata.

Puo' essere richiamato come sottoprogramma (cogzda-called = "COGZDA", linkage utilcogzda.cpy) con la commessa gia' impostata dal chiamante (es. da COGZ50, voce "Pre-progettazione").

Interfaccia (linkage)

util-cogzda (utilcogzda.cpy): quando cogzda-called = "COGZDA", il programma carica direttamente la commessa passata in cogzda-commessa (con l'operazione cogzda-ope), salta la selezione e va su a-avanti-2. In modalita' richiamata l'uscita torna sempre al chiamante (w-dc-called = "S").

File e tabelle principali

File/Tabella Copybook Uso
FEURTAB cogfiles.cpy Parametri generali azienda (rd-azi)
LODPRESC cogzda.select (lodpresc.fd, lpm-rec) + lodpresc.k04 Prescrizione/commessa: stato (lpm-stato), scadenza (lpm-data-cns/lpm-ora-cns), tipo dispositivo (lpm-tip-dsp); lettura per numero via rd-lodpresc-chia4
LODCMTES cogzda.select (lodcmtes.fd, lct-rec) Testata commessa: piano (lct-piano), modalita' progettazione (lct-modo), blocco amministrativo (lct-att-amm)
LODCMAGG cogzda.select (lodcmagg.fd, lcg-rec) Dati aggiuntivi: flag pre-progettazione eseguita (lcg-fl-fase-pre-prog), priorita' (lcg-priorita)
LODCMART cogzda.select (lodcmart.fd, lca-rec) Articoli della commessa: articolo, quantita', denti, provenienza, flag cancellazione (lca-fl-canc); chiave lca-commessa/lca-prog
LODCMASV cogzda.select (lodcmasv.fd, lcv-rec) + lodcmasv.k03 Sottoprodotti/sub-lavorazioni della commessa: piano (lcv-pdr-*), sequenza, reparto/sottoreparto, impegno, priorita', evasione
LODCMASI cogzda.select (lodcmasi.fd, lci-rec) Impegni/istanze dei sottoprodotti (reparto, data impegno, evaso): scritto in parallelo a LODCMASV
LODPDFPR cogzda.select (lodpdfpr.fd, pdr-rec) + lodpdfpr.k04 Prestazioni del piano di fabbricazione: impegno standard, reparto/sottoreparto, descrizione (via rd-lodpdfpr-chia4)
COGANRAG cogzda.select (coganrag.fd, arag-rec) Anagrafica raggruppamenti: risalita dal codice articolo al tipo impianto/dispositivo padre (arag-id-padre), classe/categoria configurata, tipo "M"
COGMERCI cogzda.select (cogmerci.fd, mer-rec) Merci: controllo che l'articolo sia codificato e sia una prestazione (mer-classe = "S")
COGGEANA cogzda.select (coggeana.fd, ana-rec) Anagrafica cliente/studio: ragione sociale
COGTABEL cogzda.select (cogtabel.fd, euta-rec, tipo 85) Descrizione reparto (euta-rp-des)
LODTABEL cogzda.select (lodtabel.fd, lta-rec, tipo 11) Descrizione sottoreparto
t-tm-tab2 / t-tm-tab3 cogzda.select (transito, t-gor-g2-* / t-gor-g3-*) Tabelle di transito indicizzate per le due griglie (Articoli / Sottoprodotti)

Programmi chiamati

Programma Innesco Ruolo
COGS98W z-s98-tm-presc Selezione/validazione commessa (studio/paziente/numero), con aiuto F8 e ricerca F5
COGZSB griglia Articoli, F1 (RICERCA) Ricerca del piano di fabbricazione (PDF) associato a cliente + tipo dispositivo (cogzsb-o-pdf)
COGZDB griglia Articoli, F1 Elenco dei sottoprodotti del piano di fabbricazione (cogzdb-tab-sottoprod), esploso poi in x3-esplodi-sottoprod
GRIDADMN z-gridadmn-prepara-*, S-F4, esporta Preparazione, personalizzazione ed esportazione Excel delle due griglie
COGU10W get-divisa-conto Divisa di conto (u10-divisa-dato -> w-currency-conto)
RNEWCONF x99-load-config Lettura dei parametri di configurazione

Flusso principale

  1. apri -- init, apertura file, x99-load-config, creazione delle tabelle di transito delle due griglie, lettura divisa di conto, creazione pulsanti custom e preparazione delle griglie. Se richiamato (cogzda-called), memorizza commessa e operazione.
  2. a4 -- reset maschera e ricreazione/riordino delle tabelle di transito; se richiamato con commessa, carica LODPRESC/LODCMTES, controlla blocco amministrativo e stato (rifiuta commesse completate "C" o evase "E") e salta a a-avanti-2.
  3. a-tm-cli -- accept commessa via COGS98W (in modalita' interattiva); controlli su blocco amministrativo e stato commessa.
  4. a-avanti-2 / a-fine-chiave-ins -- imposta data/ora scadenza e carica le due griglie (carica-dati -> carica-griglia-2 articoli, carica-griglia-3 sottoprodotti).
  5. a-accept-grid2 (Articoli) -- gestione interattiva: Ctrl+A aggiunge una riga (assegna progressivo riga lca-prog), Ctrl+E elimina, F1 esplode i sottoprodotti (COGZSB -> COGZDB -> x3-esplodi-sottoprod), S-F4 personalizza griglia, S-F5 esporta Excel, F3 conferma.
  6. x3-esplodi-sottoprod -- per ogni sottoprodotto del piano crea una riga di transito nella griglia "Sottoprodotti" con progressivo/sequenza, legame all'articolo padre (t-gor-g3-lca-prog), reparto/sottoreparto e descrizioni, impegno = impegno-prestazione * quantita' articolo, priorita' dalla commessa.
  7. a-accept-grid3 (Sottoprodotti) -- gestione interattiva analoga: F1 ricarica per riordino sequenza, Ctrl+E elimina (se non gia' progettato), F3 conferma; le celle sono bloccate per righe gia' evase.
  8. b-aggiorna (F3) -- riscrive le tabelle di dettaglio confrontando il transito con gli archivi:
  9. b1-aggiorna-art -> LODCMART (insert/update/cancellazione logica lca-fl-canc = "C");
  10. b2-aggiorna-spr -> LODCMASV + LODCMASI (insert/update/cancellazione, con impegno/reparto/priorita'/qta sottoart);
  11. imposta lct-modo = "C" (progettazione a componenti) se ci sono sottoprodotti, marca lcg-fl-fase-pre-prog = "S", e valorizza il tipo dispositivo della prescrizione (lpm-tip-dsp) risalendo da COGANRAG l'articolo non fotografico.

Configurazione (RNEWCONF)

Pacchetto C, caricato in x99-load-config:

Gruppo Chiave Variabile Effetto
odonto classe-categoria tm-cfg-classe-categoria Classe di raggruppamento COGANRAG per risalire al tipo impianto dell'articolo
ABILITA LABOD-PROGETTAZIONE tm-cfg-modalita-prog Modalita' progettazione
labprepara check-pulsante-articolo (occurs 1..7) tm-cfg-check-merce-b1..b7 Articoli di "check fotografico" da escludere dall'assegnazione tipo dispositivo
odonto gestione-multi-sede tm-cfg-multisede Gestione multisede

Note

  • L'esplosione dei sottoprodotti si basa sul piano di fabbricazione (PDF) restituito da COGZSB per cliente + tipo dispositivo; se COGZSB non restituisce un PDF, viene usato quello di COGZDB.
  • Cancellazioni bloccate: un articolo con provenienza "W" (Odontoconnect) o con sottoprodotti gia' selezionati (tm-g2-proge = "S") non e' cancellabile; un sottoprodotto gia' progettato (tm-g3-proget = "S") non e' cancellabile.
  • La cancellazione e' logica (lca-fl-canc/lcv-fl-canc/lci-fl-canc = "C"), non fisica.
  • Le griglie usano tabelle di transito indicizzate (t-tm-tab2, t-tm-tab3) create per sessione; il pattern di aggiornamento confronta i record di transito con quelli su archivio per decidere insert/update/delete.
  • Le chiavi secondarie lodpresc.k04, lodcmasv.k03, lodpdfpr.k04 sono incluse manualmente in coda alla procedure division (non generate da Screens).
  • Copybook di interfaccia inclusi: utilcogzdb.cpy, utilcogzsb.cpy, wgrid.cpy, utilgdad.cpy, utilu10.cpy, utilu20.cpy, utils52.cpy, utils68.cpy, utils93.cpy, utils98.cpy, utilgesstr.cpy, utildlg.cpy, utilncnf.cpy. Programma standalone (mmmask.cpy).

Documentazione tecnica -- 2026-08-05