Posizione nel menu
Programma non a menu
Linkage section
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.
Configurazioni possibili
Gruppo |
Parametro |
Note |
dbfront |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
|
Elaborazione
Tipi di segnalazione:
Vedi Tipi di segnalazione
A - 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".
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 •DF_MAG_SEGNALAZIONE_INVIATA = 1 |
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: •DF_MAG_AREA_TIP = DF_MAG_TIP •DF_MAG_AREA_COD = magazzino a cui è stato collegato •DF_MAG_AGG_HOST = 0 •DF_MAG_AGG_AREA = 1 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: •DF_MAG_AGG_HOST = 0 •DF_MAG_AGG_AREA = 0 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.
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 |