Vai al contenuto

COGR19 - Utility ricostruzione ordini

Campo Valore
Sorgente cbl/cogr19.cbl
Tipo Programma interattivo (maschera) + modalita' batch su singolo ordine
Posizione menu Sistema > Archivi > Ricostruzioni > Quantita' Evasa Ordini

Scopo

Utility multifunzione per la gestione e ricostruzione di dati relativi agli ordini cliente. Offre otto modalita' operative (R, S, O, C, M, P, L, K) per riallineare quantita' evase, riaprire ordini/consegne, pulire i legami orfani e applicare chiusure manuali.

Dal 09/06/2026 (TASK-5282) e' disponibile anche una modalita' di invocazione automatica come sottoprogramma per ricostruire la quantita' evasa di un singolo ordine, usata da COGV50W quando si modificano o cancellano righe DDT collegate ad ordini.

File e tabelle

File/Tabella Tipo Descrizione
FEURTAB Input Parametri azienda
COGTESOR I-O Testata ordini
COGRIGOR I-O Righe ordine
COGCONOR I-O Consegne ordine
COGMOMAG I-O Movimenti di magazzino (per legame)
COGLEGCM I-O Legame ordine/consegna/movimento
COGTORAG I-O Dati aggiuntivi ordine (con chiave .k01-agg)

Copybook principali

Copybook Descrizione
cogr19.wrk / .select / .fd / .prc / .decla Screen Designer
utilcogr19.cpy Interfaccia di invocazione automatica (operazione + chiave ordine)
u-copiaf.cpy Utility copia file
wcont.cpy / wcont1.cpy Contesto del programma

Modalita' di invocazione

Modalita' interattiva (default)

Apertura standard dal menu: l'utente sceglie l'opzione (R, S, O, C, M, P, L, K) e fornisce il numero ordine/consegna se richiesto. Il flusso e' descritto nella pagina utente.

Modalita' batch su singolo ordine (TASK-5282, 2026-06-09)

Quando il chiamante valorizza il blocco util-cogr19 (copybook utilcogr19.cpy) con:

move "RIC-ORDI"       to u-cogr19-ope
move <tipo>           to u-cogr19-tor-tipo
move <anno>           to u-cogr19-tor-anno
move <numero>         to u-cogr19-tor-numero
move <progr>          to u-cogr19-tor-progr

la procedura di inizializzazione (subito dopo x99-confi) intercetta l'operazione "RIC-ORDI", valorizza tm-tip-ela = "S", tm-ord-* con la chiave passata e:

  1. Legge COGTESOR con tor-chia = tm-ord; se non trova l'ordine esce silenziosamente.
  2. Esegue ricostruzione-qta-evasa-single (la stessa routine usata dall'opzione "S - Ric. Qta Evasa X Singolo ordine").
  3. Esce immediatamente (go to fine).

L'utente non vede alcuna maschera: l'invocazione e' silenziosa e adatta all'uso come sub-step da un altro programma.

Modifiche strutturali (build 2026-06-09)

  • utilcogr19.cpy: nuovo copybook per il contratto di invocazione automatica (campo u-cogr19-ope con valore "RIC-ORDI" e blocco chiave ordine).
  • open output err-file: spostato dalla sezione a1 alla sezione di inizio elaborazione, in modo che anche le invocazioni "RIC-ORDI" (che non passano da a1) abbiano il file di log aperto.
  • Counter e current-key: aggiunte variabili cogmomag-record-count, coglegcm-record-count, cogtorag-record-count e relative chiavi correnti (generate dallo Screen Designer).
  • Copybook k01-agg: aggiunto coglegcm.k01-agg.

Programmi chiamanti

Programma Modalita' Scopo
(menu) Interattiva Lancio diretto dall'operatore
COGV50W "RIC-ORDI" Ricostruzione qta evasa a chiusura DDT quando si modificano/cancellano righe collegate a ordini

Storico

Build Descrizione
2026/0609 TASK-5282: introdotta modalita' batch di invocazione "RIC-ORDI" tramite utilcogr19.cpy. Spostata open output err-file all'inizio. Aggiunti coglegcm.k01-agg e counter generati da Screens

Casistica problemi noti

CS MED - Ordine collegato a bolla modificata: qta consegnata "sporca"

  • Sintomo: dopo aver evaso un ordine con DDT e aver poi modificato il DDT (riduzione quantita' di riga o cancellazione di righe), rientrando in modifica dell'ordine compariva il blocco "La quantita' indicata e' inferiore alla quantita' gia' consegnata in bolla o in buoni di prelievo".
  • Causa: la quantita' evasa memorizzata sulla riga ordine/consegna non veniva ricostruita a fronte della modifica del DDT collegato, restando al valore originario piu' alto di quello effettivamente consegnato.
  • Correzione: COGR19, finora solo interattivo (menu Sistema -> Archivi -> Ricostruzione -> Ricostruzione singolo ordine), e' stato reso richiamabile da altro programma tramite il copybook di contratto utilcogr19.cpy, con operazione "RIC-ORDI" e la chiave dell'ordine. In questa modalita' batch ricalcola la quantita' evasa del singolo ordine indicato. Viene innescato da COGV50W a fronte di modifiche al DDT (TASK-5282).
  • Riferimento: dettaglio bug - ClickUp.