DBF011 - Sincronizzazione matricole assistenza

Navigation:  »No topics above this level«

DBF011 - Sincronizzazione matricole assistenza

Return to chapter overview

Posizione nel menu

Programma non a menu

 

Linkage section

 

UTILDBFPRG - Linkage comune

 

Nome processo: MATR-ASSI

 

Tabella: DFMATRICOLEASSI - Matricole di assistenza

 

Logica generale

 

Sincronizzazione dell'anagrafica matricole di assistenza 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

 

A - Controllo di esecuzione

Vedi Controllo di esecuzione

 

B - Apertura

 

B.1 Apertura tabelle

 

Tentare l'apertura della tabella da sincronizzare: DFMATRICOLEASSI. 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

DFMATRICOLEASSI

 

Se il record non esiste inserirlo. Se risulta bloccato dal gestonale host (DF_SMF_USO_HOST = 1) segnalare 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 DFMATRICOLEASSI WHERE df_amtr_agg_host = 1i

 

C.2 Controllo record

 

Per ciascun record letto, verificare la correttezza delle informazioni contenute:

 

Controllo DF_AMTR_KEY_HOST

Questa informazione deve essere significativa, altrimenti segnalare Errore .

 

Controllo DF_AMTR_SN

Questa informazione deve essere significativa, altrimenti segnalare Errore .

 

Controllo DF_AMTR_ID_AREA

 

DF_AMTR_ID_AREA è l'id matricola di AREA.Se:

Vuoto: la matricola non è stata ancora importata, quindi il s/n non dovrebbe esistere: effettuare quindi una ricerca su ASNMATRI, verificando se DF_AMTR_SN è presente come AMTR-SN. Se:

oEsiste: segnalare Informazione: "DF_AMTR_KEY_HOST non collegato ma trovato come s/n sulla matricola con ID: MTR-ID. quindi raccordare il record

oNon esiste: siamo in fase di Inserimento

Non vuoto: significa che la matricola è già importata; quindi controllare l'esistenza su ASNMATRI usando DF_AMTR_ID_AREA, che dovrà corrispondere a AMTR-ID. Se:

oNon esiste, segnalare Errore e skippare: "DF_AMTR_KEY_HOST creata ma non trovata: DF_AMTR_ID_AREA".

oEsiste: siamo in fase di Variazione

 

Controllo DF_AMTR_VAL

Questo campo potrà valere: " " o "C"; se è presente un valore diverso segnalare Errore e skippare: "DF_AMTR_KEY_HOST; DF-AMTR-VAL contiene un valore errato: DF_AMTR_VAL"

 

Controllo DF_AMTR_ANA_KEY_HOST

Questo dato è obbligatorio; se non lo è segnalare Errore.

Deve corrispondere ad un cliente già raccordato; quindi eseguire la ricerca su COGANAP2 su AAP2-RACCORDO.

Se non trovato, segnalare Errore e skippare: "DF_AMTR_KEY_HOST; il cliente DF_AMTR_ANA_KEY_HOST non è ancora acquisito.

 

Controllo DF_AMTR_IND_KEY_HOST

Questo dato non è obbligatorio.

Se indicato deve corrispondere ad una ubicazione (indirizzo) già acquisito; quindi, controllare su DFINDIR, l'esistenza di un indirizzo con DF_IND_KEY_HOST = DF_AMTR_IND_KEY_HOST. Se non esiste segnalare errore e skippare: "DF_AMTR_KEY_HOST; l'indirizzo DF_AMTR_IND_KEY_HOST non è stato esportato dall'HOST."

Se invece esiste deve risultare già acquisito su AREA: di conseguenza i dati DF_IND_AREA_TIP/COD/PROG saranno significativi, e dovranno corrispondere ad una destinazione esistente (COGDESTI); se non è cosi', segnalare errore e skippare: "DF_AMTR_KEY_HOST; l'indirizzo DF_AMTR_IND_KEY_HOST non è stato importato su AREA."

Se i dati sono significativi e non corrispondono ad un record su COGDESTI, segnalare errore e skippare: "DF_AMTR_KEY_HOST; l'indirizzo DF_AMTR_IND_KEY_HOST corrisponde ad una destinazione non esistente su AREA."

 

Controllo DF_AMTR_MARCA

Se indicato, dovrà corrispondere ad una marca esistente. Se non esistente, in fase di aggiornamento dovrà essere creata.

 

Controllo DF_AMTR_MODELLO

Se indicato, dovrà corrispondere ad un modello esistente sulla marca indicata. Se non esistente, in fase di aggiornamento dovrà essere creata.

Effettuare la ricerca su ASNMODEL usando AMOD-CHIA2, cercando un modello corrispondente a DF_AMTR_MODELLO, collegato alla marca DF_AMTR_MARCA.

Anche in questo caso, se non esiste, creare un nuovo modello su ASNMODEL.

 

C.3 Importazione record

 

Se tutti i controlli sono superati, proseguire con l'inserimento/variazione della matricola; quindi se DF_AMTR_AREA_COD è:

Presente: Variazione

Non presente: Inserimento con attribuzione di un nuovo AMTR-ID.

 

I record da aggiornare sono:

 

ASNMATRI

Nome campo

Note

AMTR-ID

Inserimento: nuovo codice progressivo

Variazione: DF_AMTR_ID_AREA

AMTR-SN

DF_AMTR_SN

AMTR-DES

DF_AMTR_DES

AMTR-VAL

DF_AMTR_FL_VAL

AMTR-MARCA

DF_AMTR_MARCA

Se la marca non esiste su ASNMARCH, creare un record nuovo e notificarlo sul log. Ripetere il codice marca su AMRC-DES

AMTR-ID-MODELLO

Se DF_AMTR_MODELLO è significativo, come spiegato sopra, cercare il modello su ASNMODEL o crearne uno nuovo.

Qui si dovrà memorizzare AMOD-ID

AMTR-CLI

Il codice cliente trovato

AMTR-DST

Se la destinazione è presente, l'id destinazione trovata.

AMTR-TECNICO

DF_AMTR_TEC_HOST

 

C.4 Aggiornamento stato record

 

Aggiornare il record DFMATRICOLEASSI impostando:

 

Nome campo

Contenuto

DF_AMTR_AGG_HOST

0

DF_AMTR_AGG_AREA

0

 

In caso di inserimento dobbiamo anche raccordare la nuova matricola a questo record, quindi aggiorneremo:

 

Nome campo

Contenuto

DF_AMTR_ID_AREA

AMTR-ID

 

 

D - Sincronizzazione (esportazione)

Fase non prevista in questo programma

 

E - Chiusura

 

E.1 Rilascio semaforo

 

Aggiornare il record semaforo relativo a DFMATRICOLEASSI, impostando

 

Nome campo

Note

DF_SMF_USO_AREA

0

 

E.2 Chiusura tabelle

 

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