Vai al contenuto

COGV3C - Analisi per Riordino Articoli

Sorgente: cbl/cogv3c.cbl | Tipo: Programma interattivo a griglia con filtri | Program-ID: COGV3C

Menu:

  • Magazzino > Giacenze & Sottoscorta > Riordino
  • Ordini > Fornitori > Visualizzazioni > Analisi per Riordino Articoli

Scopo

COGV3C e' un programma interattivo di analisi per il riordino degli articoli. Presenta una maschera con filtri (raggruppamenti merci, codice merce, range date, magazzino) e una griglia di risultati che mostra i saldi di magazzino degli articoli selezionati, con informazioni aggiuntive utili alla pianificazione degli ordini di acquisto: quantita' giacente, impegnata, ordinata, prenotata, dati logistici (strati pallet, pallet, tempi di consegna, shelf life).

Il programma legge i saldi magazzino (COGSLMAG) e li incrocia con l'anagrafica merci (COGMERCI), i dati di appoggio merci (COGMERAP per i raggruppamenti) e i dati aggiuntivi merci (COGMERA4 per i parametri logistici). La griglia e' ordinabile per magazzino e codice merce, supporta il menu contestuale (right-click), l'export Excel (Shift-F5), la gestione colonne tramite GRIDADMN (Shift-F4), e il filtro/ordinamento predefinito tramite imppredf.


Filtri di selezione

Campo Variabile Tipo Descrizione
Raggruppamento 1 tm-ragr-1 x(2) Codice raggruppamento merce livello 1 (COGTABEL tipo 17, arg "1"). F8 = aiuto (COGW29)
Raggruppamento 2 tm-ragr-2 x(2) Codice raggruppamento merce livello 2 (COGTABEL tipo 17, arg "2"). F8 = aiuto (COGW29)
Raggruppamento 3 tm-ragr-3 x(2) Codice raggruppamento merce livello 3 (COGTABEL tipo 17, arg "3"). F8 = aiuto (COGW29)
Merce tm-merce (gru/sot/cod/cma/cmc/cmf/bc/des) composito Codice merce tramite ricerca strutturata (COGS68W)
Dalla Data tm-datada 9(8) Data inizio analisi (default: 1 gennaio dell'anno corrente)
A Data tm-dataa 9(8) Data fine analisi (default: data di sistema)
Magazzino tm-mag x(1) Codice magazzino (validato su COGMAGAZ). F8 = aiuto (COGW36)

Colonne griglia (dati per riga)

Campo Variabile Descrizione
Codice merce t-gor-r-mer-cm Codice articolo (gruppo+sottogruppo+codice)
Magazzino t-gor-r-mag Codice magazzino
Desc. magazzino t-gor-r-mag-d Descrizione magazzino
U.M. t-gor-r-um Unita' di misura
Qta' giacente t-gor-r-qta-gia Giacenza attuale da saldo magazzino
Qta' impegnata t-gor-r-qta-imp Quantita' impegnata (prenotata da ordini cliente)
Qta' ordinata t-gor-r-qta-ord Quantita' ordinata (in arrivo da fornitori)
Qta' prenotata t-gor-r-qta-pren Quantita' prenotata
Strati pallet t-gor-r-strati-pal Strati per pallet (da COGMERA4)
Pallet t-gor-r-pallet Quantita' per pallet (da COGMERA4)
Tempi consegna t-gor-r-tempi-cons Tempi di consegna (da COGMERA4)
Shelf life t-gor-r-self-life Shelf life del prodotto (da COGMERA4)
Minimo consegna t-gor-r-min-cons Quantita' minima di consegna (da COGMERA4.ma4-min-cons)
Tempi consegna (alfanum.) t-gor-r-time-cons Tempi di consegna alfanumerici (da COGMERA4.ma4-time-cons)
Forn. preferenziale t-gor-r-forn-prf Codice fornitore preferenziale (da COGMERFO + COGCNDCF)
Desc. forn. pref. t-gor-r-forn-prf-d Descrizione fornitore preferenziale (da COGGEANA)
Tipo ribasso t-gor-r-ana-rb Codice tipo ribasso del fornitore (da COGGEANA.ana-rb)
Desc. tipo ribasso t-gor-r-ana-rb-d Descrizione tipo ribasso (da COGTABEL tipo 22)
Tipo pagamento t-gor-r-ana-pag Codice tipo pagamento del fornitore (da COGGEANA.ana-pag1)
Desc. tipo pagamento t-gor-r-ana-pag-d Descrizione tipo pagamento (da COGTABEL tipo 14)

Logica di Elaborazione

Flusso principale

  1. Inizializzazione: controllo abilitazione, apertura file, lettura divisa contabile (COGU10W), creazione griglia e file transito, lettura etichette raggruppamenti da COGTABEL (tipo 17, arg 1/2/3).
  2. Accettazione filtri: sequenza di accept per Raggruppamento 1, 2, 3, Merce, Data Da, Data A, Magazzino. Ogni campo e' validato in tempo reale. F3 lancia la conferma.
  3. Conferma e ricerca: tutti i filtri vengono rivalidati (x-imposta-conferma); se OK, si attiva il caricamento dati.
  4. Caricamento dati (carica-dati):
  5. Se il magazzino e' specificato, posiziona su COGSLMAG con chiave 2 (magazzino + merce); altrimenti usa la chiave 1 (merce).
  6. Cicla su tutti i record di saldo; per ciascuno:
    • Legge l'anagrafica merce (COGMERCI) -- se non trovata, salta.
    • Legge i dati di appoggio merce (COGMERAP) per i raggruppamenti.
    • Applica i filtri per raggruppamento 1, 2, 3 confrontando map-ragr-1/2/3 con i filtri impostati.
    • Compone la riga della griglia con: codice merce, magazzino (letto da COGMAGAZ), U.M., quantita' (giacente/impegnata/ordinata/prenotata), parametri logistici da COGMERA4 (strati pallet, pallet, tempi consegna, shelf life).
  7. Gestione griglia: l'utente naviga la griglia read-only. Funzioni disponibili:
  8. Shift-F4: gestione colonne (GRIDADMN)
  9. Shift-F5: export Excel
  10. Right-click: menu contestuale (popup)
  11. ESC: torna ai filtri
  12. Chiusura: chiude i file, elimina il file transito della griglia, distrugge il menu popup.

Ordinamento predefinito

La griglia e' ordinata per magazzino (ascendente), poi codice merce (ascendente). L'utente puo' cambiare l'ordinamento tramite le funzionalita' della griglia.


File e Tabelle

File/Tabella Record Uso
FEURTAB fil-rec Tabella nomi file del gestionale
COGSLMAG msal-rec Saldi di magazzino -- tabella principale di lettura (chiave 1: merce+mag, chiave 2: mag+merce)
COGMERCI mer-rec Anagrafica articoli/merci
COGMERAP map-rec Dati di appoggio merci (raggruppamenti 1/2/3)
COGMERA4 ma4-rec Dati aggiuntivi merci (strati pallet, pallet, tempi consegna, shelf life, minimo consegna, tempi consegna alfanum.)
COGMERFO mfr-rec Raccordo merce-fornitore (per ricerca fornitore preferenziale)
COGCNDCF cnd-rec Condizioni commerciali fornitore (tipo "FP" = fornitore preferenziale)
COGGEANA ana-rec Anagrafica generale (per nome fornitore, tipo ribasso, tipo pagamento)
COGMAGAZ magz-rec Anagrafica magazzini
COGTABEL euta-rec Tabelle di sistema (tipo 17 = raggruppamenti merce, tipo 22 = tipi ribasso, tipo 14 = tipi pagamento)
T-GRID-DET t-gor-r-rec File transito temporaneo per la griglia

Programmi chiamati

Programma Scopo
COGU10W Recupera la divisa contabile per data (GetDivisaConto)
GRIDADMN Gestione layout colonne griglia (preparazione e personalizzazione)
COGW29 Ricerca raggruppamenti merce (popup F8 su campi ragr. 1/2/3) -- via sendw29.cpy
COGW36 Ricerca magazzini (popup F8 su campo magazzino) -- via sendw36.cpy
COGS68W Ricerca strutturata merce (accept articolo) -- via utils68.cpy
W$MENU Menu contestuale AcuCOBOL (right-click su griglia)

Copybook principali

Screen Designer (generati)

Copybook Contenuto
cogv3c-01.scr Maschera principale (screen section)
cogv3c.select SELECT dei file acceduti
cogv3c.fd FD dei file acceduti
cogv3c.wrk Working storage generata
cogv3c.tm Template campi modificabili della maschera
cogv3c.decla Declaratives (gestione errori I/O)
cogv3c.prc Procedure division generate (I/O, controlli, utility)
cogv3c.imppredf-wrk Working per gestione filtro predefinito
cogv3c.imppredf Procedure per gestione filtro predefinito

Gestionale

Copybook Contenuto
cogfiles.cpy Record tabella nomi file
cogslmag.cpy Record saldo magazzino
cogslmag.k02 Routine I/O chiave secondaria COGSLMAG (mag+merce)
cogmerci.cpy Record anagrafica merci
cogmerap.cpy Record appoggio merci
cogmera4.cpy Record dati aggiuntivi merci
cogazien.cpy Record dati azienda
k-u10.cpy Costanti per utility COGU10W

Utility / Framework

Copybook Contenuto
wgrid.cpy Working per gestione griglie
utilgdad.cpy Working per GRIDADMN
utilgcol.cpy Utility gestione colonne griglia
utils52.cpy Working per utility COGS52W (date)
utils68.cpy Working per utility COGS68W (ricerca merce)
utilu10.cpy Working per utility COGU10W (divisa)
utilu20.cpy Working per utility COGU20
utilw29.cpy Working per utility COGW29 (raggruppamenti)
utilw36.cpy Working per utility COGW36 (magazzini)
utilncnf.cpy Working per utility configurazione
utilimppredf.cpy Working per filtri predefiniti
utilgesdebug.cpy Working per gestione debug
k-personal.cpy Costanti personalizzazione
wcont.cpy / wcont1.cpy Linkage section (area comunicazione)
grave.cpy Routine gestione errori gravi
mmmask.cpy Routine gestione maschere
opengen.cpy Routine apertura file generica
stato.cpy / stato1.cpy Routine gestione stati file
winmsg.cpy Routine messaggi a finestra
sendw29.cpy Routine chiamata COGW29
sendw36.cpy Routine chiamata COGW36
gesdebug.cpy Routine gestione debug

Note tecniche

  • La griglia e' read-only: il paragrafo z-99-begin-entry-grid-det respinge tutti 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 filtro per merce avviene prima per posizionamento sulla chiave di COGSLMAG, poi per raggruppamento incrociando con COGMERAP.
  • Le colonne per totale uscite, media uscite, totale entrate, media entrate e ultimo ordine sono predisposte nella struttura t-gor-r ma risultano commentate nel sorgente (non ancora implementate).
  • Il programma supporta il salvataggio/caricamento del filtro predefinito tramite il framework imppredf.

Storico Modifiche

Build Descrizione
2026/0074 Programma nuovo
2026-03-31 Aggiunte colonne fornitore preferenziale (con ribasso e pagamento), minimo consegna, tempi consegna alfanumerici. Nuovo paragrafo cerca-forn-prf che cerca il primo fornitore con condizione "FP" su COGCNDCF e ne recupera i dati anagrafici (ribasso da COGTABEL tipo 22, pagamento da tipo 14). Aggiunte costanti k-euta-tipo-22 e k-euta-tipo-14

Documentazione tecnica generata automaticamente -- 2026-03-26