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 sulmse-commessa/lmse-lmt-prs-id; se trova materiali generici impostatm-r-mat-gen (i) = "S"e travasa i materiali nel transitocogtrans2. - Aggiornamento (paragrafo
aggiorna-matgen): elimina da LODMATSE i materiali della prestazione e reinserisce quelli selezionati (trs2-sel = "S") dal transitocogtrans2, rinumerandolmse-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.