Vai al contenuto

COGZ46 — Gestione materiali/prestazioni su riga piano di fabbricazione

Descrizione

Programma di gestione dei materiali e delle prestazioni collegati a una riga del piano di fabbricazione (commessa di laboratorio odontotecnico). E' la versione STANDARD della funzione e agisce direttamente sull'archivio LODPNMAT.

Puo' funzionare sia come programma interattivo (maschera con griglia dei materiali/prestazioni) sia come subroutine: in modalita' z46-modalita = "A" viene richiamato da altri moduli per elaborare i materiali senza interfaccia utente.

Modalita' di chiamata

Parametro (linkage) Valore Significato
z46-modalita "A" Esecuzione come subroutine (senza maschera)
z46-tip-ela "P" Elaborazione di tipo prestazione
z46-piano-cod commessa Codice del piano di fabbricazione / commessa in lavorazione

Internamente il codice commessa di lavoro e' tm-com (vedi Materiali generici per prestazione).

File di transito

Il programma appoggia l'elaborazione su due file indicizzati temporanei:

File Nome fisico Copybook Scopo
cogtrans (trs-rec) w-nome-trs dichiarato nel sorgente Merci/righe in lavorazione
cogtrans2 (trs2-rec) w-nome-trs2 dichiarato nel sorgente Materiali generici selezionati per prestazione (trs2-lmt-prs-id, trs2-prest, trs2-cod-info, trs2-merce, trs2-lotto, trs2-sel, trs2-prog)

I file di transito temporanei (TRAN-S26-style) non sono gestibili da Screen Designer e sono dichiarati manualmente nel sorgente (SELECT/FD).

Materiali generici per prestazione

Introdotta con TASK-1245 (2026-03-03), la funzione gestisce i materiali generici associati a una prestazione tramite l'archivio LODMATSE.

La chiave di LODMATSE e':

       03 lmse-commessa      pic 9(10).
       03 lmse-lmt-prs-id    pic 9(04).

L'attivazione avviene quando z46-tip-ela = "P", mer-classe = "S" e la configurazione ODONTO / modo-materiali-allegati vale "A".

  • Lettura (paragrafo di caricamento griglia a1-15): per ogni prestazione (lmt-prs-id) scandisce LODMATSE filtrando su lmse-commessa/lmse-lmt-prs-id; se trova materiali generici imposta tm-r-mat-gen (i) = "S" e travasa i materiali nel transito cogtrans2.
  • Aggiornamento (paragrafo aggiorna-matgen): elimina da LODMATSE i materiali della prestazione e reinserisce quelli selezionati (trs2-sel = "S") dal transito cogtrans2, rinumerando lmse-prog.

Controllo compatibilita' classe merce

Quando si inserisce una merce/prestazione il programma verifica che la classe della merce (mer-classe) sia compatibile con il tipo di elaborazione richiesto: se il controllo non e' superato (w-ok-classe not = "S") viene mostrato il messaggio bloccante "Classe della merce non compatibile ..." e l'inserimento e' rifiutato. Il controllo e' presente in due punti del sorgente (inserimento da maschera e ramo di chiamata x-f3).

La configurazione ODONTO / cogz46-controllo-su-classe-merce permette di disabilitare questo controllo: se vale "N" (valore di default) il controllo di compatibilita' classe/elaborazione non viene eseguito (w-ok-classe viene forzato a "S"); con "S" il controllo e' attivo. La chiave e' letta in x99-confi tramite RNEWCONF (gruppo odonto, chiave cogz46-controllo-su-classe-merce) nel campo tm-cfg-controllo-su-classe-merce.

Storico modifiche

2026-07-06 - TASK-5453: configurazione per disattivare il controllo classe merce

Aggiunta la configurazione ODONTO cogz46-controllo-su-classe-merce (letta in x99-confi, campo tm-cfg-controllo-su-classe-merce). In entrambi i punti in cui si valuta la compatibilita' tra classe merce e tipo elaborazione, se la configurazione vale "N" il controllo viene saltato forzando w-ok-classe = "S"; il messaggio bloccante "Classe della merce non compatibile" non viene piu' emesso. Il valore di default "N" mantiene il controllo disattivato per chi non lo richiede espressamente. Il numero di chiavi lette da RNEWCONF in x99-confi passa da 4 a 5 (ncnf-pnt = 05).

2026-03 - TASK-1245: chiave commessa di LODMATSE allineata a tm-com

Correzione della chiave lmse-commessa usata per leggere e aggiornare l'archivio LODMATSE dei materiali generici. In precedenza la commessa veniva ricavata dai primi 10 caratteri del codice piano di fabbricazione (lmt-piano-cod (1:10) nel caricamento, z46-piano-cod (1:10) nell'aggiornamento). Questi valori potevano non coincidere con la commessa effettivamente in lavorazione, con il rischio di non ritrovare i materiali generici gia' salvati o di scriverli sotto una chiave errata.

Tutte le operazioni su LODMATSE (st-lodmatse-notmin, confronti di rottura chiave, wr-lodmatse/rwr-lodmatse) usano ora tm-com come lmse-commessa, in coerenza con il resto dell'elaborazione:

       initialize lmse-rec
       move tm-com             to lmse-commessa
       move lmt-prs-id         to lmse-lmt-prs-id
       perform st-lodmatse-notmin

File e tabelle principali

Archivio Accesso Scopo
LODPNMAT Lettura/Scrittura Materiali/prestazioni della riga piano di fabbricazione (archivio principale)
LODMATSE Lettura/Scrittura/Cancellazione Materiali generici selezionati per prestazione (chiave commessa + id prestazione)
FEURTAB Lettura Parametri euristici
cogtrans / cogtrans2 Transito File temporanei di lavoro (vedi sopra)

Note

  • Programma della famiglia di gestione laboratorio odontotecnico; interagisce con il transito gestito insieme a COGZBB (che carica nel transito le merci dell'informazione destinate a COGZ46).
  • La chiave secondaria di LODMATSE, se necessaria, va inclusa manualmente (copy "lodmatse.k02".); il generatore di Screens include automaticamente solo la chiave primaria .k01.