COGV05 - Gestione Magazzini¶
Sorgente: cbl/cogv05.cbl | Program-ID: COGV05 | Tipo: Programma interattivo (standalone, gestione anagrafica a maschera singola)
Menu: Magazzino > Archivi & Tabelle > Magazzini
Scopo¶
Gestione dell'anagrafica dei magazzini (inserimento, variazione, cancellazione e stampa). Ogni magazzino e' identificato dalla chiave "M" + codice (un carattere) e conserva dati anagrafici (descrizione, indirizzo, localita', provincia, CAP, telefono), il tipo magazzino (Interno, Lavorante, esterno Cliente, conto Terzi, Viaggiante), l'eventuale anagrafica collegata (cliente/fornitore/presidio sanitario), il magazzino "sede" di riferimento e la divisa per il calcolo dei prezzi medi. I dati "estesi" (coordinate geografiche, tipo documento per fatture e note di accredito, codice host, flag sede operativa) sono memorizzati su un secondo file affiancato al principale. E' prevista la stampa dell'elenco magazzini e la sincronizzazione della chiave verso il sistema esterno Areagate/KPN.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | Indexed | Input | Tabella nomi file (risoluzione percorsi fisici) |
| COGMAGAZ | Indexed | I-O | Anagrafica magazzini (record principale, chiave "M"+codice) |
| COGMAGAG | Indexed | I-O | Dati aggiuntivi anagrafica magazzino (coordinate, tipo doc, codice host, flag sede operativa e giorni di apertura) |
| COGTABEL | Indexed | Input | Tabella generica (tipo 26 province, tipo 56 divise, tipo 68 tipi documento IVA) |
| COGGEANA | Indexed | Input | Anagrafica clienti/fornitori (validazione codice anagrafico collegato) |
| FLSTA | - | Output | File di spool per la stampa dell'elenco magazzini |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
| feurtab.fd | SELECT tabella nomi file |
| cogv05.select | SELECT dei file gestiti (COGTABEL, COGGEANA, COGMAGAZ, COGMAGAG) |
| flsta.fd | SELECT file di stampa |
| cogfiles.cpy | Record FD FEURTAB |
| cogv05.fd | FD dei file gestiti (COGTABEL, COGGEANA, COGMAGAZ, COGMAGAG) |
| flsta.cpy | Record FD stampa |
| cogv05.wrk | Working-storage generata da Screens (costanti, id controlli, tabelle combo/lingua) |
| k-u10.cpy | Costanti importi/valori |
| utilncnf.cpy | Linkage lettura configurazioni (RNEWCONF) |
| wgrave.cpy | Gestione errori gravi |
| wnscr.cpy | Dati schermo |
| wopenf.cpy | Apertura file |
| wstato.cpy | Stato I/O |
| cogazien.cpy | Dati azienda (az-ges-ant, az-int, ...) |
| utilu20.cpy | Linkage COGU20W (input numerici) |
| utile22.cpy | Linkage COGE22 (ricerca divise) |
| utilf09.cpy | Linkage COGF09 (ricerca province) |
| utils54.cpy | Linkage COGS54 (impostazione stampa) |
| utils65.cpy | Linkage COGS65W (ricerca anagrafica) |
| utilw36.cpy | Linkage WIN036 (ricerca magazzino) |
| utilw67.cpy | Linkage WIN067 (ricerca tipo documento) |
| utilu10.cpy | Linkage COGU10 (importi) |
| utilbrws.cpy | Linkage BROWSER (apertura URL) |
| utilagprg.cpy | Linkage SWN097 (sincronizzazione chiave) |
| wcont.cpy | Linkage stringhe comuni |
| wcont1.cpy | Linkage area utente 2 |
| cogv05-01.scr | Screen section della maschera |
| cogv05.decla | Declaratives (gestione errori file) |
| grave.cpy | Paragrafi errori gravi |
| mmmask.cpy | Paragrafi init/exit programma |
| opengen.cpy | Paragrafi apertura file generici |
| stato.cpy / stato1.cpy | Controllo stato I/O |
| winmsg.cpy | Messaggi a video |
| cogv05.prc | Procedure generate da Screens (handler campi, aiuti, verbi I/O) |
| getdcont.cpy | Lettura dati contabilita' |
| sendw36.cpy | Paragrafo di chiamata a WIN036 |
Logica di elaborazione¶
- Inizializzazione:
perform z-99-init-program, controllo abilitazioni (ctr-abil), lettura configurazioneABILITA/GRUPPO-AZIENDEvia RNEWCONF (x99-confi), lettura dati azienda, apertura file. Vengono abilitati i tasti funzione F3 conferma/aggiorna, F4 cancella, F8 aiuto, F9 stampa/ricerca avanzata. Caricamento lingua, divisa di conto, bitmap e costruzione dei controlli della maschera. - Richiesta chiave (
a-tm-cod): accept del codice magazzino. F8 apre la ricerca magazzino (WIN036), F9 avvia la stampa dell'elenco (stp-magaz). Alla conferma (a-fine-chiave) si legge COGMAGAZ: se il record esistefl-vario = "V"(variazione) e si caricano i dati (carica-dati), altrimentifl-vario = "I"(inserimento). - Caricamento dati (
carica-dati): dal record COGMAGAZ si valorizza la maschera; i campi estesi (latitudine, longitudine, tipo documento fattura/nota accredito, codice host, flag sede operativa) sono letti dal record affiancato COGMAGAG. - Input campi: sequenza di accept (
a-tm-nome...a-tm-codice-host) con navigazione avanti/indietro tramite F2 e tasti evento mouse (x-test-mouse). Ogni campo ha un paragrafo di controllo (x-controlla-tm-*) che imposta il colore e il messaggio d'errore. Controlli notevoli: - Provincia: se valorizzata, verificata su COGTABEL tipo 26.
- Tipo magazzino (
z-cambia-tm-rap-ant): pilota visibilita' ed etichetta del campo anagrafica collegata (Fornitore per "L", Cliente/Pres.San per "C"/"I"/"V", nascosto per "T"). - Anagrafica collegata: se richiesta, verificata su COGGEANA (tipo C/F).
- Magazzino sede: se il magazzino e' esso stesso sede (
tm-fl-sede = "S") la sede coincide con il codice; altrimenti la sede e' obbligatoria e verificata su COGMAGAZ. - Divisa prezzi medi: obbligatoria solo per i magazzini sede, verificata su COGTABEL tipo 56.
- Tipo documento fattura / nota accredito: se valorizzati, verificati su COGTABEL tipo 68.
- Latitudine/Longitudine: controllo di range (lat <= 90, lon <= 180).
- Funzione mappe (
call-maps, tasto F6): compone l'URL Google Maps a partire dalle coordinate e lo apre tramite il sottoprogramma BROWSER. - Conferma e salvataggio (
a-fine-dati): validazione complessiva (x-controlla-dati), richiesta di conferma, controllo abilitazione inserimento/modifica. Scrittura: - COGMAGAG (dati estesi): riletto, aggiornato con coordinate, tipi documento, codice host,
flag sede operativa, quindi riscritto (
rwr-) o scritto (wr-). - COGMAGAZ (record principale): scritto in inserimento (
wr-) o riscritto in variazione (rwr-). - Sincronizzazione chiave verso Areagate/KPN (
x-sincronizza-kpn-> SWN097). - Sincronizzazione gruppo aziende (
a-sincronizza-aziende-gruppo, solounlockse la configurazione gruppo-aziende non e' attiva). - Cancellazione (
cancella, tasto F4): controllo abilitazione, conferma, rilettura in lock del record principale,del-cogmagaz, cancellazione del record COGMAGAG collegato, sincronizzazione KPN. - Stampa elenco (
stp-magaz/stp-righe): impostazione stampa via COGS54 (larghezza 180), scansione sequenziale di COGMAGAZ (chiave "M"), formattazione riga con traduzione del tipo magazzino e, per i magazzini sede, della divisa (COGTABEL tipo 56); intestazione con intestazione azienda, data e numero pagina. - Chiusura (
fine/z-chiudi): chiusura file, chiusura finestra,z-99-exit-program,exit program.
Chiamate a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| RNEWCONF | Lettura configurazione ABILITA/GRUPPO-AZIENDE |
| COGF09 | Ricerca/selezione provincia (F8 sul campo provincia) |
| COGE22 | Ricerca/selezione divisa (F8 sul campo divisa) |
| WIN067 | Ricerca tipo documento IVA (F8 su tipo doc fattura/nota accredito) |
| WIN036 | Ricerca magazzino (F8 su codice e su magazzino sede, tramite send-w36) |
| COGS54 | Impostazione parametri di stampa dell'elenco magazzini |
| COGS60W | Gestore combo-box "Tipo magazzino" (generato da Screens) |
| COGS95 | Gestore check-box (flag sede, sede operativa, aggiornamento prezzi) |
| COGS65W | Gestore campo di ricerca anagrafica collegata |
| COGU20W | Gestore accept numerico (latitudine, longitudine) |
| BROWSER | Apertura URL Google Maps con le coordinate del magazzino (F6) |
| SWN097 | Sincronizzazione chiave magazzino verso Areagate/KPN (ESPORTA-KEY) |
| W$BITMAP | Libreria di sistema per caricamento/scarico bitmap del pulsante mappa |
I gestori tabella Y* (verbi rd-/wr-/rwr-/del-/st-/rdnxt- su COGMAGAZ, COGMAGAG,
COGTABEL, COGGEANA) sono generati dallo Screen Designer e non costituiscono programmi a se'.