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¶
- 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 dawo-parametro; se richiamato, carica i dati dal linkage. Legge la configurazione RNEWCONF (x99-confi). Prepara ricerca merce (COGS68W) e griglia. - Reset / parametri (
a4): svuota griglia etab-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. - 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-forvia COGS65W,a-tm-magvia COGS66W), merce (a-tm-mercevia COGS68W), flag "giacenze a 0" (a-tm-fl-giac-0). Navigazione F2/F3/mouse (x-test-mouse). - 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). - 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. - Chiusura (
fine): chiude e cancella COGTRANS.
Estrazione (scrivi-cogtrans)¶
- tipo "A": scandisce COGMAGPE per l'anagrafica (
.k03, tipo + codice); per ogni magazzino secondario eseguescrivi-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, quindiwrite-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 fittizia999999999o 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-magseleziona il ramo di estrazione da COGSLKEY (per chiave anagrafica) o COGMAGPE (per anagrafica, tipo "A") con controlli di ricerca obbligatori differenziati inx-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 condelete filealla 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, marcatore150219) e' un secondo filtro applicato inwrite-cogtrans, distinto dalla configurazionevis-giac-zeroapplicata in fase di caricamento griglia.