DBF010 - Sincronizzazione giacenze

Navigation:  »No topics above this level«

DBF010 - Sincronizzazione giacenze

Return to chapter overview

Posizione nel menu

Programma non a menu

 

Linkage section

 

UTILDBFPRG - Linkage comune

 

Nome processo: CONTATTI

 

Tabella: DFGIACENZE - Giacenze di magazzino

 

Logica generale

 

Sincronizzazione delle giacenze di magazzino tra AREA e il DB frontiera.

 

Per il momento funziona solo in IMPORT

 

NOTA operativa/funzionale

 

La sincronizzazione delle giacenze potrebbe provocare delle incongruenze: in primo luogo, se si decide di non importare anche i movimenti di magazzino dall'HOST che la determinano.

In secondo luogo, a seconda dei tempi di aggiornamento. Se importo una giacenza immediatamente dopo che su AREA è stato effettuato un movimento, la giacenza attesa su AREA potrebbe non essere corretta. Questo finchè non si effettua il seguente procedimento:

1.Esportazione movimento AREA->DB frontiera

2.Importazione movimento DB frontiera -> HOST e conseguente aggiornamento della giacenza

3.Esportazione giacenza HOST -> DB frontiera

4.Importazione giacenza DB frontiera -> AREA

 

Si potrebbe pensare, se questo crea disfunzioni, di studiare un metodo che impedisce l'aggiornamento a seconda della data e ora di aggiornamento su AREA e sul DB frontiera, ma potrebbe risultare difficoltoso e comunque non risolvere il problema.

 

Configurazioni possibili

 

Gruppo

Parametro

Note

dbfront

sincro-attiva

 

dbfront

email-segnalazioni

 

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: DFGIACENZE. 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

DFGIACENZE

 

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 DFGIACENZE WHERE DF_GIA_AGG_HOST = 1

 

C.2 Controllo record

 

Per ciascun record letto, verificare la correttezza delle informazioni contenute

 

NB: per ottimizzare i tempi di elaborazione, precaricare in tabella di working l'elenco dei magazzini.

 

Controllo DF_GIA_MAG_HOST

Questa informazione deve essere significativa, altrimenti segnalare Errore .

Si dovrà cercare su COGMAGAG se esiste già un magazzino con MAGG-CODICE-HOST = DF_GIA_MAG_HOST. Se non esiste segnalare Errore : "DF_GIA_MAG_HOST : magazzino non collegato ad un magazzino di area"

Se esiste, sarà il magazzino interno su cui aggiornare la giacenza.

 

Controllo DF_GIA_MPR_HOST

questa informazione contiene il codice merce avanzato di una merce (che corrisponde al codice articolo HOST) su cui impostare lo sconto.

Quindi, cercare su COGRACMC; se non esiste segnalare Errore "DF_GIA_MPR_HOST; merce non esistente"

 

C.3 Importazione record

 

Se tutti i controlli sono superati, proseguire con l'inserimento/variazione della giacenza.

 

Ricerca su COGSLMAG:

Nome campo

Contenuto

MSAL-MAG1

Il magazzino collegato a DF_GIA_MAG_HOST

MSAL-MERCE

Il codice merce collegato a DF_GIA_MPR_HOST

 

Se il record non esiste inserirlo.

 

Dopodichè, aggiornare la quantità giacenza, ma solo se diversa da quella già presente, per minimizzare la successiva esportazione verso WEB:

 

Nome campo

Contenuto

MSAL-QTA

DF_GIA_QTA_GIA

MSAL-FL-AGG

"S"

 

C.4 Aggiornamento stato record

 

Aggiornare il record DFGIACENZE impostando:

 

Nome campo

Contenuto

DF_GIA_AGG_HOST

0

DF_GIA_AGG_AREA

0

 

 

D - Sincronizzazione (esportazione)

Fase non prevista in questo programma

 

E - Chiusura

 

E.1 Rilascio semaforo

 

Aggiornare il record semaforo relativo a DFGIACENZE, impostando

 

Nome campo

Note

DF_SMF_USO_AREA

0

 

E.2 Chiusura tabelle

 

Chiudere le tabella DFGIACENZE 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