Vai al contenuto

COGM83 - Simulazione Lancio di Produzione

Scopo

Simula un lancio di produzione esplodendo la distinta base di un prodotto finito (da ordine/consegna o distinta diretta) e mostrando per ogni componente la quantita' richiesta, la giacenza disponibile e la carenza. Non genera movimenti di magazzino.

Struttura

  • Tipo: Programma standalone (mmmask.cpy)
  • Righe: ~2.011
  • Interfaccia: GUI AcuCOBOL con griglia paginata
  • Screen: cogm83-01.scr
  • Cursor ID: SMPR

Flusso principale

  1. apri - Inizializzazione, apertura file, configurazione tasti funzione
  2. a4 - Inizializzazione maschera, propone magazzino principale azienda, tipo esame "C" (consegna), quantita' 1, livello 999
  3. a-tm-mag .. a-tm-liv - Catena di accept per i campi di input (magazzino, tipo esame, ordine, consegna, distinta, quantita', livello)
  4. a-richiesta-conferma - Validazione completa e conferma utente
  5. b-elabora - Esplosione della distinta base e costruzione del file di transito
  6. a-grid-ini / a-grid - Visualizzazione risultati in griglia paginata con navigazione PgUp/PgDn
  7. stampa - Stampa del report

Modalita' di input

Il campo tm-esa (Esamino) determina quali campi sono visibili: - Consegna/Ordine: campi ordine e consegna visibili, distinta e quantita' nascosti - Distinta diretta: campi distinta e quantita' visibili, ordine nascosto

Tabelle/File utilizzati

Tabella Tipo Utilizzo
FEURTAB Input Archivio nomi file
COGMAGAZ (via cogm83.select) Input Magazzini
COGMERCI (via cogm83.select) Input Anagrafica merci
COGGEANA (via cogm83.select) Input Anagrafica clienti
COGTESOR (via cogm83.select) Input Testata ordini
COGCONOR (via cogm83.select) Input Consegne ordini
COGMOVDB (via cogm83.select) Input Movimenti distinta base
COGDBAGG (via cogm83.select) Input Distinta base aggregata
COGSLMAG (via cogm83.select) Input Saldi magazzino (giacenze)
COGTRANS Transito File temporaneo indicizzato per i risultati dell'esplosione (chiave: merce)
TRAN-S16 Transito File temporaneo per elaborazione distinta
FLSTA Input File stampa

Struttura COGTRANS (record di transito)

trs-chia1 (chiave primaria):
  trs-merce (9 bytes: gru/sot/cod)
trs-des             x(40)     descrizione merce
trs-fl-gia          x(01)     flag giacenza
trs-ric             9(08)v999 quantita' richiesta
trs-gia             s9(08)v999 giacenza
trs-crz             9(08)v999 carenza
trs-mag-stoccaggio  x(01)     magazzino stoccaggio

Logica di elaborazione

Esplosione distinta (b-elabora)

Il paragrafo b-elabora (referenziato ma contenuto nella .prc) esplode la distinta base multilivello: - Legge la distinta base aggregata (COGDBAGG) del prodotto finito - Per ogni componente, calcola la quantita' necessaria moltiplicando per la quantita' richiesta - Legge la giacenza da COGSLMAG - Calcola la carenza come max(0, richiesta - giacenza) - Scrive il risultato sul file COGTRANS

Griglia risultati

La griglia (max 100 elementi per pagina) mostra: - grd-merce - codice merce componente - grd-mag-stoccaggio - magazzino di stoccaggio - grd-fl-gia - flag assenza giacenza - grd-ric - quantita' richiesta (formattata) - grd-gia - giacenza (formattata, con segno) - grd-crz - carenza (formattata)

Stampa

Intestazione: azienda, data, titolo "Stampa Simulazione Produzione". Testata ordine con dati ordine/consegna/cliente. Testata distinta con codice e quantita'. Righe dettaglio: merce, qta richiesta, giacenza, carenza, flag no giacenza, magazzino stoccaggio.

Chiamate a sottoprogrammi

Programma Funzione
COGS52 Gestione campo anno/data con calendario
COGS68W Gestione campo merce (codice + barcode + descrizione)
COGS14 Ricerca ordini
COG021 Configurazione dettaglio stampa
WIN028 Ricerca consegne per ordine
WIN036 Ricerca magazzini
COGU10 Utility U10
COGU20 Gestione campo numerico
GRIDADMN Gestione griglia personalizzabile

COPY utilizzate

File section

cogfiles.cpy, cogm83.fd, tran-s16.cpy, flsta.cpy

Working-storage

cogm83.wrk, k-u10.cpy, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, wgrid.cpy, utilgdad.cpy, utils52.cpy, utils54.cpy, utils50.cpy, utils68.cpy, utils22.cpy, utilu10.cpy, utilu20.cpy, utilw28.cpy, utilw36.cpy, utilncnf.cpy

Linkage

wcont.cpy, utils14.cpy, util021.cpy, utils16.cpy, wcont1.cpy

Procedure

cogm83.decla, cogm83.prc

Note

  • Il file COGTRANS viene creato come file temporaneo nella directory temp dell'operatore (#$COGM83.{operatore}).
  • Il file TRAN-S16 analogamente (#$COGS16.{operatore}).
  • Entrambi vengono cancellati alla chiusura del programma.
  • Supporta la configurazione del magazzino di stoccaggio (tm-cfg-mag-stoc).
  • La griglia e' paginata: non carica tutti i risultati in memoria ma li legge dal file di transito a pagine.