Vai al contenuto

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.

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.cpy
  • cogt53.select, cogt53.fd, cogt53.wrk
  • cogt53-01.scr, cogt53.decla, cogt53.prc
  • k-u10.cpy

Working-storage standard

  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy

Utilita'

  • wgrid.cpy, utilgdad.cpy, utilncnf.cpy
  • utils25.cpy, utils52.cpy, utils68.cpy
  • utilu10.cpy, utilu11.cpy, utilu12.cpy, utilu20.cpy
  • utildlg.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

  1. apri: lettura configurazioni (x99-confi) per causale, codici merce latte e prodotti (in tm-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).
  2. a4: pulisce le due griglie, propone il dialog di scelta operazione.
  3. a-inizio + a-acc: dialog con DIALOGS:
  4. F5 -> Inserimento (a-ope = "I")
  5. F6 -> Modifica/Cancellazione (a-ope = "M")
  6. ESC -> Fine
  7. a-ok: imposta intestazione documento (magazzino principale, anno corrente, tipo "P"); in inserimento propone data odierna.
  8. Accept testata: anno, tipo, bolla (a-tm-bolla3 in modifica), data.
  9. Validazione data >= data consolidato (data-consolidato da COGTABEL tipo 57).
  10. Griglie: accept righe trasformati e righe ricavati, con validazione lotti, matricole (serie+numero) e quantita'.
  11. F3 conferma: validazione complessiva, generazione movimenti tramite COGU11/COGU12, scrittura testata COGTESBO.
  12. 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-* e x-ctr-color-* per validare il valore al cambio di focus.
  • fl-esc-agg traccia presenza di modifiche per gestire conferma in uscita.
  • dt-cons rappresenta 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.