Vai al contenuto

COGM48 -- Visualizzazione e stampa lotti per merce

Sorgente: cbl/cogm48.cbl | Tipo: Programma con interfaccia grafica (griglia interattiva paginata) | Program-ID: COGM48

Menu: Magazzino > Giacenze & Sottoscorta > Lotti merce > Lotti per merce


Scopo

Visualizza e gestisce i lotti di magazzino relativi a un singolo articolo. Per ogni lotto mostra il numero interno, il lotto fornitore, la quantita', le date di produzione e scadenza, lo stato (Attivo/Chiuso/Bloccato) e altri dati. Supporta la cancellazione e la riapertura dei lotti, il dettaglio movimenti per lotto e la stampa.

Puo' funzionare sia in modalita' autonoma sia come programma richiamato (CALLED) da COGV55 o altre funzioni.


Interfaccia utente

Modalita' di funzionamento

Modalita' Condizione Comportamento
Autonomo Chiamata diretta da menu Filtri liberi
CALLED m48-called = k-program-id e m48-caller not = spaces Precompila merce, lotto, mag, stato, tipo ricerca

Maschera di filtro

Campo Tipo Descrizione
tm-merce x(09) Codice merce
tm-mag x(01) Codice magazzino
tm-fl-stato x(01) Stato lotto: A=Attivi, C=Chiusi, T=Tutti, B=Bloccati

Griglia (grid-record tramite tmr-righe)

I campi della griglia sono definiti nella tabella tab-maschera con occorrenze di tmr-righe:

Campo Tipo Descrizione
tmr-prog 9(06) Numero lotto interno
tmr-merce x(09) Codice merce
tmr-mag-mlt x(01) Magazzino del lotto
tmr-lotto x(20) Codice lotto fornitore
tmr-qta s9(07)v999 Quantita' residua
tmr-data-prod 9(08) Data produzione
tmr-data-scad 9(08) Data scadenza
tmr-stato x(01) Stato: A=Attivo, C=Chiuso, B=Bloccato
tmr-f4 x(01) Flag cancellabile

Tasti funzione

Tasto Funzione
F3 Conferma ricerca
F4 Cancella lotto (se tmr-f4 = "S")
F5 Riapri lotto chiuso (se tmr-stato = "C" e tmr-qta > 0)
F8 Dettaglio movimenti lotto (COGM46)
F9 Stampa lotti (con/senza movimenti)
S-F4 Gestione griglia (GRIDADMN)
S-F5 Esportazione Excel
ESC Uscita

File e Tabelle

File/Tabella Copybook Uso
COGTRANS (definito inline) File transito con chiave merce+lotto_int+mag+data+prog
FLSTA flsta.cpy File stampa
FEURTAB cogfiles.cpy File tabelle Euro
Tabelle via cogm48.select cogm48.fd COGMERLT (lotti merce), COGMERCI, COGMAGAZ, COGGEANA, ecc.

Struttura del programma

Flusso principale

apri -> z-99-init-program -> ctr-abil -> rd-azi -> open-files
     -> Gestione CALLED (precompilazione)
     -> Creazione file transito COGTRANS
     -> a4 (inizializzazione)
     -> Accept filtri: a-tm-merce, a-tm-mag, a-tm-fl-stato
     -> a-fine-dati (caricamento lotti in griglia)
     -> a-grid (navigazione e operazioni)

Paragrafi principali

Paragrafo Funzione
a4 Inizializzazione, creazione file transito, pulizia griglia
a-tm-merce Accept codice merce
a-tm-mag Accept magazzino
a-tm-fl-stato Accept stato lotto (A/C/T/B)
a-fine-dati Validazione e caricamento lotti
a-fine-dati-called Caricamento lotti (variante CALLED)
a-grid Navigazione griglia, gestione F4/F5/F8/F9
a-grid-fine Uscita dalla griglia
stampa Stampa lotti con/senza movimenti
x-spaginamento-start Caricamento paginato dei lotti

Logica di elaborazione

Caricamento lotti

Il programma legge i lotti da COGMERLT posizionandosi sulla merce indicata. Per ogni lotto:

  1. Filtra per magazzino (se indicato) e per stato (A/C/T/B)
  2. Popola la griglia con i dati del lotto
  3. Determina se il lotto e' cancellabile (tmr-f4 = "S" se non ha movimenti)

Riapertura lotto (F5)

Se un lotto e' in stato "C" (Chiuso) e ha una quantita' residua > 0: 1. Legge il record COGMERLT 2. Cambia lo stato da "C" ad "A" 3. Riscrive il record

Cancellazione lotto (F4)

Se il lotto e' marcato come cancellabile: 1. Richiede conferma 2. Cancella il record da COGMERLT 3. Ricarica la griglia

Dettaglio movimenti (F8)

Richiama COGM46 passando il numero lotto interno, la merce e il magazzino per visualizzare i movimenti del lotto.

Stampa (F9)

Chiede se includere i movimenti. Genera il report tramite il paragrafo stampa usando il file FLSTA.


Chiamate esterne

Programma Scopo
COGM46 Dettaglio movimenti lotto
COGS54 Utility stampa
COGS68W Gestione campo merce
GRIDADMN Gestione griglia interattiva

Copybook utilizzate

Copybook generate da Screens

cogm48.select, cogm48.fd, cogm48.wrk, cogm48.prc, cogm48.decla, cogm48-01.scr

Copybook di libreria

  • cogfiles.cpy -- Definizione file Euro
  • flsta.cpy -- File stampa
  • k-personal.cpy -- Costanti personalizzazione
  • k-u10.cpy -- Costanti utility valute
  • wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy -- Working storage standard
  • cogazien.cpy -- Dati azienda
  • wgrid.cpy, utilgdad.cpy -- Griglia interattiva
  • utils54.cpy, utils68.cpy -- Interfacce sottoprogrammi

Linkage

  • wcont.cpy -- Struttura linkage standard
  • wcont1.cpy -- Linkage supplementare
  • utilm48.cpy -- Interfaccia per chiamata CALLED

Note tecniche

  • Il file COGTRANS e' un file temporaneo per operatore, usato per la paginazione. Viene creato ad ogni nuovo caricamento e distrutto alla chiusura.
  • La chiave del transito e': merce + lotto_int + mag + data + progressivo, che permette la scansione ordinata dei lotti per una merce.
  • Il programma supporta la paginazione tramite z-99-accept-paged-grid e i paragrafi pg-after-pg-dwn / pg-after-pg-up.
  • La riapertura di un lotto (F5) e' descritta come "operazione nascosta" nel codice, introdotta per correggere errori.

Documentazione tecnica -- 2026-04-18