Vai al contenuto

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:

  1. Legge la giacenza dal saldo magazzino (COGMERSA) per il magazzino selezionato
  2. Scorre le conferme ordine (COGCONOR) mese per mese:
  3. Ordini clienti = impegno (quantita' da consegnare)
  4. Ordini fornitori = ordinato (quantita' in arrivo)
  5. Calcola la proiezione per ciascuno dei 9 mesi: disponibilita' = giacenza - impegno + ordinato
  6. Considera le prenotazioni da BDP non collegati a ordini (file T-PRENOTATO)
  7. Se richiesto, confronta con le scorte min/max configurate sull'articolo
  8. 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 Euro
  • k-personal.cpy -- Costanti personalizzazione
  • k-u10.cpy, utilu10.cpy -- Utility valute
  • costanti-stampaggio.cpy -- Costanti per stampaggio
  • wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy -- Working storage standard
  • cogazien.cpy -- Dati azienda
  • utilncnf.cpy -- Interfaccia RNEWCONF
  • utilm35s.cpy -- Interfaccia COGM35S (selezione famiglie)
  • utils21.cpy, utils52.cpy, utils54.cpy, utils56.cpy, utils68.cpy -- Utility varie
  • wdisp001.cpy, wdisp002.cpy -- Display
  • utilw36.cpy -- Interfaccia COGW36
  • utilw29.cpy -- Interfaccia COGW29
  • utilj04.cpy, j04konst.cpy -- Utility J04
  • utilcrms09.cpy, utilcrms06.cpy, utilhite12.cpy -- Interfacce CRM
  • utilu35w.cpy -- Interfaccia COGU35W (commessa)
  • utilcogqs0.cpy -- Interfaccia COGQS0
  • utilcogg4d.cpy -- Interfaccia COGG4D
  • cogconor.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 standard
  • util021.cpy -- Interfaccia utility
  • utils01f.cpy -- Interfaccia COGS01
  • utilcogo70.cpy -- Interfaccia COGO70
  • wcont1.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) o ext-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-da o gestione passaggio anno).
  • Le righe di stampa usano una struttura con 9 colonne mensili variabili (ts3-ele occurs 9).

Documentazione tecnica -- 2026-04-16