Vai al contenuto

COGO05W - Riapertura ordine chiuso: consegne e BDP orfani

Campo Valore
ID ClickUp 869cknur6
Data segnalazione 2026-03-17
Data risoluzione 2026-03-25
Programmi coinvolti COGO05W, COGO16CW, COGU13, COGS17N
Impatto Alto

Sintomo

Dopo la modifica di un ordine cliente gia' completamente evaso, i buoni di prelievo (BDP) risultano collegati a una consegna inesistente. L'ordine appare come non evaso nonostante il DDT sia gia' stato emesso.

Condizioni per il verificarsi

  1. Ordine cliente completamente evaso (tutte le righe con qtacons = qtaord)
  2. Ordine chiuso dalla quadratura automatica (COGU13 imposta tor-chiu = "C")
  3. Configurazione con consegne automatiche attiva (tm-cfg-cons-aut = "S" o tm-cfg-tipo-ord = "C")
  4. L'utente riapre l'ordine e aggiunge nuove righe

Causa

In COGO05W, il flag tm-chiu viene caricato da tor-chiu all'apertura dell'ordine e non viene ricalcolato quando vengono aggiunte nuove righe. All'aggiornamento (riga ~14212) il flag "C" viene riscritto su tor-chiu tale e quale.

La procedura tratta-consegne che segue:

  1. canc-consegne: cancella tutte le consegne esistenti tramite COGS17N (incluse quelle con BDP agganciati)
  2. ins-consegne: chiama COGO16CW con operazione "ins-auto"
  3. COGO16CW rilegge COGTESOR, trova tor-chiu = "C", stampa "Ordine chiuso" e esce senza ricreare le consegne

Risultato: tutte le consegne cancellate, nessuna ricreata. I BDP restano agganciati a chiavi consegna inesistenti.

Al rientro successivo, l'utente forza la ricreazione (F3) e COGO16CW genera consegne con un nuovo numero (es. 002342 anziche' 002190), scollegando definitivamente i BDP.

Sequenza dal log

Ora Azione Effetto
15:14:23 Prima modifica: cancella 2 righe, varia le altre tratta-consegne ricrea consegne 002190 - OK
15:14:40 COGU13 quadratura Imposta tor-chiu = "C" (righe rimaste tutte evase)
15:15:53 Terza modifica: aggiunge 4 nuove righe tratta-consegne cancella 002190, COGO16CW "Ordine chiuso" - 0 consegne
15:17:03 Quarta modifica: cancella 2 righe, conferma COGO16CW crea consegne con numero 002342 - BDP orfani

Correzione

In COGO05W, prima della chiamata a tratta-consegne: se tor-chiu = "C", riaprire l'ordine (tor-chiu = spaces) e riscrivere COGTESOR. In questo modo COGO16CW non trova piu' l'ordine chiuso e ricrea correttamente le consegne preservando il numero originale.

Riconciliazione — PATCH01

Creato il programma PATCH01 (utility patch correttive) per riconciliare i BDP orfani gia' presenti nel sistema. L'operazione "A" (Legame BDP-consegna) opera con due percorsi:

  1. Percorso via DDT (primario): ricostruisce la consegna seguendo la catena COGGENER "BB" → testata DDT → COGLEGCM "CM" → ordine → COGCONOR
  2. Percorso fallback: scan COGCONOR per mag+anno+tipo, con match esatto su merce, quantita', cliente (da COGTESOR), consegna non evasa (cor-qtacons = 0), non coperta da altri BDP. Accetta solo match unico

Risultato: su circa 10.000 righe BDP, 120 risultano orfane. La maggior parte relativa a BDP incorporati in DDT successivamente cancellati (skip automatico). I casi residui effettivamente riconciliati sono limitati.

Note

Programma COGO05W rilasciato a DEA, da rilasciare a BM.