COGV35 -- Visualizzazione Giacenze per Magazzino
Sorgente: cbl/cogv35.cbl | Tipo: Programma interattivo a griglia con filtri | Program-ID: COGV35
Menu:
- Magazzino > Giacenze & Sottoscorta > Vis. x Magazzino
Scopo
COGV35 e' il programma principale per la visualizzazione delle giacenze di magazzino per articolo. Presenta una maschera con filtri (magazzino, ordinamento, gruppo avanzato, merce) e una griglia con i saldi di ciascun articolo: giacenza, impegnato (vendita/produzione), ordinato, prenotato, colli, prezzi di acquisto, listini, disponibilita', stato e brand.
Il programma supporta diverse modalita' di visualizzazione in base alla configurazione:
- Impegno differenziato (
tm-cfg-mod-imp = "D" o "S"): mostra le quantita' impegnate suddivise per vendita e produzione
- Gestione doppia U.M. (
az-ges-qta-2 = "S"): mostra la colonna pezzi
- Gestione imballi (
az-imballi = "SI"): mostra le colonne in colli
- Listini configurati (
tm-cfg-listino): mostra fino a 3 colonne listino
- Magazzino prova (
tm-cfg-mag-prova): mostra la giacenza di un secondo magazzino
Puo' funzionare sia in modalita' autonoma (da menu) sia come programma richiamato (CALLED) per la ricerca o selezione di un articolo.
Interfaccia utente
Maschera di filtro (tab-maschera)
| Campo |
Tipo |
Descrizione |
tm-mag |
x(01) |
Magazzino (obbligatorio). Validato su COGMAGAZ. F8 = ricerca (COGW36). F1 = configurazione |
tm-ord |
x(01) |
Ordinamento: C=codice merce, A=raggruppamento avanzato, o altro tramite COGU16W |
tm-gru-ava |
x(20) |
Gruppo avanzato per filtrare (visibile solo per personalizzazione EX). F8 = ricerca (WIN113) |
tm-merce |
composito |
Codice merce di partenza (gru/sot/cod/cma/cmc/cmf/bc/des) tramite COGS68W |
tm-ges-ragr |
x(01) |
Gestione raggruppamento |
tm-ragr-1/2/3 |
x(02) |
Raggruppamenti merce livello 1/2/3 |
tm-dbase |
x(01) |
S=Lettura da COGDBASE (usato internamente per giacenze componenti) |
tm-n-righe |
9(04) |
Limite righe (0=tutte; 1=solo la prima, per personalizzazione Artic Seals) |
Ordine di accept dei campi
Magazzino > Ordinamento > Gruppo avanzato > Merce > Conferma (F3)
Griglia (grid-record)
| Colonna |
ID |
Descrizione |
Condizione visibilita' |
| Merce |
-- |
Codice merce (grd-merce) |
Sempre |
| U.M. |
-- |
Unita' di misura (grd-um) |
Sempre |
| Qta giacente |
-- |
Giacenza (grd-qta-gia) |
Sempre |
| Pezzi giacenti |
04 |
Pezzi (grd-pez-gia) |
az-ges-qta-2 = "S" |
| Qta impegnata |
05 |
Impegnata (grd-qta-imp) |
tm-cfg-mod-imp <> "S" e az-ges-qta-2 <> "S" |
| Qta ordinata |
06 |
Ordinata (grd-qta-ord) |
tm-cfg-mod-imp <> "S" e az-ges-qta-2 <> "S" |
| Imp. vendita |
07 |
Impegnato vendita (grd-imp-vend) |
tm-cfg-mod-imp = "S" |
| Imp. produzione |
08 |
Impegnato produzione (grd-imp-prod) |
tm-cfg-mod-imp = "S" |
| Imp. ordinato |
09 |
Ordinato (grd-imp-ord) |
tm-cfg-mod-imp = "S" |
| Colli giacenti |
10 |
Colli giacenza (grd-qta-gia-col) |
az-imballi = "SI" |
| Colli impegnati |
11 |
Colli impegnati (grd-qta-imp-col) |
az-imballi = "SI" |
| Colli ordinati |
12 |
Colli ordinati (grd-qta-ord-col) |
az-imballi = "SI" |
| PUA / PMA |
-- |
Prezzo ultimo/medio acquisto (grd-pua, grd-pma) |
w-abi-val-acq = "S" |
| Qta disponibile |
15 |
Giacenza - Impegnata (grd-qta-disp) |
az-personal = "EX" |
| Qta prenotata |
16 |
Prenotata da BDP (grd-qta-pren) |
az-personal <> "EX" |
| Listino 1/2/3 |
17/18/19 |
Prezzi listino (grd-lisuno/due/tre) |
Listini configurati |
| Giacenza prova |
20 |
Giacenza mag. prova (grd-qta-gia-prova) |
tm-cfg-mag-prova valorizzato |
| Stampi attivi |
-- |
Flag stampi attivi |
az-personal = k-personal-artic-seals |
| Stato |
-- |
Stato articolo: Nuova/Esaurimento/Cancellata/Promo/Stagionale |
Sempre |
| Brand |
-- |
Codice e descrizione brand |
Sempre |
| Pre. impegno |
25 |
Prezzo impegno |
az-personal = "EX" |
| Data inizio/fine |
26/27 |
Date validita' |
az-personal = "EX" |
| Confezione |
-- |
Pezzi per confezione |
Sempre |
| Lotto minimo |
-- |
Lotto minimo ordine |
Sempre |
| Modula |
-- |
Flag Modula |
Sempre |
Tasti funzione
| Tasto |
Funzione |
| F1 |
Configurazione parametri (RNEWCONF via x99-confi) |
| F1 |
Vedi tutto -- mostra tutte le righe (solo per Artic Seals con limite 1 riga) |
| F2 |
Dettaglio impegno differenziato (b1-impegno-diff, se tm-cfg-mod-imp = "S") |
| F5 |
Dettaglio impegnato vendita (COGO35 con o35-imp = "V") |
| F6 |
Dettaglio impegnato produzione (COGO35 con o35-imp = "P") o dettaglio (COGV30 per Artic Seals) |
| F7 |
Dettaglio ordinato (COGO35 con o35-imp = "V", o35-tip = "F") |
| F8 |
Movimenti di magazzino (COGV43) |
| F9 |
Dettaglio situazione produzione (COGQ44, solo per Artic Seals) |
| F10 |
Giacenze componenti -- richiama se stesso con ope = "GIACECOMP" (solo per articoli padre) |
| F11 |
Dettaglio per lavorante (COGW53) o per anagrafico |
| S-F4 |
Gestione griglia (GRIDADMN) |
| S-F5 |
Esportazione Excel |
| S-F6 |
Visualizzazione locazioni (WMSW02 se gestione tablet, altrimenti COGM07) |
| S-F7 |
Visualizzazione lotti (COGV55, se az-lotti = "C" e merce gestita a lotti) |
| S-F8 |
Dettaglio prenotato -- chiama COGM67 con operazione VIS-APERTI-PER-MERCE passando merce e magazzino |
| S-F9 |
Visualizzazione serial numbers (WIN068, se az-ges-sn = "S") |
| Invio |
Seleziona merce e ritorna al chiamante (in modalita' CALLED) |
Modalita' CALLED
Quando richiamato con v35-called = "COGV35-CALLED" (via utilv35.cpy):
| Campo linkage |
Descrizione |
v35-called |
Deve valere "COGV35-CALLED" per attivare la modalita' |
v35-ope |
Operazione: "RICERCA" = ricerca per merce, "RIC-MERCE" = ricerca merce singola, "GIACECOMP" = giacenze componenti |
v35-mag |
Magazzino. Se vuoto, usa il magazzino principale dell'azienda |
v35-merce |
Codice merce (in output contiene la merce selezionata con Invio) |
v35-funzio |
In output: funzione (ESC = uscita) |
Operazioni supportate
| Operazione |
Comportamento |
RICERCA |
Imposta il magazzino e la merce ricevuti, ordinamento "C", visualizza e attende selezione |
RIC-MERCE |
Come RICERCA, ma blocca la navigazione: mostra solo la merce specificata |
GIACECOMP |
Giacenze componenti: disattiva il limite righe, imposta tm-dbase = "S" per leggere da COGDBASE, esegue direttamente senza passare per i filtri |
Chiamanti principali
| Programma |
Contesto |
| COGS68W / COGS68B |
Ricerca merce strutturata -- ricerca e selezione articolo |
| COGV35 (se stesso) |
Giacenze componenti (F10) -- richiama se stesso con operazione GIACECOMP |
| COGQP0 |
Gestione produzione |
| COGV29 |
Altra visualizzazione giacenze |
| COGMA0 |
Gestione magazzino |
| COGF64 |
Gestione fatture |
| WIN087 / WIN088 / WIN056 / WIN057 |
Finestre di dettaglio varie |
| COGO75 |
Gestione ordini |
| COGO05W |
Gestione ordini avanzata |
Logica di Elaborazione
Flusso principale
- Inizializzazione: controllo abilitazione, apertura file, lettura configurazione (
RNEWCONF via x99-confi), lettura divisa contabile (COGU10W), preparazione griglia con colonne visibili in base alla configurazione, preparazione controlli
- Accept filtri: sequenza di accept per Magazzino, Ordinamento, Gruppo avanzato, Merce. F3 lancia la conferma
- Conferma e ricerca: verifica dei filtri (
x-controlla-dati) inclusa validazione magazzino su COGMAGAZ e, se configurazione gruppo-aziende attiva, verifica abilitazione tramite COGS0B
- Caricamento dati (
carica-tab via z-99-accept-paged-grid):
- Se ordinamento "C": legge direttamente
COGMERCI
- Se
tm-dbase = "S": legge COGDBASE (per giacenze componenti)
- Altrimenti: usa
COGU16W per la navigazione paginata ordinata
- Per ciascun articolo trovato:
- Legge il saldo magazzino da
COGSLMAG (chiave 1 o chiave 2)
- Legge l'appoggio merce
COGMERAP per filtri reparto e flag giacenza
- Scarta le merci in esaurimento/cancellate senza giacenza, le merci "offerta", la classe "S"
- Se impegno differenziato "D": calcola vendita/produzione/ordinato tramite
COGU23
- Se configurato mag. prova: legge la giacenza dal secondo magazzino
- Cerca stampi attivi (per Artic Seals) e brand da
COGMERA2/COGTABEL
- Carica listini configurati e prezzi acquisto tramite
COGL61
- Gestione griglia: l'utente naviga la griglia. Per ogni articolo selezionato e' possibile accedere ai dettagli tramite i tasti funzione
- Chiusura: chiude i file, cancella i programmi caricati in memoria
Filtro per reparto
Se la configurazione tm-cfg-filtro-per-reparto = "S" e l'operatore ha un reparto assegnato (ptop-reparto), vengono mostrate solo le merci il cui reparto in COGMERAP corrisponde al reparto dell'operatore.
Chiamata a COGM67 (S-F8)
Dalla griglia, premendo S-F8, il programma richiama COGM67 passando:
cogm67-called = "COGM67-CALLED"
cogm67-ope = "VIS-APERTI-PER-MERCE"
cogm67-merce = tm-r-merce (i) (la merce selezionata)
cogm67-mag = tm-mag (il magazzino corrente)
Questo permette di vedere tutti i BDP aperti per quella merce nel magazzino selezionato.
File e Tabelle
| File/Tabella |
Copybook |
Uso |
| FEURTAB |
cogfiles.cpy |
Tabella nomi file del gestionale |
| COGMERCI |
cogmerci.fd |
Anagrafica articoli/merci (lettura principale con ordinamento "C") |
| COGSLMAG |
cogslmag.fd, .k02 |
Saldi di magazzino (giacenza, impegnato, ordinato, prenotato) |
| COGMERAP |
cogmerap.fd |
Dati di appoggio merci (reparto, raggruppamenti, flag giacenza, supporti, date) |
| COGMERA2 |
cogmera2.fd |
Dati aggiuntivi merci 2 (brand) |
| COGMAGAZ |
cogmagaz.fd |
Anagrafica magazzini |
| COGTABEL |
cogtabel.fd |
Tabelle generiche (brand, raggruppamenti) |
| COGMERLK |
cogmerlk.fd |
Link merci (per ricerca stampi attivi) |
| COGSTAMP |
cogstamp.fd |
Stampi (per Artic Seals) |
| COGDBASE |
cogdbase.fd |
Database merci (per giacenze componenti) |
| PRNTOPER |
prntoper.fd |
Operatori (per filtro reparto) |
| COGRACMC |
cogracmc.fd |
Raggruppamento codice merce avanzato |
| COGAZGRP |
cogazgrp.fd |
Gruppo aziende (per verifica abilitazione magazzino) |
Programmi chiamati
| Programma |
Scopo |
| COGM67 |
Visualizzazione merci in BDP (S-F8: dettaglio prenotato) |
| COGO35 |
Dettaglio impegnato vendita/produzione/ordinato (F5, F6, F7) |
| COGV43 |
Movimenti di magazzino (F8) |
| COGV55 |
Visualizzazione lotti (S-F7) |
| COGV30 |
Dettaglio per Artic Seals (F6) |
| COGQ44 |
Situazione produzione (F9, per Artic Seals) |
| COGW53 |
Dettaglio per lavorante (F11) |
| COGF59 |
Dettaglio componenti (F1 su tipo distinta "C") |
| COGD83 |
Visualizzazione supporti (S-F7) |
| WMSW02 |
Gestione locazioni tablet (S-F6) |
| COGM07 |
Gestione locazioni non-tablet (S-F6) |
| WIN068 |
Visualizzazione serial numbers (S-F9) |
| WIN113 |
Ricerca gruppo avanzato (F8 su campo gruppo) |
| COGU10W |
Utility valute/divisioni |
| COGU16W |
Utility navigazione paginata ordinata |
| COGU23 |
Calcolo impegno differenziato |
| COGL61 |
Calcolo prezzi acquisto (PUA/PMA) |
| COGS0B |
Verifica abilitazione gruppo aziende |
| COGS68W |
Ricerca strutturata merce |
| GRIDADMN |
Gestore griglia interattiva |
| RNEWCONF |
Lettura configurazioni (via x99-confi) |
Copybook principali
Screen Designer (generati)
| Copybook |
Contenuto |
cogv35-01.scr |
Maschera principale (screen section) |
cogv35.select |
SELECT dei file acceduti |
cogv35.fd |
FD dei file acceduti |
cogv35.wrk |
Working storage generata |
cogv35.decla |
Declaratives |
cogv35.prc |
Procedure division generate |
Gestionale
| Copybook |
Contenuto |
cogfiles.cpy |
Record tabella nomi file |
cogazien.cpy |
Record dati azienda (personalizzazioni, flag) |
utilv35.cpy |
Interfaccia linkage per chiamata esterna (v35-called, v35-ope, v35-mag, v35-merce, v35-funzio) |
utilcogm67.cpy |
Interfaccia per richiamo COGM67 (cogm67-called, cogm67-ope, cogm67-merce, cogm67-mag) |
k-personal.cpy |
Costanti personalizzazione (EX, Sgarbi, Artic Seals, ecc.) |
k-tipi-cogtabel.cpy |
Costanti tipi tabella (brand) |
Utility / Framework
| Copybook |
Contenuto |
wgrid.cpy |
Working per gestione griglie |
utilgdad.cpy |
Working per GRIDADMN |
utils52.cpy |
Working per utility COGS52W (date) |
utils68.cpy |
Working per utility COGS68W (ricerca merce) |
utilu10.cpy |
Working per utility COGU10W (divisa) |
utilu16.cpy |
Working per utility COGU16W (navigazione paginata) |
utilu20.cpy |
Working per utility COGU20 |
utilu23.cpy |
Working per utility COGU23 (impegno differenziato) |
utilw36.cpy |
Working per utility COGW36 (magazzini) |
utilw113.cpy |
Working per utility WIN113 (gruppi avanzati) |
utilncnf.cpy |
Working per utility configurazione |
utilgesdebug.cpy |
Working per gestione debug |
utilcogl61.cpy |
Working per utility COGL61 (prezzi acquisto) |
utilcogw53.cpy |
Working per utility COGW53 (dettaglio lavorante) |
utilcogq44.cpy |
Working per utility COGQ44 (produzione) |
utilcogs0b.cpy |
Working per utility COGS0B (abilitazione gruppo aziende) |
utildlg.cpy |
Working per DIALOGS |
Configurazioni
La configurazione viene letta tramite RNEWCONF nel paragrafo x99-confi e caricata nella struttura tab-config:
| Campo |
Descrizione |
tm-cfg-vis-null |
"N" = nascondi articoli con tutte le quantita' a zero |
tm-cfg-mod-imp |
Modalita' impegno: "S"=differenziato attivo, "D"=differenziato con calcolo COGU23, " "=standard |
tm-cfg-fl-mag |
Flag magazzino |
tm-cfg-mag-prova |
Codice magazzino prova (se valorizzato, mostra la colonna giacenza prova) |
tm-cfg-mag-clavoro |
Codice magazzino conto lavoro (abilita F11 dettaglio lavorante) |
tm-cfg-filtro-per-reparto |
"S" = filtra gli articoli per reparto dell'operatore |
tm-cfg-listino (1..3) |
Codici listino da visualizzare (fino a 3; se vuoti, colonne nascoste) |
tm-cfg-lis-des (1..3) |
Descrizioni dei listini (usate come titolo colonna) |
tm-cfg-gruppo-aziende |
"S" = verifica abilitazione magazzino tramite gruppo aziende (COGS0B) |
tm-cfg-gestione-tablet |
"S" = usa WMSW02 per locazioni (invece di COGM07) |
Note tecniche
- La griglia e' read-only: il paragrafo
z-operazioni-accessorie-grid respinge i tentativi di modifica con event-action-fail-terminate.
- Il massimo numero di elementi caricabili e' definito dalla costante
k-max-ele-tab = 900.
- Il programma supporta il debug tramite
gesdebug (attivato automaticamente in operatore 777 o tramite configurazione).
- Le merci con
mer-val = "O" (offerta) vengono scartate anche dopo il caricamento (rd1-ft-go).
- Le merci con
mer-classe = "S" vengono scartate.
- Le merci con codice
"999999999" vengono scartate.
- La visibilita' delle colonne griglia e' determinata dinamicamente nel paragrafo
z-gridadmn-prepara in base alla configurazione e alla personalizzazione aziendale.
- Il programma puo' richiamare se stesso ricorsivamente per le giacenze componenti (F10, operazione
GIACECOMP).
Storico Modifiche
| Build |
Descrizione |
| 2019/0525 |
Gestione locazioni tablet (WMSW02) alternativa a COGM07 |
| 2024/0323 |
Verifica abilitazione magazzino tramite gruppo aziende (COGS0B); aggiunta configurazione tm-cfg-gruppo-aziende |
| 2026/0126 |
Aggiunta colonna Modula in griglia (grd-modula, tm-r-modula) |
| 2026/03 |
Passaggio magazzino a COGM67: nella chiamata S-F8 (dettaglio prenotato), il programma ora propaga tm-mag a cogm67-mag, in modo che COGM67 filtri per il magazzino corrente anziche' usare il magazzino principale dell'azienda |
Documentazione tecnica -- 2026-03-28