DBF020 - Importazione tecnici

Navigation:  »No topics above this level«

DBF020 - Importazione tecnici

Return to chapter overview

Posizione nel menu

Programma non a menu

 

Linkage section

 

UTILDBFPRG - Linkage comune

 

Nome processo: CONTATTI

 

Tabella: DFTECNICI - Tabella tecnici

 

Logica generale

 

Sincronizzazione dell'anagrafica contatti 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: DFTECNICI. 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

DFTECNICI

 

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 dftecnici WHERE df_tec_agg_host = 1

 

C.2 Controllo record

 

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

 

Controllo DF_TEC_KEY_HOST

Questa informazione deve essere significativa, altrimenti segnalare Errore .

 

Controllo DF_TEC_FOR_KEY_HOST

Non obbligatorio.

Se indicato, dovrà essere collegato ad un fornitore, con una ricerca su COGANAPP.AAP2-CHIA2, impostando

AAP2-RACCORDO = DF_TEC_FOR_KEY_HOST

Se il raccordo:

Esiste: il tecnico dovrà essere collegato al fornitore trovata

Non esiste: il fornitore a cui è collegato il tecnico non è stato ancora acquisita: Informazione e skippare: "DF_TEC_KEY_HOST collegato a fornitore non ancora importato : DF_TEC_FOR_KEY_HOST"

 

Controllo DF_TEC_VAL

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

Se vale "C", marcare come cancellato il tecnico (RIF-VAL = "C") e passare al record successivo

 

Controllo DF_TEC_AREA_TIP/DF_TEC_AREA_COD

Se queste informazioni sono presenti, significa che il contatto è già codificato; quindi controllare l'esistenza su COGRIFER impostando:

 

Nome campo

Contenuto

RIF-TIP

DF_TEC_AREA_TIP

RIF-COD

DF_TEC_AREA_COD

Se non esiste, segnalare Errore e skippare: "DF_TEC_KEY_HOST creata ma non trovata: DF_TEC_AREA_TIP/DF_TEC_AREA_COD"

 

Arrivati a questo punto, se questo controllo è positivo, allora significa che siamo in fase di Variazione. Cercare il record tecnico COGANATN collegato a COGRIFER; il codice host trovato ATN-CODICE-HOST deve corrispondere a DF_TEC_KEY_HOST; altrimenti Errore e skippare: "DF_TEC_KEY_HOST registrato sul tecnico: DF_TEC_AREA_TIP/DF_TEC_AREA_COD ma con codice host diverso"

 

Se invece le informazioni non sono presenti:

Se DF_TEC_FOR_KEY_HOST risulta già raccordato ad un tecnico, in base al controllo precedente: significa che l'esportazione da host ha erroneamente ripulito DF_TEC_AREA_TIP/DF_TEC_AREA_COD; Informazione e proseguire: "DF_TEC_KEY_HOST collegato a contatto DF_TEC_AREA_TIP/DF_TEC_AREA_COD ma non ancora raccordato."

 

Riepilogo casi possibili

DF_TEC_KEY_HOST

DF_TEC_AREA_TIP/COD

Situazione

Non esiste su COGANATN

In tutti i casi

Tecnico nuovo: verrà inserito

Esiste su COGANATN

Vuoto

Tecnico già presente su AREA ma non raccordato su DFTECNICI: dovrà essere:

1.raccordato

2.aggiornato su AREA

Esiste su COGANATN

Presente, ma non corrisponde

Situazione anomala: segnalare errore e skippare

Esiste su COGANATN

Presente e corrisponde

Tecnico esistente: verrà aggiornato

 

Controllo DF_TEC_NOME

Questo campo dovrà essere significativo, altrimenti segnalare Errore e skippare.

 

C.3 Importazione record

 

Se tutti i controlli sono superati, proseguire con l'inserimento/variazione del tecnico.

A seconda dei casi descritti in precedenza, potrebbe essere un inserimento o una variazione.

 

I record da aggiornare sono:

 

COGRIFER

Nome campo

Note

RIF-TIP

"C"

RIF-COD

Inserimento: nuovo codice progressivo

Variazione: DF_TEC_AREA_COD

RIF-ANA-TIP

Chiave anagrafica raccordata a DF_TEC_FOR_KEY_HOST; se non presente, sarà usato il fornitore interno (AZ-FOR-INT)

RIF-ANA-COD

RIF-NOME

DF_TEC_NOME

RIF-TEL (n)

DF_TEC_TEL_n

RIF-MAIL

DF_TEC_EMAIL

 

COGRIFE2

Nome campo

Note

RIF2-TIP

RIF-TIP

RIF2-COD

RIF-COD

RIF2-NOTE

" "

 

In caso di variazione, gli altri dati rimangono invariati

 

COGANATN

Nome campo

Note

ATN-RIF-TIP

RIF-TIP

ATN-RIF-COD

RIF-COD

ATN-OPE-COD

0

ATN-CODICE-HOST

DF-TEC-KEY-HOST

 

C.4 Aggiornamento stato record

 

Aggiornare il record DFTECNICI impostando:

 

Nome campo

Contenuto

DF_TEC_AGG_HOST

0

DF_TEC_AGG_AREA

0

 

Se necessario dobbiamo anche raccordare il nuovo contatto a questo record, quindi aggiorneremo:

 

Nome campo

Contenuto

DF_TEC_AREA_TIP

RIF-TIP

DF_TEC_AREA_COD

RIF-COD

DF_TEC_AGG_AREA

1

 

D - Sincronizzazione (esportazione)

Fase non prevista in questo programma

 

E - Chiusura

 

E.1 Rilascio semaforo

 

Aggiornare il record semaforo relativo a DFTECNICI, impostando

 

Nome campo

Note

DF_SMF_USO_AREA

0

 

E.2 Chiusura tabelle

 

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