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 Screenscostanti-modula.cpy-- Costanti per operazioni Modulak-personal.cpy-- Costanti personalizzazione per aziendak-tipi-cogtabel.cpy-- Costanti tipi tabella genericacogfiles.cpy-- Record tabella nomi filecogazien.cpy-- Dati aziendautilcogf64.cpy-- Interfaccia linkage per chiamata esternautilcogsa0.cpy-- Interfaccia per richiamo COGSA0utild53.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)¶
- Posiziona su
COGTESORchiave 3 (tipo "C" = ordini clienti) - Per ogni ordine aperto, applica i filtri: periodo (data ordine o consegna), cliente, agente, blocchi, flag lavorato
- Per ogni ordine valido, scorre le consegne in
COGCONOR(chiave 2): - Se dettaglio merce attivo: una riga per ogni consegna con merce
- Se dettaglio merce disattivo: una riga per ogni consegna senza merce (testata)
- Applica filtri: ordini evasi, gruppo/sottogruppo merce, canale di spedizione, data consegna
- Per ogni consegna valida, compone il record della griglia (
a2-aggiorna-cogtrans): - Dati ordine/consegna, cliente, destinazione, agente
- Quantita': ordinate, consegnate, residue, giacenze, prenotate, ordinate a fornitore
- BDP collegato (cerca per consegna su COGTESBP/COGRIGBP)
- Note operative (commerciali e magazzino) da COGDESCR
- Importi e prezzi (se richiesto)
- Canale di spedizione da COGRORA2
- Flag: altri ordini stesso cliente, Modula, lotti, SN, riconsegna ISIR
- 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:
- Controlla blocchi e prerequisiti
- Scorre il transito griglia ordinato per consegna
- Per ogni consegna con quantita' da evadere, crea un BDP tramite COGSA0
- 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:
- Per ogni riga da evadere, chiama
DFNM02con operazione"lotti-disp-prelievo"per la merce e magazzino corrente (vedi DFNM02). DFNM02 restituisce un vettoredfnm02-o-ld-*con i lotti disponibili a Modula, mappati almlt-progArea e ordinati per data scadenza (FEFO). - Per ciascun lotto restituito, calcola la disponibilita' al netto dei BDP gia' aperti sul lotto (
c-cerca-prenotato-lotto). - Crea un BDP per ciascun lotto con quantita' = min(disponibile lotto, residuo riga), tramite
c-crea-bdp. - Invia immediatamente la lista a Modula con
c-invia-lista-bdpdopo ogni creazione. - 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