Vai al contenuto

COGD31 -- Ricalcolo Fabbisogno Giornaliero

Sorgente: cbl/cogd31.cbl | Tipo: Programma con interfaccia grafica | Program-ID: COGD31

Menu: Magazzino > Giacenze & Sottoscorta > Riordino > Ricalcolo fabb.giornaliero


Scopo

Calcola il fabbisogno giornaliero per ogni articolo, cioe' la quantita' media venduta al giorno nel periodo di riferimento, e aggiorna il campo ma2-fab-gio nella tabella COGMERA2. Il risultato viene usato dal sistema di riordino per determinare il punto di riordino e la scorta di sicurezza.


Interfaccia utente

Maschera di filtro (tab-maschera)

Campo Tipo Descrizione
tm-ord-mer x(01) Ordine di scansione articoli (gestito da COGU16W)
tm-da-merce x(09) Articolo di partenza (gru 2 + sot 2 + cod 5)
tm-a-merce x(09) Articolo di arrivo
tm-letti 9(08) Contatore articoli letti
tm-trovati 9(08) Contatore articoli trovati (validi per il calcolo)
tm-modificati 9(08) Contatore articoli aggiornati

Tasti funzione

Tasto Funzione
F1 Modifica configurazioni (RNEWCONF)
F3 Conferma e avvia elaborazione
F8 Aiuto selezione articolo
F9 Ricerca avanzata articolo
ESC Uscita

File e Tabelle

File/Tabella Copybook Uso
COGMERCI cogd31.fd (via select) Anagrafica merci (tipo articolo: mer-val)
COGMERA2 cogd31.fd (via select) Dati aggiuntivi merce (data nuovo, stagionalita', fabbisogno giornaliero)
COGCLASS cogd31.fd (via select) Classifiche vendite/resi mensili per merce
COGSALMG cogd31.fd (via select) Saldi magazzino per consegne dirette
COGRACMC cogd31.fd (via select) Raccolta merci clienti (codice avanzamento)
cogrisul file sequenziale File di output con elenco articoli modificati
FEURTAB feurtab.fd / cogfiles.cpy File tabelle Euro

Programmi chiamati

Programma Scopo
COGU16W Gestione ordinamento e scansione articoli
RNEWCONF Lettura configurazioni
FESTA Verifica se una data e' festiva
DTPRG Conversione data in progressivo giorno
PRGDT Conversione progressivo giorno in data
OPENFILE Apertura file esterno (per visualizzare il risultato)

Copybook principali

  • cogd31.select, cogd31.fd, cogd31.wrk, cogd31.prc, cogd31.decla, cogd31-01.scr -- Definizioni generate da Screens
  • cogazien.cpy -- Dati azienda
  • utils68.cpy -- Interfaccia selezione merce (COGS68W)
  • utilu16.cpy -- Interfaccia per COGU16W
  • utilncnf.cpy -- Interfaccia configurazioni
  • utilopenfile.cpy -- Interfaccia per OPENFILE

Logica di Elaborazione

Determinazione periodo

Il periodo di calcolo viene determinato automaticamente all'avvio (b-elabora / b-00):

Tipo articolo (mer-val) Periodo
"N" (Nuovo) Da ma2-data-nuovo a fine mese precedente
"S" (Stagionale) Periodo stagionalita' (ma2-mm-da / ma2-gg-da a ma2-mm-a / ma2-gg-a) dell'anno precedente
"M" o spaces (Normale) Da mese riferimento + 1 dell'anno -2 a fine mese precedente (circa 24 mesi)

Il mese di riferimento e' sempre il mese precedente alla data corrente.

Conteggio giorni lavorativi (b-01)

Per tutto il periodo (fino a 24 mesi), il programma conta i giorni lavorativi mese per mese: - Chiama FESTA per ogni giorno per verificare se e' festivo - Esclude le domeniche (ws-giorno = 7) e i festivi (ws-festa = "F") - Memorizza il conteggio in tab-gg-lavorativi (array di 24 elementi: anno, mese, n.giorni)

Calcolo venduto (b1-stesso-anno / b2-anni-diversi)

Per ogni articolo, legge le classifiche mensili da COGCLASS:

  1. Vendite (css-fl-vr = "V"): somma le quantita' dei mesi del periodo (css-qta(mese))
  2. Resi (css-fl-vr = "R"): sottrae le quantita' rese
  3. Consegne dirette (b3-cons-dirette): sottrae le quantita' movimentate sul magazzino consegne dirette (se configurato)

Per articoli di tipo "M" o spaces: i primi 2 mesi del periodo vengono conteggiati doppiamente (sia nelle vendite che nei giorni lavorativi) per dare peso al periodo piu' recente.

Formula fabbisogno giornaliero

fab-gio = (venduto_netto / giorni_lavorativi) + (venduto_netto / giorni_lavorativi) * coeff / 100

Dove coeff e' il coefficiente di maggiorazione dalla configurazione (tm-cfg-coeff).

Se w-qta-tv = 0 (nessun venduto), il fabbisogno giornaliero viene impostato a zero.

Aggiornamento (b-aggiorna)

Per ogni articolo elaborato: 1. Legge il record COGMERA2 (lo crea se non esiste) 2. Aggiorna ma2-fab-gio con il valore calcolato 3. Scrive una riga nel file di output con: codice articolo, descrizione, totale venduto, giorni lavorativi, coefficiente, fabbisogno giornaliero


Configurazioni

Gruppo Parametro Note
(gestite via RNEWCONF, F1) Coefficiente di maggiorazione tm-cfg-coeff: percentuale di incremento sul fabbisogno calcolato
(gestite via RNEWCONF, F1) Magazzino consegne dirette tm-cfg-mag-cons-dir: codice magazzino le cui movimentazioni vengono sottratte dal venduto

Note tecniche

  • La scansione degli articoli e' gestita interamente da COGU16W, che gestisce l'ordinamento e il range di selezione.
  • Il file di risultato (cogd31.txt) viene scritto nella directory temporanea e al termine viene proposto all'utente di aprirlo tramite OPENFILE.
  • Il periodo massimo analizzabile e' 24 mesi (dimensione di tab-gg-lavorativi).

Documentazione tecnica -- 2026-04-16