DFN024 - Importazione codici merce alternativi¶
Posizione nel menu Programma non a menu Linkage section UTILDBFPRG - Linkage comune Nome processo: MERCODALT Tabella: DFMERCICODALT - Codici alternativi per merce Logica generale Sincronizzazione dei codici alternativi di ricerca merfce 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: DFMERCICODALT. 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 | DFMERCICODALT |
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 DFMERCICODALT WHERE df_mca_agg_host = 1 C.2 Controllo record Per ciascun record letto, verificare la correttezza delle informazioni contenute: Controllo DF_MCA_MPR_HOST Questa informazione (codice merce Host) deve essere significativa, altrimenti segnalare Errore . Il codice deve esistere come codice merce avanzato di una merce nel sistema, altrimenti segnalare Errore: "DF_MCA_MPR_HOST non ancora importato in AREA" Controllo DF_MCA_TIPO_CODICE Questa informazione deve essere significativa, e contenere uno dei valori previsti (A,C,F), altrimenti segnalare Errore . Controllo DF_MCA_ANA_HOST Se DF_MCA_TIPO_CODICE vale "C" o "F" DF_MCA_ANA_HOST deve essere significativa; se non lo è segnalare Errore. Deve corrispondere ad un cliente o fornitore già raccordato; quindi eseguire la ricerca su COGANAP2 su AAP2-RACCORDO. Se non trovato, segnalare Errore e skippare: "L'interlocutore DF_MCA_ANA_HOST non è ancora acquisito. Se DF_MCA_TIPO_CODICE vale "A" Il campo deve essere vuoto, altrimenti segnalare Errore Controllo DF_MCA_CODICE Questa informazione deve essere significativa, altrimenti segnalare Errore e skippare il record. Controllo DF_AMTR_VAL Questo campo potrà valere: " " o "C"; se è presente un valore diverso segnalare Errore e skippare: "DF_MCA_KEY; DF-MCA-VAL contiene un valore errato: DF_MCA_VAL" C.3 Importazione record Se tutti i controlli sono superati, proseguire con l'inserimento/variazione del codice alternativo, a seconda di DF_MCA_TIPO_CODICE C.3.1 DF_MCA_TIPO_CODICE = "A" Importazione di un codice alternativo di ricerca su COGMERCA. Effettuare quindi la ricerca del record:
| Nome campo | Note |
|---|---|
| MCA-MERCE | Il codice merce corrispondente a DF_MCA_MPR_HOST |
| MCA-CODICE | DF_MCA_CODICE |
Se il record non esiste, inserirlo, dopodichè aggiornare i dati restanti:
| Nome campo | Note |
|---|---|
| MCA-VAL | DF_MCA_VAL |
C.3.2 DF_MCA_TIPO_CODICE = "F" Importazione di un codice merce fornitore su COGMERFO. Effettuare quindi la ricerca del record:
| Nome campo | Note |
|---|---|
| MFR-MERCE | Il codice merce corrispondente a DF_MCA_MPR_HOST |
| MFR-FOR | Il codice fornitore corrispondente a DF_MCA_ANA_HOST |
Ora, a seconda di DF_MCA_VAL si prosegue: DF_MCA_VAL = "C": record cancellato Se il record non esiste non fare nessun aggiornamento, ma proseguire con il punto C.4 Se il record esiste, cancellarlo, segnalandolo sul log. DF_MCA_VAL <> "C": record valido Se il record non esiste inserirlo. Poi in ogni caso proseguire aggiornando i campi:
| Nome campo | Note |
|---|---|
| MFR-COD-FOR | DF_MCA_CODICE |
| MFR-DESC | DF_MCA_DESCRIZIONE |
C.3.3 DF_MCA_TIPO_CODICE = "C" Importazione di un codice merce cliente su COGMERCL. Effettuare quindi la ricerca del record:
| Nome campo | Note |
|---|---|
| MCL-MERCE | Il codice merce corrispondente a DF_MCA_MPR_HOST |
| MCL-CLI | Il codice cliente corrispondente a DF_MCA_ANA_HOST |
Ora, a seconda di DF_MCA_VAL si prosegue: DF_MCA_VAL = "C": record cancellato Se il record non esiste non fare nessun aggiornamento, ma proseguire con il punto C.4 Se il record esiste, cancellarlo, segnalandolo sul log. DF_MCA_VAL <> "C": record valido Se il record non esiste inserirlo. Poi in ogni caso proseguire aggiornando i campi:
| Nome campo | Note |
|---|---|
| MCL-CMC | DF_MCA_CODICE |
| MCL-DESC | DF_MCA_DESCRIZIONE |
C.4 Aggiornamento stato record Aggiornare il record DFMERCICODALT impostando:
| Nome campo | Contenuto |
|---|---|
| DF_MCA_AGG_HOST | 0 |
| DF_MCA_AGG_AREA | 0 |
D - Sincronizzazione (esportazione) Fase non prevista in questo programma E - Chiusura E.1 Rilascio semaforo Aggiornare il record semaforo relativo a DFMERCICODALT, impostando
| Nome campo | Note |
|---|---|
| DF_SMF_USO_AREA | 0 |
E.2 Chiusura tabelle Chiudere le tabella DFMERCICODALT 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