COGV21 -- Calcolo Sottoscorta¶
Sorgente: cbl/cogv21.cbl | Tipo: Programma batch con interfaccia di parametrizzazione | Program-ID: COGV21
Menu: Magazzino > Giacenze & Sottoscorta > Scorte > Calcolo Sottoscorta (presente anche in altre posizioni menu)
Scopo¶
Calcola la proiezione mensile della disponibilita' di merce considerando giacenza, impegno (ordini clienti) e ordinato (ordini fornitori). Identifica gli articoli in sottoscorta e puo' generare proposte di riordino. Produce una stampa dettagliata con la situazione mese per mese.
Interfaccia utente¶
Maschera di filtro (tab-maschera)¶
| Campo | Tipo | Descrizione |
|---|---|---|
tm-fl-sta |
x(01) | Tipo elaborazione: R=Riordino, S=Stampa, D=Distinta |
tm-mag |
x(01) | Magazzino |
tm-data-da |
9(08) | Data inizio analisi |
tm-data-a |
9(08) | Data fine analisi |
tm-fl-art-standard |
x(01) | Solo articoli normali (S/N) |
tm-fl-art-scorta |
x(01) | Solo articoli a scorta (S/N) |
tm-com-tsc |
x(10) | Codice commessa |
tm-com-sot |
x(10) | Codice sottocommessa |
tm-fl-qta-netta |
x(01) | Quantita' netta commessa (S/N) |
tm-fl-scorte-min-max |
x(01) | Considera scorte min/max (S/N) |
tm-fl-giacenza |
x(01) | Considera giacenza (S/N) |
tm-sel |
x(01) | Selezione: C=Codice, F=Famiglia |
tm-ord-mer |
x(01) | Ordinamento |
tm-ragr-1, tm-ragr-2, tm-ragr-3 |
x(02) | Filtri raggruppamento (linee di produzione) |
tm-da-merce / tm-a-merce |
x(09) | Intervallo codici merce (gru+sot+cod) |
tm-tipologia-stampi |
x(05) | Tipologia stampi |
tm-filtro-cma |
x(01) | Filtro codice merce alternativo |
tm-fl-sco |
x(01) | Solo sottoscorta |
tm-fl-dis |
x(01) | Flag distinta |
Tasti funzione¶
| Tasto | Funzione |
|---|---|
| F1 | Configurazione parametri (RNEWCONF) |
| F3 | Conferma e avvia il calcolo |
| F8 | Aiuto contestuale (ricerca merci, magazzini, raggruppamenti) |
| F9 | Ricerca avanzata |
File e Tabelle¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGMERCI | cogv21.fd (via select) | Anagrafica merci (scansione articoli) |
| COGMERSA | cogv21.fd (via select) | Saldi merce per magazzino (giacenza) |
| COGCONOR | cogv21.fd (via select) | Conferme ordine (impegno/ordinato per mese) |
| COGTESOR | cogv21.fd (via select) | Testata ordini |
| COGTABEL | cogv21.fd (via select) | Tabelle generiche |
| COGMAGAZ | cogv21.fd (via select) | Anagrafica magazzini |
| COGRIORD | cogv21.fd (via select) | File di riordino (proposte ordini fornitore) |
| COGMERLT | cogv21.fd (via select) | Lotti merce |
| COGMERLK | cogv21.fd (via select) | Legami merce |
| COGSTAMP | cogv21.fd (via select) | Stampi |
| COGTESBP | cogv21.fd (via select) | Testata buoni di prelievo |
| COGRIGBP | cogv21.fd (via select) | Righe buoni di prelievo |
| COGRACMC | cogv21.fd (via select) | Raccordo codici merce |
| PRNTOPER | cogv21.fd (via select) | Operatori (per filtro reparto) |
| TRAN-V21 | tran-v21.fd, tran-v21.cpy | Transito principale risultati |
| TRBN-V21 | trbn-v21.fd, trbn-v21.cpy | Transito ausiliario B |
| TRDN-V21 | trdn-v21.fd, trdn-v21.cpy | Transito ausiliario D (accessibile a tutti) |
| TREN-V21 | tren-v21.fd, tren-v21.cpy | Transito ausiliario E |
| TRAN-M36 | tran-m36.fd, tran-m36.cpy | Transito riferimento magazzino |
| TRAN-S56 | tran-s56.fd, tran-s56.cpy | Transito selezione |
| T-PRENOTATO | (definito inline, EXTERNAL) | Transito per righe BDP non collegate a ordine |
| T-MERCI-COMMESSA | (definito inline) | Transito merci richieste dalla commessa |
| T-COGG4D | t-cogg4d.fd, t-cogg4d.cpy | Transito COGG4D |
| COGTRANS | (definito inline) | Transito risultati per visualizzazione |
| FLSTA | flsta.fd, flsta.cpy | File di stato |
| FEURTAB | cogfiles.cpy | File tabelle Euro |
Struttura COGTRANS (risultati)¶
Il file di transito contiene i risultati del calcolo con una struttura a colonne variabili:
| Campo | Tipo | Descrizione |
|---|---|---|
trs-ordinamento |
x(40) | Chiave di ordinamento |
trs-rio-merce |
x(09) | Codice merce (gru+sot+cod) |
trs-rio-for |
9(05) | Fornitore preferenziale |
trs-rio-ok |
x(01) | Flag validita' |
trs-rio-currency |
x(02) | Divisa |
trs-rio-pre |
9(12)v999999 | Prezzo |
trs-rio-mac |
x(05) | Macchina |
trs-rio-ptr-date |
9(02) | Numero di mesi (dimensione tabella) |
trs-rio-tab-qta |
occurs 0 to 25 | Tabella mensile: data + giacenza + quantita' |
Struttura del programma¶
Flusso principale¶
a000 -> ctr-abil -> z-99-init-program -> x99-confi
-> open-files -> rd-azi
-> Preparazione file transito (nomi in tmp-dir o arc-dir)
-> a4 (inizializzazione maschera, default 5 mesi indietro)
-> Accept parametri (a-tm-fl-sta, a-tm-mag, a-tm-data-da, ...)
-> a-richiesta-conferma -> calcolo sottoscorta
-> Visualizzazione risultati / stampa
Paragrafi principali¶
| Paragrafo | Funzione |
|---|---|
a-tm-fl-sta |
Accept tipo elaborazione |
a-tm-mag |
Accept magazzino |
a-tm-data-da / a-tm-data-a |
Accept intervallo date |
a-tm-fl-art-standard / a-tm-fl-art-scorta |
Accept filtri tipo articolo |
a-tm-com-tsc |
Accept commessa |
a-tm-fl-qta-netta |
Accept flag quantita' netta |
a-tm-fl-scorte-min-max |
Accept flag scorte min/max |
a-tm-fl-giacenza |
Accept flag giacenza |
a-tm-sel |
Accept selezione (codice/famiglia) |
a-tm-ord-mer |
Accept ordinamento |
a-tm-ragr-1/2/3 |
Accept raggruppamenti |
a-tm-da-merce / a-tm-a-merce |
Accept intervallo merci |
a-tm-tipologia-stampi |
Accept tipologia stampi |
a-richiesta-conferma |
Validazione finale e lancio calcolo |
m-cerca-of-commessa |
Cerca ordini fornitori gia' collegati alla commessa |
x1-set-mesi |
Imposta la tabella dei 9 mesi di proiezione |
Logica di elaborazione¶
Calcolo sottoscorta¶
Per ogni articolo nell'intervallo selezionato, il programma:
- Legge la giacenza dal saldo magazzino (COGMERSA) per il magazzino selezionato
- Scorre le conferme ordine (COGCONOR) mese per mese:
- Ordini clienti = impegno (quantita' da consegnare)
- Ordini fornitori = ordinato (quantita' in arrivo)
- Calcola la proiezione per ciascuno dei 9 mesi:
disponibilita' = giacenza - impegno + ordinato - Considera le prenotazioni da BDP non collegati a ordini (file T-PRENOTATO)
- Se richiesto, confronta con le scorte min/max configurate sull'articolo
- Se in modalita' "Riordino", genera una proposta di ordine fornitore nel file COGRIORD
Gestione commessa¶
Se e' specificata una commessa (tm-com-tsc):
- Il file T-MERCI-COMMESSA contiene solo le merci richieste dalla commessa
- L'opzione "Quantita' netta" (tm-fl-qta-netta) considera solo i fabbisogni della commessa stessa
Sessione multipla¶
Se tm-cfg-sessione = "M", i file di transito vengono creati nella directory temporanea (ext-tmp-dir) anziche' nella directory archivi (ext-arc-dir), permettendo elaborazioni parallele da operatori diversi.
Filtro reparto¶
Se configurato (tm-cfg-filtro-per-reparto = "S"), il programma filtra gli articoli in base al reparto dell'operatore corrente (da PRNTOPER).
Stampa¶
Il prospetto di stampa (221 colonne, k-chr-stampa = 221) contiene:
- Testata con intestazione azienda e titolo
- Per ogni articolo: codice merce, descrizione, fornitore, prezzo, giacenza, sottoscorta e 9 colonne mensili con le quantita' proiettate
Configurazioni¶
Parametro (tm-cfg) |
Note |
|---|---|
tm-cfg-tip-clc |
Tipo calcolo |
tm-cfg-of-no-cns |
Ordini fornitori senza conferma |
tm-cfg-use-cma |
Usa codice merce alternativo |
tm-cfg-sessione |
Sessione: M=Multipla (tmp-dir) |
tm-cfg-filtro-per-reparto |
Filtra per reparto operatore |
tm-cfg-scorte-per-magazzino |
Scorte per magazzino |
tm-cfg-mag-collaudo |
Magazzino collaudo |
Chiamate esterne¶
| Programma | Scopo |
|---|---|
| RNEWCONF | Lettura configurazioni |
| COGS52W | Gestione campo data |
| COGS56W | Selezione |
| COGS68W | Gestione campo merce |
| COGS54W | Utility |
| COGM35S | Selezione famiglie |
| COGU10W | Utility valute |
| COGU16W | Navigazione merci |
| COGU35W | Gestione commessa |
| COGW29 | Selezione raggruppamento |
| COGW36 | Selezione magazzino |
| COGQ38 | Utility |
| CRMS09 | Utility CRM |
| CRMS06 | Utility CRM |
| HITE12 | Utility |
| COGQS0 | Utility |
| COGG4D | Utility |
| COGCOGO70 | Utility |
| COGS21 | Utility |
Copybook utilizzate¶
Copybook generate da Screens¶
cogv21.select, cogv21.fd, cogv21.wrk, cogv21.prc, cogv21.decla, cogv21-01.scr
Copybook di libreria¶
cogfiles.cpy-- Definizione file Eurok-personal.cpy-- Costanti personalizzazionek-u10.cpy,utilu10.cpy-- Utility valutecostanti-stampaggio.cpy-- Costanti per stampaggiowstato.cpy,wopenf.cpy,wgrave.cpy,wnscr.cpy-- Working storage standardcogazien.cpy-- Dati aziendautilncnf.cpy-- Interfaccia RNEWCONFutilm35s.cpy-- Interfaccia COGM35S (selezione famiglie)utils21.cpy,utils52.cpy,utils54.cpy,utils56.cpy,utils68.cpy-- Utility variewdisp001.cpy,wdisp002.cpy-- Displayutilw36.cpy-- Interfaccia COGW36utilw29.cpy-- Interfaccia COGW29utilj04.cpy,j04konst.cpy-- Utility J04utilcrms09.cpy,utilcrms06.cpy,utilhite12.cpy-- Interfacce CRMutilu35w.cpy-- Interfaccia COGU35W (commessa)utilcogqs0.cpy-- Interfaccia COGQS0utilcogg4d.cpy-- Interfaccia COGG4Dcogconor.cpy(con replacing) -- Record conferma ordine (copia salvata)tren-v21.cpy(con replacing) -- Record transito (copia salvata)tran-v21.cpy(con replacing) -- Record transito (copie old/new)cogriord.cpy(con replacing) -- Record riordino (copie old/new)
Linkage¶
wcont.cpy-- Struttura linkage standardutil021.cpy-- Interfaccia utilityutils01f.cpy-- Interfaccia COGS01utilcogo70.cpy-- Interfaccia COGO70wcont1.cpy-- Linkage supplementare
Note tecniche¶
- Il programma utilizza 5 file di transito separati (tran-v21, trbn-v21, trdn-v21, tren-v21, tran-m36) per le diverse fasi del calcolo.
- I file di transito possono essere in
ext-tmp-dir(sessione multipla) oext-arc-dir(sessione singola). - La tabella dei mesi (
w-tab-mesi, 9 elementi) viene impostata a partire dalla data corrente. - Il programma supporta la personalizzazione
k-personal-hi-tech: in tal caso il default e' "Solo articoli a scorta". - La data di partenza viene proposta con 5 mesi di retroattivita' (
subtract 5 from tm-mm-dao gestione passaggio anno). - Le righe di stampa usano una struttura con 9 colonne mensili variabili (
ts3-ele occurs 9).
Documentazione tecnica -- 2026-04-16