Vai al contenuto

COGD64 -- Ristampa Assegnazione carico

Sorgente: cbl/cogd64.cbl | Tipo: Programma maschera con stampa (mmmask) | Program-ID: COGD64

Menu: Magazzino > Entrate > Stampe


Scopo

Ristampa il dettaglio di un documento di carico a magazzino, mostrando per ogni riga di entrata la quantita' del documento, la quantita' residua ancora da assegnare e il dettaglio delle assegnazioni (impegni carico) con lotti, ordini di lavorazione e distinte collegate.

File e tabelle

File/Tabella Tipo Descrizione
FEURTAB Input File tabelle di sistema (path file)
COGTESBO Input Testata bolle/documenti; chiave 3 = tm-documento (mag+anno+tipo+bolla)
COGMOMAG Input Movimenti di magazzino; chiave mag-testa = testata documento, filtro mag-entrusc = "E" (entrata)
COGIMPCA Input Impegni carico; chiave mpc-doc = chiave movimento (mag-chiap)
COGGENER Input Tabella generica; chiave secondaria 2, tipo "LP" = lotti produzione
COGLAVOR Input Ordini di lavorazione; chiave cla-anno + cla-numero
COGMERCI Input Anagrafica merci (per descrizione, via COGS68W)
FLSTA Output File stampa

Copybook principali

  • cogd64.select, cogd64.fd, cogd64.wrk, cogd64.decla, cogd64.prc, cogd64-01.scr -- File screen-generated
  • cogfiles.cpy -- Record FD di FEURTAB
  • flsta.cpy -- File stampa
  • utils52.cpy -- Utility date (COGS52)
  • utils54.cpy -- Utility stampa (COGS54)
  • utils68.cpy -- Utility descrizione merce (COGS68W)
  • coggener.k02 -- Chiave secondaria 2 di COGGENER

Struttura del programma

main section
  apri                   -- Init, open file, configurazione tasti
  a4                     -- Init maschera, display
  a-tm-mag               -- Accept magazzino
  a-tm-anno              -- Accept anno
  a-tm-tip-doc           -- Accept tipo documento (C/R)
  a-tm-bolla             -- Accept numero bolla
  a-fine-intestazione    -- Validazione e avvio stampa
  fine / z-chiudi        -- Chiusura e uscita

Stampa:
  stampa-dati            -- Configura stampante (COGS54), legge testata, loop movimenti
  stampa-dati-loop       -- Loop su COGMOMAG: filtra solo entrate, stampa riga + impegni
  stampa-dati-fine       -- Chiusura stampa
  stampa-testa           -- Intestazione pagina (azienda, data, documento, colonne)
  stampa-riga            -- Riga merce: descrizione (COGS68W), qta documento, qta residua
  calcola-qta-modula     -- Calcola qta residua: qta documento - somma impegni carico
  stampa-impca           -- Loop impegni carico per la riga corrente
  cerca-altri-dati       -- Per ogni impegno: cerca lotto (COGGENER tipo "LP"), ordine lavorazione (COGLAVOR), distinta

Validazione:
  x-controlla-tm-mag     -- Magazzino obbligatorio
  x-controlla-tm-anno    -- Controllo anno (sempre OK)
  x-controlla-tm-tip-doc -- Tipo documento: solo "C" o "R"
  x-controlla-tm-bolla   -- Numero obbligatorio, verifica esistenza in COGTESBO
  x-controlla-intestazione -- Validazione complessiva

Logica di elaborazione

  1. Input: l'utente inserisce magazzino, anno, tipo documento (C=carico, R=reso) e numero bolla. Il sistema verifica l'esistenza del documento in COGTESBO.

  2. Stampa dati (stampa-dati):

  3. Configura stampante via COGS54 (132 colonne).
  4. Legge testata documento (tes-chia3 = tm-documento).
  5. Posiziona su COGMOMAG con mag-testa = tes-chia3.
  6. Loop su tutti i movimenti del documento; filtra solo quelli con mag-entrusc = "E" (entrata).

  7. Per ogni riga di entrata (stampa-riga):

  8. Descrizione merce via COGS68W (con parametri funzione COGD64S).
  9. Quantita' documento: mag-qtamagaz.
  10. Quantita' residua: calcolata come mag-qtamagaz meno la somma di mpc-qta da COGIMPCA per lo stesso movimento (mag-chiap).

  11. Per ogni impegno carico (stampa-impca):

  12. Stampa tipo, riferimento documento, quantita'.
  13. Cerca dati aggiuntivi in COGGENER (tipo "LP", chiave secondaria 2 = mpc-rif-doc):

    • Se trovato: estrae anno/numero lotto.
    • Da COGLAVOR: recupera ordine di lavorazione (cla-ord-aa/cla-ord-num) e distinta (cla-gru/cla-sot/cla-cod).
  14. Impaginazione: salto pagina automatico quando num-rig > max-righe (calcolato come s54-stm-lin - 7).

  15. CALL chain: COGS52 (date), COGS54 (stampa), COGS68W (descrizione merce).