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 Screenscogazien.cpy-- Dati aziendautils68.cpy-- Interfaccia selezione merce (COGS68W)utilu16.cpy-- Interfaccia per COGU16Wutilncnf.cpy-- Interfaccia configurazioniutilopenfile.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:
- Vendite (
css-fl-vr = "V"): somma le quantita' dei mesi del periodo (css-qta(mese)) - Resi (
css-fl-vr = "R"): sottrae le quantita' rese - 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