Vai al contenuto

COGG69 -- Importazione bdp

Sorgente: cbl/cogg69.cbl | Tipo: Programma selettore (dispatcher) | Program-ID: COGG69

Menu: - Magazzino > Uscite > Evasione vendite > Importazione bdp


Scopo

Dispatcher per l'evasione buoni di prelievo da terminalino. Seleziona e richiama la versione personalizzata del programma (COGG69xx, dove xx = az-personal) o, in assenza, la versione standard COGG69NO.


File e tabelle

Nessun file proprio. Usa solo le copybook standard per accesso ai dati azienda.

Programmi chiamati

Programma Scopo
COGG69xx Versione personalizzata (xx = az-personal dell'azienda)
COGG69NO Versione standard (fallback)

Copybook principali

  • wgrave.cpy, wstato.cpy, wopenf.cpy -- standard
  • wscree.cpy -- gestione screen
  • cogazien.cpy -- dati azienda (az-personal)
  • wcont.cpy, wcont1.cpy -- linkage standard
  • stato.cpy, msend.cpy, grave.cpy -- procedure standard

Struttura del programma

Flusso principale

  1. a000: lettura az-personal dall'area azienda
  2. Se az-personal non e' vuoto: compone "COGG69" + az-personal e tenta la call
  3. Se la call va in overflow (programma non trovato): passa a versione standard
  4. a05-standard: chiama "COGG69NO"
  5. a10-cancel: cancel del programma chiamato e uscita

Note implementative

  • Programma molto semplice (72 righe), senza file section ne' screen section.
  • Il pattern dispatcher con az-personal e' comune nel gestionale per supportare personalizzazioni cliente-specifiche.

Varianti

Variante Descrizione
COGG69NO Versione standard
COGG69HT Versione personalizzata (gestione commesse con lotti e assemblaggio COGG77)

Storico modifiche

2026-04-04 — COGG69HT: correzione assegnazione lotti in assemblaggio

Nel paragrafo x212-cerca-commesse-collegate corretto il recupero dei dati lotto dopo l'associazione della commessa collegata: i campi tm-ll-merce, tm-ll-prog, tm-ll-mag e tm-ll-lotto ora vengono valorizzati dai campi correnti della riga di prelievo.

Nel paragrafo di caricamento dati nella tabella di transito, corretta l'assegnazione dei campi lotto e commessa: ora usa i valori x212-mlt-prog, x212-mlt-mag, x212-lotto, x212-cla-ann, x212-cla-num (valori corretti per la riga corrente) al posto dei campi trs-g77-* (che potevano contenere dati del ciclo precedente).

2026-06-12 — COGG69HT: chiusura del BDP provvisorio "Packaging" alla creazione del definitivo

Alla creazione del BDP definitivo (al termine della creazione testata, nel paragrafo x3) viene ora invocato il nuovo paragrafo x3-chiudi-provvisorio. Il flusso e' pensato per il caso "1 BDP -> 1 riga -> 1 consegna": chiude l'unico BDP provvisorio "Packaging" agganciato alla stessa riga consegna del definitivo e ne rilascia il prenotato.

  • x3-chiudi-provvisorio: se tm-riga-cons (1) non e' vuota, scorre cogrigbp per chiave consegna (rbp-consegna, chiave chia4 -- st-cogrigbp-notmin-chia4) e individua il primo BDP la cui testata (cogtesbp, tbp-chia1 = rbp-testa) ha tbp-fl-provvisorio = "P" e tbp-fl-cls <> "C" (non gia' chiuso). Memorizza la chiave in pv-bdp-chia e pv-bdp-trovato = "S".
  • x3-chiudi-un-provvisorio: scorre tutte le righe del provvisorio trovato (rbp-testa = pv-bdp-chia), accumula rbp-qta in pv-qta-provv e per ciascuna riga rilascia il prenotato (x3-rilascia-prenotato-riga); poi pone tbp-fl-cls = "C" sulla testata. Se la quantita' del definitivo tm-qta (1) differisce da pv-qta-provv emette un avviso (vbx-msg-warning) con la differenza, altrimenti un messaggio informativo.
  • x3-rilascia-prenotato-riga: chiama COGU12 (util-u12, tipo "P", qta-old = rbp-qta, qta-new = 0, con-gia = "SI", nota "chiudi-provv") per azzerare il prenotato della riga del provvisorio.

Aggiunte working pv-bdp-chia, pv-bdp-trovato, pv-qta-provv.

2026-06-17 — COGG69HT: esclusione dei BDP provvisori dalla ricerca del prenotato

Nel paragrafo x31-cerca-bdp (calcolo della quantita' gia' impegnata da BDP aperti) viene ora scartato anche il BDP la cui testata ha tbp-fl-provvisorio = "P" (oltre a quello gia' chiuso, tbp-fl-cls = "C").

La logica precedente escludeva i BDP sul magazzino logistico, considerati componenti accantonati. Con la revisione del flusso Modula il magazzino logistico non e' piu' usato: l'accantonamento dal packaging avviene tramite BDP provvisorio sul magazzino principale. Di conseguenza la quantita' dei BDP provvisori non deve essere conteggiata nel prenotato per evitare doppie allocazioni.


Documentazione tecnica -- 2026-06-17