Vai al contenuto

COGV2A — Codici alternativi di ricerca merci

Sorgente: cbl/cogv2a.cbl | Tipo: interattivo a griglia | Program-ID: cogv2a

Menu: Magazzino > Archivi & Tabelle > Varie > Codici alternativi di ricerca


Scopo

Gestione dei codici alternativi con cui e' possibile ricercare/richiamare una merce (codici "aggiuntivi" di ricerca). Ogni voce associa a una merce un codice alfanumerico libero (fino a 30 caratteri) che diventa una chiave di ricerca supplementare. I dati sono memorizzati sulla tabella COGMERCA con mca-tipo-codice = "A" (tipo codice di ricerca), chiave anagrafica azzerata (mca-ana-tip spaces, mca-ana-cod zero) e flag di validita' mca-val (record cancellato logicamente se "C").

Il programma usa il framework di griglia editabile "GRID-DET" (transito su file temporaneo t-grid-det) con salvataggio massivo differito: le modifiche vengono accumulate sul file di transito e riversate su COGMERCA solo alla conferma (F3). Puo' essere invocato anche in modalita' filtrata su una singola merce (cogv2a-called/cogv2a-caller/cogv2a-merce in utilcogv2a).

File e tabelle principali

File/Tabella Copybook Uso
COGMERCA (via feurtab) cogfiles.cpy, cogv2a.fd, cogv2a.select, cogmerca.k02 Codici merce alternativi di ricerca. Record mca-rec: mca-merce, mca-tipo-codice="A", mca-ana, mca-codice (30), mca-val. Chiave secondaria k02 usata per il controllo di univocita' del codice
COGMERCI accesso mer-rec (mer-chia, mer-descr) Validazione codice merce e recupero descrizione
t-grid-det via framework GRID-DET (gor-r/t-gor-r) File temporaneo di transito per la griglia editabile; creato/riordinato/riletto e cancellato in chiusura
util-gdad utilgdad.cpy Interscambio con GRIDADMN
util-s68 utils68.cpy Aiuto/ricerca merci (COGS68W)
util-ncnf utilncnf.cpy Struttura per configurazioni RNEWCONF (predisposta, vedi Note)
util-imppredf utilimppredf.cpy Gestione filtri/impostazioni predefinite della griglia
util-cogv2a utilcogv2a.cpy Copybook di link con il chiamante

Flusso principale

  1. apri — inizializzazione (z-99-init-program, ctr-abil, rd-azi, open-files), rilevamento invocazione filtrata (w-dc-called), abilitazione tasti funzione (F3 conferma/aggiorna, F8 aiuto, F9 ricerca avanzata, SHIFT-F4 griglia, SHIFT-F5 export Excel, CTRL-A/CTRL-E), creazione del menu pop-up di griglia (build-main-popup-grid-det), preparazione griglia GRID-DET.
  2. a4 — impostazione filtro merce, ordinamento predefinito (per codice, gcn-r-codice asc) e caricamento eventuale filtro di default (z-imppredf-carica-default).
  3. a-tm-merce — accept del filtro merce (con aiuto COGS68W). In modalita' chiamata salta direttamente alla conferma.
  4. a-leggi-dati / z-grid-det-crea-transito — crea il file di transito leggendo COGMERCA (scan st-cogmerca-notmin + rdnxt-cogmerca) filtrando mca-tipo-codice = "A", mca-ana-tip spaces, mca-ana-cod zero, mca-val spaces; se impostato il filtro merce, si limita alla merce indicata.
  5. a-grid — gestione della griglia editabile e-grid-det: CTRL-A aggiunge una riga vuota, CTRL-E marca/smarca la riga per cancellazione (flag tm-r-fl-agg = "C"), SHIFT-F4 personalizza colonne, SHIFT-F5 esporta in Excel, menu pop-up via right-click. F3 valida tutte le righe e chiede conferma degli aggiornamenti.
  6. Controlli rigax-controlla-tm-r-mer (merce codificata), x-controlla-tm-r-codice (codice obbligatorio, normalizzato in maiuscolo, controllo di univocita' sia su COGMERCA via chiave secondaria k02 sia sul file di transito: il codice non deve essere gia' collegato ad altra merce).
  7. b-aggiorna — riversamento del transito su COGMERCA alla conferma. Gestisce i casi: riga marcata "C" -> cancellazione logica (mca-val = "C"); inserimento (wr-cogmerca); modifica come cancellazione precedente + inserimento attuale quando merce/codice sono cambiati.
  8. fine / z-chiudi — chiusura file, cancel "COGS68W", chiusura e delete del temporaneo t-grid-det, distruzione menu, z-99-exit-program.

Sottoprogrammi chiamati

Programma Ruolo
COGS68W Aiuto/ricerca merci sul filtro e nelle colonne merce della griglia (util-s68)
GRIDADMN Gestione/personalizzazione griglia dettaglio GRID-DET
W$MENU Attivazione del menu contestuale (pop-up) della griglia su right-click
RNEWCONF Predisposto ma non attivo (paragrafo x99-confi commentato, vedi Note)

Configurazioni (RNEWCONF)

Il programma predispone la struttura util-ncnf e un paragrafo x99-confi, ma la chiamata a RNEWCONF e' interamente commentata nel sorgente: al momento non usa configurazioni RNEWCONF attive. Il pulsante F1-configura e la gestione di tm-cfg- sono presenti solo come scaffolding predisposto.

Note

  • Cancellazione logica: le righe non vengono eliminate fisicamente da COGMERCA ma marcate con mca-val = "C"; in lettura vengono considerate solo quelle con mca-val spaces.
  • Il codice di ricerca viene forzato in maiuscolo (function upper-case) e deve essere univoco: il controllo verifica sia i record gia' su COGMERCA (chiave secondaria cogmerca.k02, per codice), sia le righe presenti sul file di transito, per evitare di collegare lo stesso codice a merci diverse.
  • Framework griglia editabile GRID-DET con transito su file temporaneo e aggiornamento massivo differito alla conferma; ampio uso di paragrafi/entry-point generati (z-grid-det-*, x-*grid-det, z-s68-*-ep).
  • Presente l'export della griglia in Excel (SHIFT-F5, z-esporta-grid-det).
  • Gran parte del codice per filtri memorizzati (CTRL-S/CTRL-F, z-imppredf-salva/ z-imppredf-seleziona) e per i pulsanti custom e' commentata: attivo solo il caricamento del filtro di default.