Vai al contenuto

COGV3B - Destinazione serial number acquistati

Panoramica

Programma interattivo GUI che analizza, per gli articoli gestiti a serial number, la "destinazione" dei serial number acquistati: partendo dai movimenti di carico da fornitore (entrate), traccia per ogni serial number dove e' finito, cioe' se e' stato venduto (destinazione "Vendita") o impiegato in produzione (destinazione "Produzione"), risalendo ai relativi documenti di uscita, clienti e commesse. I risultati sono presentati in una griglia paginata (GRID-DET) esportabile in Excel; per ogni serial number e' possibile aprire lo storico completo (tracking S/N) tramite COGV89.

E' una visualizzazione di sola consultazione: estrae i dati in un file di transito indicizzato temporaneo (T-GRID-DET) e li mostra in griglia senza aggiornare gli archivi. Puo' essere lanciato da menu oppure richiamato da un altro programma (modalita' "called", con merce preimpostata).

Posizione nel menu

Menu Percorso
Magazzino Visualizzazioni > Serial Numbers > Destinazione s/n acquistati

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema
COGTABEL Input Tabella generica
COGMERCI Input Anagrafica merci (verifica gestione a s/n tramite mer-fl-sn)
COGGEANA Input Anagrafica fornitori/clienti (descrizioni)
COGTESBO Input Testate bolle/documenti (data, cliente del documento di uscita)
COGMOMAG Input Movimenti di magazzino: entrate da fornitore (scansione per merce+data via .k04)
COGLAVOR Input Commesse di lavorazione/produzione (merce del prodotto finito, per la destinazione produzione)
COGMATRI Input Matricole/serial number di entrata (scansione per testata+merce via .k03)
COGMTUSC Input Movimenti di uscita dei serial number (destinazione del s/n)
COGGENER Input Archivio generico (collegamento uscita -> commessa di produzione via .k02, tipo "LP")
COGMTDET Input Dettaglio matricole (collegamento matricola di carico -> uscita del prodotto finito, via .k02)
T-GRID-DET I-O (temp) File di transito indicizzato che raccoglie le righe estratte per la griglia (nome univoco per operatore)
TRAN-S56 Input (temp) File di transito del filtro avanzato (elenco merci selezionate da COGS56)
WIN159-T-SEL (T-SEL) Input (temp) File di transito della selezione multipla articoli (da COGX40)
EXP-GRID Output File sequenziale per l'export Excel della griglia

Copybook principali

Copybook Descrizione
cogv3b.select / cogv3b.fd SELECT e File Description (generati da Screens)
cogv3b.wrk / cogv3b.prc / cogv3b.decla Working storage, procedure di I/O e declaratives generati
cogv3b.tm Campi modificabili di maschera (definiti da Screens) usati in tab-maschera
cogv3b-01.scr Screen section
cogv3b.imppredf-wrk / cogv3b.imppredf Working e procedure per il salvataggio/caricamento dei filtri predefiniti
cogmomag.k04 / cogmatri.k03 / coggener.k02 / cogmtdet.k02 Chiavi secondarie - incluse manualmente
tran-s56.fd / tran-s56.cpy / tran-s56.k01 Transito filtro avanzato (COGS56)
win159-t-sel.fd / win159-t-sel.cpy / win159-t-sel.k01 Transito selezione multipla articoli
k-tipi-cogtabel.cpy Costanti tipi COGTABEL
cogazien.cpy Dati azienda
wgrid.cpy / utilgdad.cpy Gestione griglia GRID-DET (GRIDADMN)
utils65.cpy / utils68.cpy Interfacce ricerca anagrafica (COGS65W) e merce (COGS68W)
utils52.cpy / utils56.cpy Interfacce data (COGS52) e filtro avanzato (COGS56)
utilu10.cpy / utilu20.cpy Interfacce edita importi (COGU10) e conversione codice/barcode (COGU20)
utilcogx40.cpy Interfaccia selezione multipla articoli (COGX40)
utilv89.cpy Interfaccia tracking serial number (COGV89)
utilgesdate.cpy / utilimppredf.cpy / utilncnf.cpy Utility date, filtri predefiniti, configurazioni RNEWCONF
utilcogv3b.cpy Parametri di chiamata (linkage) per l'uso in modalita' "called"

Chiamate a sottoprogrammi (CALL)

Programma Scopo
GRIDADMN Gestione e personalizzazione della griglia paginata GRID-DET
COGS65W Ricerca/help anagrafica fornitore
COGS68W Ricerca/help merce (gruppo/sottogruppo/codice)
COGS52 Gestione/validazione campi data (via utils52)
COGS56 Filtro avanzato di selezione articoli (via utils56)
COGX40 Selezione multipla di articoli
COGV89 Storico/tracking di un singolo serial number
W$MENU Attivazione del menu contestuale (right-click) della griglia

Logica di elaborazione

1. Inizializzazione (apri)

Controlla l'abilitazione, inizializza il programma, legge i dati azienda e apre i file. Se richiamato in modalita' "called" (cogv3b-called = "cogv3b-CALLED") recupera dal chiamante la merce da analizzare. Costruisce il menu contestuale della griglia (build-main-popup-grid-det), carica le bitmap e crea i pulsanti custom della tool-bar: "Salva impostazione (CTRL-S)", "Cerca impostazione (CTRL-F)" e "Tracking S/N (F1)". Attiva i tasti funzione (F3 conferma, F8 aiuto/calendario, F9 ricerca avanzata, Shift-F4 griglia, Shift-F5 esporta Excel), imposta il titolo "Destinazione s/n acquistati" e prepara i controlli e la griglia GRID-DET.

2. Reset e default (a4)

Inizializza tab-maschera, azzera i flag di filtro avanzato e selezione multipla, imposta l'ordinamento predefinito della griglia (per matricola e per data di acquisto, crescenti) e carica l'eventuale filtro predefinito salvato (z-imppredf-carica-default). In modalita' "called" preimposta la merce e salta direttamente alla conferma.

3. Accept dei filtri

Serie di paragrafi a-tm-* con navigazione F2 (indietro) / F3 (conferma) / mouse (x-test-mouse):

  • a-tm-data-da / a-tm-data-a: intervallo di date di estrazione (obbligatorie, con controllo "da <= a"), via COGS52 con calendario;
  • a-tm-merce: merce, via COGS68W; deve essere un articolo gestito a serial number (mer-fl-sn = "T" o "I"), altrimenti errore;
  • a-tm-filtro-ava: attivazione del filtro avanzato tramite COGS56 (che produce il transito TRAN-S56 con l'elenco delle merci);
  • a-tm-sel-multipla: attivazione della selezione multipla di articoli tramite COGX40 (che produce il transito T-SEL);
  • a-tm-for: fornitore, via COGS65W.

x-imposta-conferma valida tutti i campi e impone che sia impostato uno solo tra i tre criteri di selezione articoli (filtro avanzato, selezione multipla, merce singola): la conferma e' bloccata se ne sono impostati piu' di uno o nessuno.

4. Estrazione dati (a-leggi-dati / z-grid-det-crea-transito)

Apre il transito T-GRID-DET, quindi in z-grid-det-crea-transito sceglie il criterio:

  • Filtro avanzato (b1-filtro-ava): scandisce il transito TRAN-S56 e per ogni merce esegue x-elabora-tm-merce;
  • Selezione multipla (b2-sel-multipla): scandisce il transito T-SEL e per ogni merce esegue x-elabora-tm-merce;
  • Merce singola: esegue direttamente x-elabora-tm-merce.

In x-elabora-tm-merce, per ciascuna merce gestita a s/n: - scandisce COGMOMAG per merce + intervallo di date (.k04), considerando solo i documenti di entrata da fornitore (mag-tipob1 = "C") e, se richiesto, filtrando per fornitore (mag-tipocf = "F" e mag-nonno = tm-for); - per ogni entrata scandisce le matricole/serial number di carico in COGMATRI per testata+merce (.k03); - per ogni matricola legge il movimento di uscita del serial number in COGMTUSC (rd-cogmtusc) e determina la destinazione: - se il documento di uscita non e' una bolla di magazzino, scrive il transito senza riferimenti di uscita; - se e' una bolla ma non di tipo produzione ("P"), la destinazione e' Vendita ("V"): legge la testata COGTESBO per data e cliente e ne recupera il nominativo da COGGEANA; - se e' di tipo "P", la destinazione e' Produzione ("P"): tramite COGGENER (tipo "LP") risale alla commessa, legge COGLAVOR per la merce del prodotto finito e, tramite COGMTDET, l'eventuale uscita del prodotto finito, la relativa testata (COGTESBO), il cliente e il documento di vendita. - ogni riga risultante viene scritta nel transito (z-grid-det-inserisci-t-rec).

Se non emergono righe (w-no-filtro = "N") torna alla schermata dei filtri.

5. Caricamento e interazione sulla griglia (a-grid-ini / a-grid)

Riordina il transito (z-grid-det-riordina-transito) secondo l'ordinamento impostato e carica la griglia GRID-DET (z-grid-det-carica-tab). Sulla griglia gestisce: ESC (uscita), Shift-F4 (personalizzazione colonne via GRIDADMN), Shift-F5 (export Excel), F1 (tracking del serial number selezionato tramite COGV89), il menu pop-up da right-click (via W$MENU) e le sue voci (con eventuale ricarica dati), oltre a CTRL-S / CTRL-F per salvare e caricare i filtri predefiniti.

6. Chiusura (fine / z-chiudi)

Chiude i file, chiude ed elimina il transito T-GRID-DET, distrugge il menu della griglia, chiude la finestra ed esce.

Note tecniche

  • Articoli gestiti a s/n: solo gli articoli con mer-fl-sn = "T" o "I" (in COGMERCI) sono trattati; gli altri vengono scartati sia in validazione sia in estrazione.
  • Catena di risalita della destinazione: il cuore del programma e' la catena entrata (COGMOMAG "C") -> matricola di carico (COGMATRI) -> uscita del s/n (COGMTUSC) -> destinazione. Per la destinazione produzione la catena prosegue con COGGENER (tipo "LP", collegamento uscita-commessa) -> COGLAVOR (commessa/prodotto finito) -> COGMTDET (dettaglio matricole) -> uscita del prodotto finito -> COGTESBO/COGGEANA (documento e cliente di vendita).
  • File di transito: T-GRID-DET e' il buffer indicizzato tra estrazione e griglia, con doppia chiave (t-gor-r-chia1/t-gor-r-chia2) e nome univoco per operatore, creato all'ingresso ed eliminato in uscita. TRAN-S56 e T-SEL sono transiti di supporto ai criteri di selezione (filtro avanzato COGS56, selezione multipla COGX40), dichiarati manualmente nel sorgente.
  • Criteri di selezione mutuamente esclusivi: filtro avanzato, selezione multipla e merce singola non sono combinabili: x-imposta-conferma ammette esattamente un criterio attivo.
  • Filtri predefiniti: tramite cogv3b.imppredf il programma consente di salvare (CTRL-S) e recuperare (CTRL-F) configurazioni di filtro; all'avvio carica l'eventuale filtro di default.
  • Modalita' "called": quando lanciato da un altro programma (linkage util-cogv3b, cogv3b-called = "cogv3b-CALLED"), riceve la merce da analizzare e salta la fase di immissione filtri, tornando al chiamante all'uscita.
  • Filtro applicato sulla griglia: essendo la quantita' popolata solo in aggiornamento per gli articoli a s/n, il filtro di griglia e' forzato in modalita' "su griglia" (k-filtro-su-griglia) anziche' sul transito.
  • Dimensione sorgente: circa 1.703 righe (cbl/cogv3b.cbl).