COGT53 - Trasformazione Latte¶
Scopo¶
Gestione del documento di trasformazione latte in altri prodotti caseari. Per ciascun documento gestisce due griglie sincronizzate: trasformati (uscita: latte e ingredienti consumati, identificati per lotto) e ricavati (entrata: prodotti finiti, eventualmente matricolati, e siero). Genera i movimenti di magazzino su entrambi i lati e il documento (COGTESBO) di produzione.
Menu¶
Magazzino > Produzione > Produzioni Diverse > Trasformazione latte
File e tabelle¶
| File | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Parametri | File parametri di ambiente |
| COGTESBO | Indicizzato | Testata documento bolla |
| COGTABEL | Indicizzato | Configurazione (tipo 57 per data consolidato; tipo specifico per causale e codici trasformazione) |
| (altre tabelle) | Indicizzati | Lotti, righe bolla, matricole - tramite i moduli chiamati |
Copybook¶
File e select¶
feurtab.fd,cogfiles.cpycogt53.select,cogt53.fd,cogt53.wrkcogt53-01.scr,cogt53.decla,cogt53.prck-u10.cpy
Working-storage standard¶
wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpy
Utilita'¶
wgrid.cpy,utilgdad.cpy,utilncnf.cpyutils25.cpy,utils52.cpy,utils68.cpyutilu10.cpy,utilu11.cpy,utilu12.cpy,utilu20.cpyutildlg.cpy— Dialog di scelta operazione
Linkage¶
wcont.cpy,wcont1.cpy
Procedure¶
grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy
CALL¶
| Programma | Descrizione |
|---|---|
| DIALOGS | Dialog di scelta operazione iniziale (Inserimento / Modifica) |
| GRIDADMN | Amministrazione griglie (trasformati e ricavati) |
| COGV12 / COGV12F | Validazione documento / forzata |
| COGS25 | Subroutine di numerazione documento |
| COGU11 | Utility lotti |
| COGU12 | Utility movimenti (chiamato sia per lato uscita che entrata) |
| RNEWCONF | Lettura configurazioni dinamiche |
Logica di elaborazione¶
apri: lettura configurazioni (x99-confi) per causale, codici merce latte e prodotti (intm-cfg). Setup F-keys (F1, F3, F4, F8, Shift+F4, Ctrl+A/E, Invio-modifica). Pulsante custom F2 "Cambia tabella". Inizializzazione griglie trasformati (tm-tra-merce) e ricavati (tm-ric-merce).a4: pulisce le due griglie, propone il dialog di scelta operazione.a-inizio+a-acc: dialog conDIALOGS:- F5 -> Inserimento (
a-ope = "I") - F6 -> Modifica/Cancellazione (
a-ope = "M") - ESC -> Fine
a-ok: imposta intestazione documento (magazzino principale, anno corrente, tipo "P"); in inserimento propone data odierna.- Accept testata: anno, tipo, bolla (
a-tm-bolla3in modifica), data. - Validazione data >= data consolidato (
data-consolidatodaCOGTABELtipo 57). - Griglie: accept righe trasformati e righe ricavati, con validazione lotti, matricole (serie+numero) e quantita'.
- F3 conferma: validazione complessiva, generazione movimenti tramite
COGU11/COGU12, scrittura testataCOGTESBO. - F4 cancellazione: in modifica, eliminazione del documento e dei movimenti correlati.
Strutture dati principali¶
tab-maschera.tm-righe-tra(occurs 500): righe trasformati con merce, lotto, quantita' e originali (*-or) per gestire diff.tab-maschera.tm-righe-ric(occurs 500): righe ricavati con merce, flag matricola, qta, matricola interna (mtr-ann/num) e serie/numero esterno (sn-serie/sn-num), e copia originale.tm-cfg: causale, codici merce latte e fino a 5 codici prodotto ammessi.
Note tecniche¶
- Programma molto ampio (oltre 3300 righe): la complessita' deriva dalla gestione concomitante di due griglie con lotti, matricole e dalla generazione di movimenti su entrambi i lati.
- Per ogni cella della griglia esistono
x-controlla-*ex-ctr-color-*per validare il valore al cambio di focus. fl-esc-aggtraccia presenza di modifiche per gestire conferma in uscita.dt-consrappresenta la data di consolidamento (anno+mese) sotto la quale non e' possibile inserire/modificare documenti.- L'inserimento e' atomico: la conferma F3 genera tutti i movimenti; un errore intermedio annulla l'intera operazione.