DBF009 - Sincronizzazione magazzini¶
Posizione nel menu Programma non a menu Linkage section UTILDBFPRG - Linkage comune Nome processo: CONTATTI Tabella: DFMAGAZZINI - Anagrafica magazzini Logica generale Sincronizzazione magazzini tra tra AREA e il DB frontiera. Per il momento funziona solo in IMPORT Rispetto ad altre funzioni questa si comporta in modo diverso: non effettua una vera e propria importazione: quando viene trovato un nuovo magazzino viene inviata una Email informativa. Quindi il responsabile creerà il nuovo magazzino su AREA, e lo collegherà al codice di magazzino host. Ora (dal 21/01/2022) quando i due magazzini sono collegati correttamente effettua anche l'importazione di alcune informazioni (i giorni di chiusura) Configurazioni possibili
| Gruppo | Parametro | Note |
|---|---|---|
| dbfront | sincro-attiva | |
| dbfront | email-segnalazioni | |
| dbfront | email-informazioni | |
| dbfront | db-tipo | |
| dbfront | db-conn-string | |
| dbfront | db-log-level |
Elaborazione Tipi di segnalazione: Vedi Tipi di segnalazione A - Controllo di esecuzione Vedi Controllo di esecuzione B - Apertura B.1 Apertura tabelle Tentare l'apertura della tabella da sincronizzare: DFMAGAZZINI. Se fallita inviare una Segnalazione grave e chiudere. Tentare l'apertura della tabella semaforo: DFSEMAFORO. Se fallita inviare una Segnalazione grave e chiudere. B.2 Blocco semaforo Lettura del record DFSEMAFORO:
| Nome campo | Note |
|---|---|
| DF_SMF_TABELLA | DFMAGAZZINI |
Se il record non esiste inserirlo. Se risulta bloccato dal gestonale host (DF_SMF_USO_HOST = 1) Informazione sul log e chiudere. Dopodichè aggiornare il semaforo impostando:
| Nome campo | Note |
|---|---|
| DF_SMF_USO_AREA | 1 |
| DF_SMF_VERSIONE | Versione attuale: 1 |
B.3 Aggiornamento stato Aggiornamento dello stato sul record specifico; in particolare:
| Dato | Contenuto |
|---|---|
| DBFST-STATO | "I" |
| DBFST-ATT-DATA | Data sistema |
| DBFST-ATT-ORA | Ora sistema |
| DBFST-SCHED-DATA | Sommare il tempo di attesa a data/ora sistema |
| DBFST-SCHED-ORA | |
| DBFST-ERRORI | 0 |
| DBFST-MSG-ERRORE | " " |
| DBFST-LOG-PROCEDURA | " " |
C - Sincronizzazione (Importazione) C.1 Selezione record da importare Tramite un comando SQL specifico, estrazione di tutti i record aggiornati dall'HOST: SELECT * FROM DFMAGAZZINI WHERE DF_MAG_AGG_HOST = 1 C.2 Controllo record Per ciascun record letto, verificare la correttezza delle informazioni contenute Controllo DF_MAG_KEY_HOST Questa informazione deve essere significativa, altrimenti segnalare Errore . Si dovrà cercare su COGMAGAG se esiste già un magazzino con MAGG-CODICE-HOST = DF_MAG_KEY_HOST. Controllo DF_MAG_TIP Questo campo potrà contenere "I" o "V" altrimenti segnalare Errore e skippare: "DF_MAG_KEY con DF_MAG_TIP errato: DF_MAG_TIP". E' accettato anche " ", corrisponde ad un magazzino interno. Controllo DF_MAG_VAL Questo campo potrà contenere "C" o " " altrimenti segnalare Errore e skippare: "DF_MAG_KEY con DF_MAG_VAL errato: DF_MAG_VAL". Controllo DF_MAG_SEGNALAZIONE_INVIATA Questo campo potrà contenere 0 o 1 altrimenti segnalare Errore e skippare: "DF_MAG_KEY con DF_MAG_SEGNALAZIONE_INVIATA errato: DF_MAG_SEGNALAZIONE_INVIATA". C.3 Importazione record Se tutti i controlli sono superati, in questo programma si dovranno effettuare le seguenti attività, a seconda dei risultati trovati:
| DF_MAG_KEY_HOST | DF_MAG_SEGNALAZIONE_INVIATA | DF_MAG_AREA_COD | Attività |
|---|---|---|---|
| Non trovato | 0 | Vuoto | Si invia una Email informativa riportando "Trovato nuovo magazzino: DF_MAG_KEY_HOST; collegare ad un magazzino su AREA" Dopodichè aggiornare il record DFMAGAZZINI impostando |
| Non trovato | 0 | Non vuoto | Questo è un caso improbabile: il magazzino Host risulta collegato (forse manualmente) ad un magazzino AREA, ma che ha sicuramente un codice host diverso: segnalare Errore |
| Non trovato | 1 | Ininfluente | Nessuna attività: è stata inviata in precedenza una mail informativa, che non è stata ancora presa in considerazione: registrare Informazione |
| Trovato | Ininfluente | Vuoto | L'amministratore ha ricevuto la mail ed effettuata l'attività necessaria: creazione del magazzino su Area e collegamento. Quindi si dovrà aggiornare: registrare Informazione |
| Trovato | Ininfluente | Non vuoto (corrisponde al magazzino trovato) | In questo caso il magazzino su Area è stato creato ed associato prima dell'attività di controllo, quindi non c'è nessuna attività da fare, ma aggiornare il flag di aggiornamento: registrare Informazione |
| Trovato | Ininfluente | Non vuoto (corrisponde al magazzino trovato) | Questo è un caso improbabile: il magazzino Host risulta collegato (forse manualmente) ad un magazzino AREA, ma che ha sicuramente un codice host diverso: segnalare Errore |
NB: per il momento ignoriamo il dato DF_MAG_VAL. C.3.1 Importazione dati Nel caso in cui il raccordo è stato trovato, importare su COGMAGAG i seguenti dati
| Dato | Contenuto |
|---|---|
| MAGG-FL-LUNEDI | DF-MAG-FL-LUNEDI |
| MAGG-FL-MARTEDI | DF-MAG-FL-MARTEDI |
| MAGG-FL-MERCOLEDI | DF-MAG-FL-MERCOLEDI |
| MAGG-FL-GIOVEDI | DF-MAG-FL-GIOVEDI |
| MAGG-FL-VENERDI | DF-MAG-FL-VENERDI |
| MAGG-FL-SABATO | DF-MAG-FL-SABATO |
| MAGG-FL-DOMENICA | DF-MAG-FL-DOMENICA |
D - Sincronizzazione (esportazione) Fase non prevista in questo programma E - Chiusura E.1 Rilascio semaforo Aggiornare il record semaforo relativo a DFMAGAZZINI, impostando
| Nome campo | Note |
|---|---|
| DF-SMF-USO-AREA | 0 |
E.2 Chiusura tabelle Chiudere le tabella DFMAGAZZINI e DFSEMAFORO E.3 Aggiornamento stato Aggiornamento dello stato sul record specifico; in particolare:
| Dato | Contenuto |
|---|---|
| DBFST-STATO | "A" |
| DBFST-ERRORI | Numero di errori rilevati |
| DBFST-MSG-ERRORE | Ultimo errore rilevato |
| DBFST-LOG-PROCEDURA | Codice procedura di gestione log |
Estratto da documentazione interna ClickUp