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 eseguex-elabora-tm-merce; - Selezione multipla (
b2-sel-multipla): scandisce il transito T-SEL e per ogni merce eseguex-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-confermaammette esattamente un criterio attivo. - Filtri predefiniti: tramite
cogv3b.imppredfil 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).