DBF014 - Sincronizzazione ubicazioni

Navigation:  »No topics above this level«

DBF014 - Sincronizzazione ubicazioni

Return to chapter overview

Posizione nel menu

Programma non a menu

 

Linkage section

 

UTILDBFPRG - Linkage comune

 

Nome processo: CONTATTI

 

Tabella: DFUBICAZIONI - Ubicazioni merci

 

Logica generale

 

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

 

Per il momento funziona solo in IMPORT

 

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

DFUBICAZIONI

 

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 DFUBICAZIONI WHERE DF_UBI_AGG_HOST = 1

 

C.2 Controllo record

 

Per ciascun record letto, verificare la correttezza delle informazioni contenute

 

Controllo DF_UBI_MERCE_HOST

questa informazione contiene il codice merce avanzato di una merce (che corrisponde al codice articolo HOST) su cui importare l'ubicazione.

Quindi, cercare su COGRACMC; se non esiste segnalare Informazione e skippare: "DF_UBI_MERCE_HOST: 'DF_UBI_MERCE_HOST' non ancora acquisito.

 

Controllo DF_UBI_UBICAZIONE_HOST

Questo campo dovrà essere significativo. Se non lo è segnalare Errore e skippare: "DF_UBI_MERCE_HOST: 'DF_UBI_UBICAZIONE_HOST' non significativa.

 

Controllo DF_UBI_BOX

DF_UBI_CORSIA

DF_UBI_COLONNA

DF_UBI_PIANO

Se almeno uno di questi campi è significativo, significa che l'ubicazione è già stata acquisita. Proseguire comunque con l'elaborazione senza segnalazioni.

 

Controllo DF_UBI_VAL

Questo campo potrà valere: " " o "C"; se è presente un valore diverso segnalare Errore e skippare: "DF_UBI_MERCE_HOST; DF_UBI_VAL contiene un valore errato: DF_UBI_VAL"

 

C.3 Importazione record

 

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

 

C.3.1 "Traduzione" ubicazione

 

Il campo DF_UB_UBICAZIONE_HOST potrebbe esere in un formato non compatibile con quella attualmente gestita in AREA. Quindi, per alcuni clienti potrebbe essere necessario una traduzione.

 

AURISERVICE (k-personal-auriservice)

 

Il campo ubicazione sarà formato nel seguente modo: "Marca;Cassetto"

 

Vediamo i casi possibili che attualmente è necessario gestire

 

DF_UBI_UBICAZIONE_HOST

AdHoc

Area

 

Marca

Cassetto

Box

Corsia

Colonna

Piano

A3;148

A3

148

A

3

#1

48

A3;149

A3

149

A

3

#1

40

A2;152

A2

152

A

2

#1

52

D11;78

D11

78

D

11

 

78

C-A-1;2

C-A-1

2

C

A

1

2

C-A10;2

C-A10

2

C

A

10

2

C4;2

C4

2

C

4


2

C-A-1;3

C-A-1

3

C

A

1

3

SS01;60

SS01

60

S

S

01

60

R0103;0

R0103

0

R

01

03

0

D15;0

D15

0

D

15



 

 

Quindi, le regole dovrebbero essere:

1.Il primo carattere della Marca è il Box

2.Se nella Marca è presente un primo separatore (es. C-A10) il primo carattere successivo è la Corsia; in questo caso

a.Potrebbe esserci un secondo separatore (es. C-A-1); il contenuto dopo il secondo separatore è la Colonna

b.Non c'e' il secondo separatore (es. C-A10): il contenuto dopo il primo carattere diventa la Colonna

3.Se la Marca non ha separatore, allora:

a.I primi due caratteri diventano la Corsia

b.Il resto diventa la Colonna

4.Cassetto: il contenuto dovrebbe essere sempre numerico; se è > 99:

a.Corsia= "#"+prima cifra

b.Piano=restanti cifre

5.Cassetto:se è < 99: la Corsia rimane invariata (eventualmente viene pilotata dalla Marca); il contenuto viene messo nel Cassetto

 

In tutti gli altri casi

 

Usare il campo DF_UBI_UBICAZIONE_HOST per intero (LGM-POSIZIONE)

 

C.3.2 Ricerca esistenza ubicazione

 

Eseguire una ricerca su COGLGMER, usando LGM-CHIA2, per verificare se l'ubicazione trovata esiste già sulla merce.

 

C.3.2.1 Ubicazione già presente

 

In questo caso, se DF_UBI_VAL = 'C', cancellare il record su COGLGMER, segnalando una Informazione : "DF_UBI_MERCE_HOST: ubicazione 'DF_UBI_UBICAZIONE_HOST' cancellata.

 

Altrimenti proseguire con il punto C.4

 

C.3.2.2 Ubicazione non presente

 

Se DF_UBI_VAL = 'C' proseguire con il punto C.4

 

Altrimenti inserire la nuova ubicazione su COGLGMER

 

Nome campo

Contenuto

LGM-MERCE

La merce in elaborazione

LGM-PROG

Il primo progressivo libero sulla merce

LGM-POSIZIONE

L'ubicazione in elaborazione

LGM-BOX

LGM-CORSIA

LGM-COLONNA

LGM-PIANO

 

C.4 Aggiornamento stato record

 

Aggiornare il record DFUBICAZIONI impostando:

 

Nome campo

Contenuto

DF_UBI_AGG_HOST

0

DF_UBI_AGG_AREA

1

DF_UBI_BOX

L'ubicazione come memorizzata su COGLGMER

DF_UBI_CORSIA

DF_UBI_COLONNA

DF_UBI_PIANO

 

 

D - Sincronizzazione (esportazione)

Fase non prevista in questo programma

 

E - Chiusura

 

E.1 Rilascio semaforo

 

Aggiornare il record semaforo relativo a DFUBICAZIONI, impostando

 

Nome campo

Note

DF_SMF_USO_AREA

0

 

E.2 Chiusura tabelle

 

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