DBF025 - Importazione alternativi/sostituti¶
Posizione nel menu Programma non a menu Linkage section UTILDBFPRG - Linkage comune Nome processo: MERCILK Tabella: DFMERCILK - Collegamenti tra merci Logica generale Sincronizzazione dei prodotti alternativi/sostituti/abbinamenti 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: DFMERCILK. 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 | DFMERCILK |
Se il record non esiste inserirlo. Se risulta bloccato dal gestionale 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 DFMERCILK WHERE df_mlk_agg_host = 1 C.2 Controllo record Per ciascun record letto, verificare la correttezza delle informazioni contenute: Controllo DF_MLK_TIPO Questa informazione deve essere significativa, e contenere uno dei valori previsti: * "SO" * "AL" * "AB" altrimenti segnalare Errore . Controllo DF_MLK_MPR_PADRE Questa informazione (codice merce padre Host) deve essere significativa, altrimenti segnalare Errore . Il codice deve esistere come codice merce avanzato di una merce nel sistema, altrimenti segnalare Errore: "DF_MLK_MPR_PADRE non ancora importato in AREA" Controllo DF_MLK_MPR_FIGLIO Questa informazione (codice merce figlio Host) deve essere significativa, altrimenti segnalare Errore . Il codice deve esistere come codice merce avanzato di una merce nel sistema, altrimenti segnalare Errore: "DF_MLK_MPR_FIGLIO non ancora importato in AREA" Controllo DF_MLK_VAL Questo campo potrà valere: " " o "C"; se è presente un valore diverso segnalare Errore e skippare: "chiave; DF-MLK-VAL contiene un valore errato: DF_MLK_VAL" C.3 Importazione record Se tutti i controlli sono superati, proseguire con l'inserimento/variazione del raccordo Effettuare quindi la ricerca di un record su COGMERLK:
| Nome campo | Note |
|---|---|
| MLK-TIP | DF_MLK_TIPO |
| MLK-MERCE1 | Il codice merce corrispondente a DF_MLK_MPR_PADRE |
| MLK-MERCE2 | Il codice merce corrispondente a DF_MLK_MPR_FIGLIO |
Se il record non esiste, inserirlo, dopodichè aggiornare i dati restanti:
| Nome campo | Note |
|---|---|
| MLK-VAL | DF-MLK-VAL |
| MLK-SEQ | DF-MLK-SEQ |
C.4 Aggiornamento stato record Aggiornare il record DFMERCILK impostando:
| Nome campo | Contenuto |
|---|---|
| DF_MLK_AGG_HOST | 0 |
| DF_MLK_AGG_AREA | 0 |
D - Sincronizzazione (esportazione) Fase non prevista in questo programma E - Chiusura E.1 Rilascio semaforo Aggiornare il record semaforo relativo a DFMERCILK, impostando
| Nome campo | Note |
|---|---|
| DF_SMF_USO_AREA | 0 |
E.2 Chiusura tabelle Chiudere le tabella DFMERCILK 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