Vai al contenuto

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