Vai al contenuto

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

  1. Inizializzazione: perform z-99-init-program, controllo abilitazioni (ctr-abil), lettura configurazione ABILITA/GRUPPO-AZIENDE via 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.
  2. 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 esiste fl-vario = "V" (variazione) e si caricano i dati (carica-dati), altrimenti fl-vario = "I" (inserimento).
  3. 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.
  4. 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:
  5. Provincia: se valorizzata, verificata su COGTABEL tipo 26.
  6. 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").
  7. Anagrafica collegata: se richiesta, verificata su COGGEANA (tipo C/F).
  8. 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.
  9. Divisa prezzi medi: obbligatoria solo per i magazzini sede, verificata su COGTABEL tipo 56.
  10. Tipo documento fattura / nota accredito: se valorizzati, verificati su COGTABEL tipo 68.
  11. Latitudine/Longitudine: controllo di range (lat <= 90, lon <= 180).
  12. Funzione mappe (call-maps, tasto F6): compone l'URL Google Maps a partire dalle coordinate e lo apre tramite il sottoprogramma BROWSER.
  13. Conferma e salvataggio (a-fine-dati): validazione complessiva (x-controlla-dati), richiesta di conferma, controllo abilitazione inserimento/modifica. Scrittura:
  14. COGMAGAG (dati estesi): riletto, aggiornato con coordinate, tipi documento, codice host, flag sede operativa, quindi riscritto (rwr-) o scritto (wr-).
  15. COGMAGAZ (record principale): scritto in inserimento (wr-) o riscritto in variazione (rwr-).
  16. Sincronizzazione chiave verso Areagate/KPN (x-sincronizza-kpn -> SWN097).
  17. Sincronizzazione gruppo aziende (a-sincronizza-aziende-gruppo, solo unlock se la configurazione gruppo-aziende non e' attiva).
  18. Cancellazione (cancella, tasto F4): controllo abilitazione, conferma, rilettura in lock del record principale, del-cogmagaz, cancellazione del record COGMAGAG collegato, sincronizzazione KPN.
  19. 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.
  20. 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'.