Vai al contenuto

COGF64 -- Scheda Ordini Distribuzione

Sorgente: cbl/cogf64.cbl | Tipo: Programma interattivo a griglia con filtri | Program-ID: COGF64

Menu:

  • Ordini > Clienti > Visualizzazioni > Scheda Ordini Distribuzione

Scopo

COGF64 e' il programma principale di visualizzazione e gestione degli ordini di distribuzione (ordini cliente). Presenta una maschera di filtro e una griglia interattiva che mostra le consegne degli ordini aperti, con informazioni su quantita', importi, disponibilita', buoni di prelievo collegati, stato di evasione e note operative.

Il programma consente di:

  • Ricercare le consegne per cliente, intervallo date (ordine o consegna), agente, tipo documento (ordini, pre-ordini, pre-preventivi), merce, destinazione, canale di spedizione, zona
  • Visualizzare il dettaglio di ogni consegna: quantita' ordinate, consegnate, residue, giacenze, disponibilita', importi
  • Creare buoni di prelievo (BDP) direttamente dalla griglia, con invio automatico a Modula se configurato
  • Emettere bolle (fatturazione) a partire dalle consegne selezionate
  • Stampare packing list (singola, raggruppata, per tutti gli ordini)
  • Bloccare/sbloccare ordini (blocco amministrativo, produzione, magazzino)
  • Chiudere ordini manualmente (S-F6)
  • Sdoppiare righe parzialmente consolidate
  • Consultare giacenze, dettaglio ordine, situazione produzione, note operative, filiera documento
  • Marcare righe come "riconsegnate" (collegamento registro ISIR)

Puo' funzionare sia in modalita' autonoma (da menu) sia come programma richiamato (CALLED) per operazioni di "Completa Carico" o "Accantonamento Versamento".


Interfaccia utente

Maschera di filtro (tab-maschera)

Campo Variabile Descrizione
Da data tm-data-da Data inizio periodo (ordine o consegna)
A data tm-data-a Data fine periodo
Tipo periodo tm-tipo-periodo C = Data consegna, O = Data ordine
Tipo documento tm-tp-ord / tm-tp-pre-ord / tm-tp-pre-pre S/N per Ordini, Pre-ordini, Pre-preventivi
Bloccati amm. tm-bloccati-amm S = Mostra bloccati amministrativi
Bloccati prod. tm-bloccati-prod S = Mostra bloccati produzione
Cliente tm-cliente Codice cliente (0 = tutti)
Filtro padre tm-fl-cli-padre S = Filtra anche sui figli del cliente padre
Dettaglio merce tm-det-merce S = Una riga per ogni merce/consegna; N = Una riga per consegna
Locazione tm-locazione Locazione magazzino (visibile solo con gestione tablet)
Destinazione tm-dst-idx Indice destinazione (con F8 aiuto)
Escludi dest. tm-fl-dst-esclusa S = Escludi la destinazione selezionata
Agente tm-agente Codice agente (0 = tutti)
Ordini evasi tm-ord-evasi S = Includi anche ordini gia' evasi
Importi tm-fl-imp S = Calcola e visualizza importi
Lavorato tm-fl-lavor T = Tutti, S = Solo lavorati, N = Solo non lavorati
Merce tm-ms-* Filtro su gruppo/sottogruppo/codice merce
Canale sped. tm-canale-sped Canale di spedizione (codice tabella CS); F8 = aiuto (COGB64)
Filtro evasione tm-filtro-eva T = Tutti, E = Solo evasi, N = Solo non evasi
Filtro dispon. tm-filtro-dispon T = Tutti, D = Solo disponibili, N = Solo non disponibili
Filtro RMA tm-filtro-rma T = Tutti, S = Con RMA, N = Senza RMA
Filtro conto ant. tm-filtro-c-ant T = Tutti, S = Con conto anticipi, N = Senza
Filtro addebiti tm-filtro-add S = Solo addebiti, N = Escludi addebiti
Zona tm-filtro-zona Zona anagrafica cliente

Griglia (grid-det)

La griglia visualizza una riga per ogni consegna (o per ogni merce/consegna se dettaglio merce attivo). Le colonne principali includono:

Colonna Variabile Descrizione
Consegna t-gor-r-consegna-ed Riferimento consegna (mag/anno/tipo/numero)
Ordine t-gor-r-ordine-ed Anno/numero/progressivo ordine
Data ordine t-gor-r-data-ord Data decorrenza dell'ordine
Data consegna t-gor-r-data-con Data consegna
Cliente t-gor-r-cli-des Ragione sociale cliente
Destinazione t-gor-r-dst-rag-soc Ragione sociale destinazione
Id dest. t-gor-r-id-dest Codice identificativo destinazione
Merce t-gor-r-merce-cm Codice merce (se dettaglio attivo)
Qta ordine t-gor-r-qta-ord Quantita' ordinata
Qta consegnata t-gor-r-qta-cons Quantita' gia' consegnata
Qta residua t-gor-r-qta-res Quantita' ancora da consegnare
Qta giacenza t-gor-r-qta-gia Giacenza magazzino per la merce
Qta prenotata t-gor-r-qta-pren Quantita' prenotata (da BDP)
Qta ord. forn. t-gor-r-qta-of Quantita' ordinata a fornitore
Qta prep. BDP t-gor-r-qta-prep Quantita' in preparazione (BDP aperti)
Residuo netto t-gor-r-res-netto Residuo ordine meno BDP in preparazione
Qta disponibile t-gor-r-qta-dsp Disponibilita' effettiva (giacenza - prenotate - residui precedenti)
BDP t-gor-r-bdp-ed Buono di prelievo collegato (mag/anno/numero)
Evadibilita' t-gor-r-evad-sint Stato sintetico: Pronto / Totale / Nulla / percentuale
Importo t-gor-r-importo Importo riga (se calcolo importi attivo)
Prezzo lordo t-gor-r-pre-lor Prezzo lordo unitario
Sconti t-gor-r-sco-1, t-gor-r-sco-2 Sconti percentuali
Prezzo netto t-gor-r-pre-net Prezzo netto unitario
Note comm. t-gor-r-no-com-des Note operative commerciali sull'ordine
Note mag. t-gor-r-no-mag-des Note operative di magazzino sull'ordine
Agente t-gor-r-age-des Descrizione agente
Blocchi t-gor-r-blocco-amm, ..prod, ..mag Stato blocco amministrativo/produzione/magazzino
Canale sped. t-gor-r-canale-spe / ..spe-d Codice e descrizione canale di spedizione
Conferma t-gor-r-conferma Numero conferma ordine
Selezione t-gor-r-selezione S/N per selezione multipla (in modalita' dettaglio merce)
Fl. altri t-gor-r-fl-altri "*" se il cliente ha piu' ordini nella selezione
Riconsegnare t-gor-r-riconsegnare S = Riga collegata a registro ISIR da riconsegnare
Flag Modula t-gor-r-fl-modula Presenza merce su Modula
Flag lotti t-gor-r-fl-lot Merce gestita a lotti
Flag SN t-gor-r-fl-sn Merce gestita a serial number

Tasti funzione

Tasto Funzione
F1 Creazione BDP (se pulsante creazione BDP visibile)
F1 Evasione in bolla (se pulsante evasione visibile)
F2 Blocca/sblocca ordine (se gestione blocco attiva)
F2 Giacenze merce (se dettaglio merce attivo, chiama COGV35)
F3 Gestione documento consegna
F5 Dettaglio rimanenza (WIN027)
F6 Note operative ordine
F7 Stampa packing list (COGP86 / COGPA0)
F8 Dettaglio ordine (WIN015)
F9 Situazione produzione (COGQ44)
F10 Stampa packing list (COGP86)
F11 Fatturazione BDP (COGP86/COGPA0 + COGS25)
S-F4 Gestione colonne griglia (GRIDADMN)
S-F5 Export Excel
S-F6 Chiusura ordine (COGO45)
S-F9 Riconsegna riga (aggiorna registro ISIR e BDP)
Invio Selezione/deselezione riga (in modalita' dettaglio merce)
Right-click Menu contestuale (popup)

File e Tabelle

File/Tabella Copybook Uso
COGTESOR cogtesor.fd, .k03 Testata ordini (tabella principale di lettura, chiave 3: tipo+anno)
COGCONOR cogconor.fd, .k02 Conferme/consegne ordine (chiave 2: testata ordine)
COGGEANA coggeana.fd Anagrafica clienti/fornitori
COGTORAG cogtorag.fd Appendice testata ordini (blocchi amm./prod./mag.)
COGSLMAG cogslmag.fd Saldi magazzino (giacenze, prenotate, ordinate)
COGMERCI cogmerci.fd Anagrafica merci (flag Modula, lotti, SN)
COGDESTI cogdesti.fd Destinazioni cliente
COGDEST2 cogdest2.fd Destinazioni avanzate (id destinazione)
COGRORA2 cogrora2.fd Righe ordini avanzate (canale spedizione)
COGTABEL cogtabel.fd Tabelle generiche (CS = canali spedizione)
COGDESCR cogdescr.fd Descrizioni/note operative ordini
COGTESBP cogtesbp.fd Testata buoni di prelievo
COGRIGBP cogrigbp.fd Righe buoni di prelievo
COGTBPAP cogtbpap.fd Appendice BDP (flag Modula, lista collegata)
COGISIRR cogisirr.fd, .k04 Registro ISIR (riconsegne)
COGMERLK cogmerlk.fd Relazioni tra merci (stampo collegato)
COGSTAMP cogstamp.fd Stampi (tipologia)
COGRACMC cogracmc.fd Codice merce avanzato (classificazione addebiti)
COGRACMT cogracmt.fd Movimento codice merce avanzato
COGMERAP cogmerap.fd Dati appoggio merci (descrizione aggiuntiva)
COGMAGAZ cogmagaz.fd Anagrafica magazzini
TRAN-COGD25 tran-cogd25.fd/.cpy File transito dati accantonamento/carico
TRAN-S26 tran-s26.fd/.cpy File transito dati (external)
LODTMDES lodtmdes.fd/.cpy File transito note operative
COGTRANS3 (inline FD) File transito giacenze per locazione
FEURTAB cogfiles.cpy Tabella nomi file gestionale

Programmi chiamati

Programma Scopo
COGM86 Evasione ordine con creazione BDP
COGMA1 Evasione in bolla
COGSA0 Creazione BDP singolo (usato nella creazione diretta)
COGSA5 Cancellazione BDP
COGD27 Conferma evasione BDP
COGD53 Invio lista a Modula via DB Frontiera
COGO45 Chiusura ordine
COGP86 Stampa packing list
COGPA0 Stampa packing list raggruppata
COGQ44 Situazione produzione per merce
COGV35 Visualizzazione giacenze merce
WIN015 Finestra dettaglio ordine
WIN027 Finestra dettaglio rimanenza
COGS25 Selezione/stampa documenti
COGS65W Ricerca cliente/fornitore
COGS68W Ricerca merce strutturata
COGB64 Selezione canale di spedizione
COGF01 Selezione articolo con filtro zona
COGU10 Utility divisione contabile
COGU30 Utility RMA
GRIDADMN Gestore griglia interattiva
WMS002 Selezione locazione magazzino
RNEWCONF Lettura configurazioni
DIALOGS Finestra dialogo con opzioni
COGG16 Utility gestione generici
COGO10 Utility gestione ordini

Copybook principali

  • cogf64.select, cogf64.fd, cogf64.wrk, cogf64.prc, cogf64.decla, cogf64-01.scr -- Definizioni generate da Screens
  • costanti-modula.cpy -- Costanti per operazioni Modula
  • k-personal.cpy -- Costanti personalizzazione per azienda
  • k-tipi-cogtabel.cpy -- Costanti tipi tabella generica
  • cogfiles.cpy -- Record tabella nomi file
  • cogazien.cpy -- Dati azienda
  • utilcogf64.cpy -- Interfaccia linkage per chiamata esterna
  • utilcogsa0.cpy -- Interfaccia per richiamo COGSA0
  • utild53.cpy -- Interfaccia per richiamo COGD53

Logica di Elaborazione

Modalita' di funzionamento

Modalita' Condizione Comportamento
Autonomo Chiamata diretta da menu L'utente compila i filtri e naviga i risultati in griglia
Richiamato (CALLED) cogf64-called = "COGF64" Riceve operazione e documento via linkage; opera in contesto "completa carico" o "accantonamento versamento"

Caricamento dati (b1-write-tran / b13-consegne)

  1. Posiziona su COGTESOR chiave 3 (tipo "C" = ordini clienti)
  2. Per ogni ordine aperto, applica i filtri: periodo (data ordine o consegna), cliente, agente, blocchi, flag lavorato
  3. Per ogni ordine valido, scorre le consegne in COGCONOR (chiave 2):
  4. Se dettaglio merce attivo: una riga per ogni consegna con merce
  5. Se dettaglio merce disattivo: una riga per ogni consegna senza merce (testata)
  6. Applica filtri: ordini evasi, gruppo/sottogruppo merce, canale di spedizione, data consegna
  7. Per ogni consegna valida, compone il record della griglia (a2-aggiorna-cogtrans):
  8. Dati ordine/consegna, cliente, destinazione, agente
  9. Quantita': ordinate, consegnate, residue, giacenze, prenotate, ordinate a fornitore
  10. BDP collegato (cerca per consegna su COGTESBP/COGRIGBP)
  11. Note operative (commerciali e magazzino) da COGDESCR
  12. Importi e prezzi (se richiesto)
  13. Canale di spedizione da COGRORA2
  14. Flag: altri ordini stesso cliente, Modula, lotti, SN, riconsegna ISIR
  15. Seconda passata (b-calcola-qta-dsp): calcola la disponibilita' netta scalando i residui delle righe precedenti per lo stesso articolo

Creazione BDP diretta (c-creazione-bdp-diretta)

Quando configurato (tm-cfg-prg-creazione-bdp = "C"), il programma crea BDP direttamente senza passare per COGM86:

  1. Controlla blocchi e prerequisiti
  2. Scorre il transito griglia ordinato per consegna
  3. Per ogni consegna con quantita' da evadere, crea un BDP tramite COGSA0
  4. Dopo la creazione, se configurato Modula DB Frontiera, invia automaticamente la lista a Modula (c-invia-lista-bdp)

Invio lista a Modula (c-invia-lista-bdp)

Attivo solo se: DB Frontiera abilitato, configurazione BDP merci-lotto = "B", e il BDP e' nel magazzino Modula. Esegue la sequenza DOC-PRECEDENTE / DOC-ATTUALE / DOC-ESEGUI su COGD53.

Creazione BDP con lotti da Modula (c-crea-bdp-con-lotto-modula)

Flusso alternativo alla creazione "con lotto Area" (c-crea-bdp-con-lotto) attivato quando il chiamante passa wo-oper = 777 (flag w-flusso-disp-modula = "S"). In questa modalita' la disponibilita' a lotto viene letta direttamente da Modula (exp_ubicazioni, giacenza fisica), invece che dai lotti Area.

Algoritmo:

  1. Per ogni riga da evadere, chiama DFNM02 con operazione "lotti-disp-prelievo" per la merce e magazzino corrente (vedi DFNM02). DFNM02 restituisce un vettore dfnm02-o-ld-* con i lotti disponibili a Modula, mappati al mlt-prog Area e ordinati per data scadenza (FEFO).
  2. Per ciascun lotto restituito, calcola la disponibilita' al netto dei BDP gia' aperti sul lotto (c-cerca-prenotato-lotto).
  3. Crea un BDP per ciascun lotto con quantita' = min(disponibile lotto, residuo riga), tramite c-crea-bdp.
  4. Invia immediatamente la lista a Modula con c-invia-lista-bdp dopo ogni creazione.
  5. Esce in anticipo se la quantita' richiesta e' stata interamente coperta o se l'invio a Modula viene interrotto.

A regime, questo flusso permette di prelevare lotti effettivamente disponibili a Modula senza dipendere dall'allineamento dei lotti gestionali Area.

La descrizione inviata a Modula ha il formato: BDP: M/AA/NNNNNN ## (C) CLIENTE dove:

  • M = magazzino, AA = anno (2 cifre), NNNNNN = numero BDP
  • ## = delimitatore
  • (C) = prima lettera del canale di spedizione (se presente)
  • CLIENTE = ragione sociale cliente

Eccezione: per GAPI Milano (personalizzazione Artic Seals, cliente 99, destinazione 69) la descrizione cliente viene sostituita con "GAPI MI".

Fatturazione (a6-fattura)

Scorre il file transito, crea una lista di BDP da fatturare e chiama COGP86/COGPA0 per la stampa e COGS25 per la generazione documenti.

Stampa packing list (a7-stampa-packing-list)

Per la personalizzazione Artic Seals offre un dialogo con 4 opzioni: raggruppata (tutte o solo disponibili), singola (ordine selezionato o tutti gli ordini). Per le altre personalizzazioni, stampa singola tramite COGP86.


Configurazioni

Gruppo Parametro Note
ordini cogf64-qta-d Formato quantita' decimali
ordini cogf64-uso-cma Uso codice merce avanzato
ordini cogf64-gestione-negozio Modalita' gestione negozio (evasione diretta)
ordini utenti-sblocco-amm Lista operatori abilitati allo sblocco amministrativo
ordcli gestione-tor-fl-lavorato Attiva filtro per flag "lavorato" sugli ordini
bdp prg-creazione-bdp Programma di creazione BDP: A = standard (COGM86), B = Blutekna, C = Creazione diretta
bdp cogf64-bdp-merci-lotto B = Creazione BDP con merci-lotto (richiede Modula DB Frontiera)
sistmga001 modula-db-frontiera Attiva modalita' DB Frontiera Modula (invio liste)
locazioni gestione-tablet Attiva gestione locazioni con filtro su giacenze locazione
COGO88 cliente-padre Codice cliente padre (per personalizzazione pasticceria)
COGO88 cliente-padre-2 Codice cliente padre 2
cogm85 M88:CAUSALE-PACKING-CONTO-ANTICIPI Causale per conto anticipi su packing list
PRODUZIONE CAU-AVA-PF Causale avanzamento prodotto finito
PRODUZIONE MAG-LOGISTICO Magazzino logistico produzione
sistema richiesta-conferma Abilita richiesta conferma prima delle operazioni

Personalizzazioni

Il programma ha comportamenti differenziati per azienda (az-personal):

Personalizzazione Differenze principali
Pasticceria MO Periodo default = data odierna, ordinamento per data ordine + cliente, evasione in bolla diretta
Hi-Tech Ordinamento per data consegna, esclusione cliente interno, importi disattivati
Artic Seals Dettaglio merce forzato, calcolo disponibilita' con filtro, stampa packing list con opzioni multiple, eccezione GAPI Milano su invio Modula
BM Solution Dettaglio merce forzato, ordinamento per cliente + ordine + riga, calcolo disponibilita'
Gruppo Arena Gestione RMA su consegne

Storico Modifiche

Build Descrizione
2010/0325 Aggiunta chiusura ordine (S-F6, COGO45)
2016/0226 Gestione locazioni tablet con filtro giacenze locazione
2025/0918 Filtro destinazione, filtro canale spedizione
2025/1291 Integrazione Modula DB Frontiera: invio lista dopo creazione BDP
2026/0070 Aggiunta flag lavorato, sdoppiamento righe parzialmente consolidate
2026/0074 Formato descrizione BDP accorciato (anno 2 cifre, delimitatore ##), aggiunto canale nella descrizione, eccezione GAPI Milano
2026/0426 Fix eccezione GAPI Milano: corretto riferimento destinazione da tm-dst-idx a t-gor-r-id-dest e descrizione cliente da tm-cli-des a t-gor-r-cli-des. BDP da accantonamento: aggiunta nota "Packaging" nella testata BDP (tbp-note) e forzatura flag provvisorio a "P". Aggiunta variabile a2-cliente-destinazione pic 9(05) in working storage.
2026/0604 Aggiunto flusso disponibilita' Modula: con chiamata wo-oper = 777 viene attivato w-flusso-disp-modula = "S" e per la creazione BDP con lotti viene usato il nuovo paragrafo c-crea-bdp-con-lotto-modula. Il flusso legge i lotti disponibili a Modula tramite DFNM02 operazione "lotti-disp-prelievo" (FEFO), mappa ciascun lotto al mlt-prog Area corrispondente, e crea un BDP per lotto con quantita' al netto dei BDP gia' aperti. Aggiunto copy "utildfnm02.cpy".

Documentazione tecnica aggiornata -- 2026-06-04