DBF020 - Importazione tecnici¶
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: |
| 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 |
| RIF-TIP |
| RIF-COD |
| RIF-ANA-TIP |
| RIF-ANA-COD |
| RIF-NOME |
| RIF-TEL (n) |
| RIF-MAIL |
| COGRIFE2 |
|---|
| Nome campo |
| RIF2-TIP |
| RIF2-COD |
| RIF2-NOTE |
In caso di variazione, gli altri dati rimangono invariati
| COGANATN |
|---|
| Nome campo |
| ATN-RIF-TIP |
| ATN-RIF-COD |
| ATN-OPE-COD |
| ATN-CODICE-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 |
Estratto da documentazione interna ClickUp