DBF011 - Sincronizzazione matricole assistenza¶
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: * Esiste: segnalare Informazione: "DF_AMTR_KEY_HOST non collegato ma trovato come s/n sulla matricola con ID: MTR-ID. quindi raccordare il record * Non 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: * Non esiste, segnalare Errore e skippare: "DF_AMTR_KEY_HOST creata ma non trovata: DF_AMTR_ID_AREA". * Esiste: 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 |
| AMTR-ID |
| AMTR-SN |
| AMTR-DES |
| AMTR-VAL |
| AMTR-MARCA |
| AMTR-ID-MODELLO |
| AMTR-CLI |
| AMTR-DST |
| AMTR-TECNICO |
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 |
Estratto da documentazione interna ClickUp