Vai al contenuto

COGP09 - Componenti Mancanti

Intestazione

Campo Valore
Programma COGP09
Titolo Stampa situazione lotto / Componenti mancanti
Posizione menu Magazzino -> Produzione -> Produzione -> Stampe -> Componenti Mancanti
Posizione menu alternativa Magazzino -> Stampe -> Movimenti Cauzioni

Scopo e logica generale

COGP09 e' un programma di stampa che analizza i componenti mancanti per i lotti di produzione aperti. Scansiona i lotti (COGLAVOR) filtrati per lotto specifico, merce, cliente o stato aperto; per ogni lotto recupera i movimenti distinta base (COGMOVDB) di tipo "CL" e calcola la quantita' mancante come mdb-qta - mdb-qta-sca. Verifica poi la giacenza nel magazzino di stoccaggio (e nell'eventuale magazzino di eccedenza) tramite COGTABEL tipo C077 (configurazione magazzini).

Utilizza COGTRANS come file di transito temporaneo e il modulo COGS54 per la gestione della stampante.

Il programma puo' essere richiamato in modalita' "COGP09-CALLED" con lotto precompilato (tramite utilp09.cpy).


Flusso principale

  1. Inizializzazione (apri): controllo abilitazione, init programma, lettura azienda, apertura file, configurazione RNEWCONF, costruzione nome transito, preparazione maschera
  2. Accept parametri (a4):
  3. Se richiamato con p09-called = "COGP09-CALLED": precompila tm-lot-ann e tm-lot-num e salta a a-fine-dati
  4. a-tm-lot-ann: anno lotto (con F8 -> COGS52W calendario, F1 -> configurazione)
  5. a-tm-lot-num: numero lotto (validazione su COGLAVOR; controlla stato aperto "A")
  6. a-tm-da-data / a-tm-a-data: intervallo date apertura lotto (con F8 -> COGS52W)
  7. a-tm-ana-cod: codice cliente (via COGS65W)
  8. a-tm-merce: articolo prodotto finito (via COGS68W)
  9. Conferma (a-fine-dati): validazione completa, selezione stampante via COGS54
  10. Elaborazione (carica-dati): scansione COGLAVOR con filtri, per ogni lotto valido -> ciclo-movdb -> scrittura su COGTRANS
  11. Stampa (stampa-dati): lettura COGTRANS, generazione report su FLSTA
  12. Chiusura (z-chiudi): cancellazione COGTRANS, chiusura file, exit program

Routine carica-dati

Sceglie la chiave di accesso a COGLAVOR in base ai parametri: - Se tm-lot-ann e tm-lot-num valorizzati: scansione per chiave primaria (anno/numero) - Se tm-merce valorizzata: chiave 4 (per merce prodotto finito) - Se tm-ana-cod valorizzato: chiave 8 (per cliente) - Altrimenti: chiave 9 (per stato "A" = aperto)

Condizioni di esclusione del lotto: - cla-fl-cls not = "A" (non aperto) - Data apertura fuori range tm-da-data / tm-a-data - Riga di consegna (COGCONOR) inesistente

Routine ciclo-movdb

Per ogni lotto valido, scansiona COGMOVDB per tipo "CL" (componenti lotto) con chiave mdb-rif-mov = w-cla-chia. Salta i record dove mdb-qta-sca >= mdb-qta (gia' completamente utilizzati). Calcola w-qta = mdb-qta - mdb-qta-sca e scrive su COGTRANS.

Struttura COGTRANS

trs-chia1:
  trs-ordinam         pic x(10)   Criterio ordinamento
  trs-cla-chia1:
    trs-cla-anno      pic 9(04)
    trs-cla-numero    pic 9(08)
  trs-merce:
    trs-gru/sot/cod   (codice articolo)
  trs-consegna:
    trs-cor-mag/anno/tipo/numero/progr
trs-dati:
  trs-mag-stoccaggio  pic x(01)   Magazzino stoccaggio
  trs-mag-ecced       pic x(01)   Magazzino eccedenza
  trs-mdb-qta         pic s9(12)v9(06)   Quantita' necessaria
  trs-mdb-qta-sca     pic s9(12)v9(06)   Quantita' gia' utilizzata

File e tabelle acceduti

File logico Record Modalita' Uso
COGLAVOR cla-rec Input Lotti di produzione (chiavi: primaria, 4=merce, 8=cliente, 9=stato)
COGMOVDB mdb-rec Input Movimenti distinta base - tipo "CL" (componenti lotto)
COGCONOR cor-rec Input Consegne ordini - riga consegna collegata al lotto
COGGEANA ana-rec Input Anagrafica generale - validazione cliente
COGMERCI mer-rec Input Anagrafica merci - validazione articolo
COGTRANS trs-rec I-O File transito temporaneo
FLSTA riga Output File di stampa
COGTABEL euta-rec Input Tabelle di sistema (tipo C077: configurazione magazzini stoccaggio/eccedenza)

Copybook inclusi

Screen Designer

Copybook Contenuto
cogp09-01.scr Maschera principale
cogp09.select SELECT dei file
cogp09.fd FD dei file
cogp09.wrk Working storage maschera
cogp09.decla Declaratives

Working storage

Copybook Contenuto
wgrave.cpy Gestione errori gravi
wnscr.cpy Gestione schermo
wopenf.cpy Gestione apertura file
wstato.cpy Working stato
cogazien.cpy Dati azienda
utils52.cpy Interfaccia COGS52W (calendario)
utils54.cpy Interfaccia COGS54 (stampante)
utils65.cpy Interfaccia COGS65W (selezione anagrafica)
utils68.cpy Interfaccia COGS68W (selezione merce)
utilu20.cpy Interfaccia COGU20
utilncnf.cpy Struttura parametri RNEWCONF

Linkage

Copybook Contenuto
wcont.cpy Dati operatore
utilp09.cpy Interfaccia chiamante (p09-called, p09-lot-ann, p09-lot-num)
wcont1.cpy Dati azienda linkage

Programmi chiamati (CALL)

Programma Scopo
COGS52W Calendario (F8 su campi data e anno lotto)
COGS54 Selezione stampante e formato
COGS65W Selezione cliente da anagrafica (campo tm-ana-cod)
COGS68W Selezione merce/articolo (campo tm-merce)
RNEWCONF Lettura configurazione

Configurazione (RNEWCONF)

Variabile Uso
tm-cfg-mag-stoc Codice magazzino di stoccaggio per verifica giacenza
tm-cfg-mag-ecced Codice magazzino di eccedenza (opzionale)

I valori vengono anche letti da COGTABEL tipo C077 (euta-c077-mag-assist e euta-c077-mag-ecced).


Logica di business

Calcolo quantita' mancante

Per ogni movimento distinta base (COGMOVDB tipo "CL"): - w-qta = mdb-qta - mdb-qta-sca - Se mdb-qta-sca >= mdb-qta: il componente e' gia' completamente prelevato, si salta - La differenza viene confrontata con la giacenza del magazzino di stoccaggio

Varianti programma

  • k-program-id-s = "COGP09A": variante stampa compatta
  • k-program-id-l = "COGP09L": variante stampa larga

La larghezza della riga di stampa e' k-chr-stampa = 135.

Modalita' chiamata da altri programmi

Quando p09-called = "COGP09-CALLED", il programma salta direttamente a a-fine-dati con anno e numero lotto precompilati. Dopo la stampa (o in caso di assenza dati), esce direttamente (go to fine).