Vai al contenuto

COGW53 - Visualizzazione giacenze magazzini secondari

Sorgente: cbl/cogw53.cbl | Tipo: Programma interattivo GUI con griglia paginata | Program-ID: COGW53

Menu:

  • Magazzino > Giacenze & Sottoscorta > Magazzini secondari
  • Magazzino > Produzione > Produzione > Visualizzazioni > Giacenze lavorante

Scopo

Visualizza in una griglia paginata le giacenze dei magazzini secondari (conto deposito / conto lavoro presso terzi), lette dai saldi per chiave COGSLKEY. Nel commento di testata del sorgente la funzione e' descritta come "Visualizzazione giacenze presso lavorante": i magazzini secondari coincidono con i lavoranti/fornitori (conto lavoro) o clienti (conto deposito).

L'operatore sceglie un tipo magazzino e imposta i filtri; il programma estrae le giacenze corrispondenti in un file di transito temporaneo e le mostra in griglia con quantita', codice del cliente/fornitore/magazzino di appoggio e l'anagrafica collegata. Da griglia (F8) puo' aprire il dettaglio movimenti tramite COGW54. E' una funzione di sola consultazione.

Il tipo magazzino (tm-tipo-mag) discrimina le modalita':

  • C / F = giacenze presso un cliente / fornitore (conto deposito / conto lavoro);
  • E = giacenze di un magazzino secondario esterno;
  • A = tutti i magazzini secondari di una anagrafica (tipo + codice, scansione COGMAGPE);
  • T = tutti i magazzini per una merce.

Il programma puo' essere richiamato da altro modulo (cogw53-called = "COGW53-CALLED") con lavorante, merce e anagrafica di riferimento pre-impostati (linkage utilcogw53.cpy).


Struttura del programma

Flusso principale

  1. Inizializzazione (apri): z-99-init-program, abilitazione, lettura azienda, apertura file, abilitazione tasti F1 configura, F3 conferma, F8 aiuto/movimenti, F9 ricerca avanzata, Shift-F4 griglia, Shift-F5 export Excel; imposta il tipo anagrafica da wo-parametro; se richiamato, carica i dati dal linkage. Legge la configurazione RNEWCONF (x99-confi). Prepara ricerca merce (COGS68W) e griglia.
  2. Reset / parametri (a4): svuota griglia e tab-maschera; se chiamato porta i dati e salta ai filtri; alla prima volta (prima-volta) precompila l'anagrafica dall'ultimo log di stampa (PRNTLOGN) del l'operatore.
  3. Accept filtri: tipo magazzino (a-tm-tipo-mag), tipo anagrafica (a-tm-ana-tip), cliente (a-tm-ana-cli) / fornitore (a-tm-ana-for) via COGS65W, fornitore/cliente/magazzino di appoggio (a-tm-for via COGS65W, a-tm-mag via COGS66W), merce (a-tm-merce via COGS68W), flag "giacenze a 0" (a-tm-fl-giac-0). Navigazione F2/F3/mouse (x-test-mouse).
  4. Conferma (a-fine-dati, x-controlla-dati): valida i criteri di ricerca obbligatori secondo il tipo magazzino, apre il transito e lo popola (scrivi-cogtrans).
  5. Griglia (a-grid-ini / carica-tab / a-grid): caricamento paginato dal transito con navigazione avanti/indietro; F8 apre i movimenti (COGW54), Shift-F4 personalizza colonne, Shift-F5 esporta in Excel.
  6. Chiusura (fine): chiude e cancella COGTRANS.

Estrazione (scrivi-cogtrans)

  • tipo "A": scandisce COGMAGPE per l'anagrafica (.k03, tipo + codice); per ogni magazzino secondario esegue scrivi-cogtrans-bis;
  • tipi C / F / E: scandisce COGSLKEY per chiave secondaria (.k02, tipo "M" + tipo/codice chiave);
  • tipo "T": scandisce COGSLKEY per merce (notmin);
  • per ogni record COGSLKEY (slk-tip = "M") applica i filtri su merce, tipo e codice chiave, quindi write-cogtrans.

write-cogtrans scrive nel transito la giacenza e gli importi (prenotato, venduto, prodotto, prenotazioni, ordinato, quantita' fatturata); se attivo il codice merce avanzato (az-mer-ava) usa il codice avanzato (COGRACMC) nella chiave secondaria. Il flag tm-fl-giac-0 (marcatore 150219) decide se includere le giacenze a zero.

Griglia (rd-controlli-fill / rd1-ft-go)

In fase di caricamento paginato, per ogni riga risolve:

  • descrizione merce e UM da COGMERCI; flag giacenza da COGMERAP (righe con map-fl-gia = "N", merce fittizia 999999999 o classe "S" escluse);
  • se tm-cfg-vis-null = "N" esclude le giacenze a zero;
  • per chiavi C/F: anagrafica lavorante da COGGEANA e magazzino secondario collegato (COGMAGPE) con anagrafica di riferimento;
  • per chiavi E: descrizione magazzino da COGMAGPE e anagrafica di riferimento.

Tabelle e file

File logico Chiave / accesso Descrizione
FEURTAB - Tabella di sistema
COGSLKEY .k02 (tipo+chiave) / merce Saldi di magazzino per chiave (giacenze magazzini secondari) - fonte dell'estrazione
COGMAGPE mgp-chia1 / .k03 (anagrafica) Magazzini secondari (descrizione, anagrafica di appoggio)
COGGEANA ana-chia Anagrafica clienti/fornitori (lavoranti)
COGMERCI mer-chia Anagrafica merci (descrizione, UM)
COGMERAP map-chia Merci - dati aggiuntivi (flag giacenza)
COGRACMC .k02 (merce) Codici merce avanzati (chiave secondaria transito se az-mer-ava)
PRNTLOGN .k02 (operatore) Log stampe operatore (precompilazione anagrafica alla prima apertura)
COGTRANS primaria trs-chia1 (tipo+merce+chiave); sec. trs-chia2 duplicates Transito temporaneo #$cogw53.<operatore>-<ora>: giacenza e importi per merce/magazzino secondario

COPY incluse

Working-Storage

cogw53.wrk, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, wgrid.cpy, utilgdad.cpy, utilncnf.cpy, utils65.cpy, utils68.cpy, utilu20.cpy, utilcogw54.cpy, utils66.cpy

Linkage

wcont.cpy, wcont1.cpy, utilcogw53.cpy (parametri di chiamata: cogw53-called, cogw53-lav, cogw53-merce, cogw53-ana-rif)

Procedure Division

cogw53.decla, cogw53-01.scr (screen), grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, cogw53.prc, dtab.cpy, fscrol2.cpy, utilpggr.cpy, prntlogn.k02, cogracmc.k02, cogmagpe.k03, cogtrans.k01, cogtrans.k02, cogslkey.k02


CALL a sottoprogrammi

Programma Scopo
COGS65W Ricerca/help anagrafica cliente e fornitore
COGS66W Accept/lookup magazzino secondario
COGS68W Ricerca/help merce
COGW54 Dettaglio movimenti del magazzino secondario (F8 sulla riga di griglia)
GRIDADMN Gestione griglia paginata (Prepara, Svuota, Add-Record, personalizzazione, export Excel)
RNEWCONF Lettura e modifica configurazione

Configurazioni RNEWCONF

Lette e modificabili in x99-confi (pacchetto "C", 1 chiave). Il tasto F1 sui campi fornitore/magazzino richiama x99-confi con ncnf-ope = "Modifica" per aggiornare la configurazione:

Gruppo Chiave Variabile Descrizione
conto-lav vis-giac-zero tm-cfg-vis-null Se "N", esclude dalla griglia le merci con giacenza a zero

Note tecniche

  • Modalita' cliente/fornitore/magazzino/tutti: tm-tipo-mag seleziona il ramo di estrazione da COGSLKEY (per chiave anagrafica) o COGMAGPE (per anagrafica, tipo "A") con controlli di ricerca obbligatori differenziati in x-controlla-dati.
  • File di transito con nome univoco: include operatore e ora corrente (#$cogw53.<operatore>-<timesis>) per evitare collisioni; e' aperto in output, poi I-O, e cancellato con delete file alla chiusura.
  • Codice merce avanzato: se az-mer-ava = "S" o "C", la chiave secondaria del transito e il codice mostrato usano il codice avanzato letto da COGRACMC.
  • Precompilazione dall'ultimo log (prima-volta): alla prima apertura non-richiamata, se l'ultimo record PRNTLOGN dell'operatore ha una anagrafica valida, imposta tipo magazzino "A" con quell'anagrafica.
  • Anagrafica di riferimento: per ogni magazzino secondario risolve anche l'anagrafica di appoggio (mgp-ana-tip/mgp-ana-cod) e la relativa descrizione (COGGEANA), mostrata come colonna di riferimento in griglia.
  • Il flag "giacenze a 0" (tm-fl-giac-0, marcatore 150219) e' un secondo filtro applicato in write-cogtrans, distinto dalla configurazione vis-giac-zero applicata in fase di caricamento griglia.