Vai al contenuto

DFN001 - Sincronizzazione clienti/fornitori

Posizione nel menu Programma non a menu Linkage section UTILDBFPRG - Linkage comune Nome processo: ANAGR Tabella: DFANAGR - Anagrafiche Logica generale Sincronizzazione dell'anagrafica clienti/fornitori 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
clienti inf-rating
clienti inf-multiplo-standard
clienti inf-raggr-statistico
clienti inf-raggr-stat-2
clienti inf-raggr-stat-3

Elaborazione Operazioni:

Operazione Descrizione
" " Vedi Anagrafiche (DBF001)
"SETTIMANALE" Vedi Anagrafiche (DBF001)

A - Controllo di esecuzione Vedi Controllo di esecuzione B - Apertura B.1 Apertura tabelle Tentare l'apertura della tabella da sincronizzare: DFANAGR. 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 DFANAGR

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

Ripetere l'operazione con il semaforo con DF_SMF_TABELLA = "MASSIVO" (serve perchè Pieri esegue una aggiornamento massivo che usa questo semaforo) 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 dfanagr WHERE df_ana_agg_host = 1 C.2 Controllo record Per ciascun record letto, verificare la correttezza delle informazioni contenute:

Nome campo Dato Controllo Aggiornamento
DF_ANA_KEY ID Anagrafica
DF_ANA_KEY_HOST Codice anagrafica cliente/fornitore/prospect Deve essere presente; se trovato in anagrafica deve corrispondere al cli/for presente in DF-ANA-AREA-TIP/COD
Se la chiave è raccordata ad un cliente tramite AAP2-RACCORDO, ma il codice DF_ANA_AREA_COD = 0, lo considero valido, e durante l'aggiornamento aggiorno DF_ANA_AREA_COD
In questo modo risolvo il problema di AURISERVICE che inizialmente ha già importato i clienti con IMPANA
DF_ANA_AREA_TIP Tipo anagrafico su AREA


Se DF_ANA_AREA_COD è vuoto, come prima cosa effettuare una ricerca su DFNUOVICLIENTI, usando DF_NOM_KEY_HOST. Se trovato, significa che il cliente è stato creato sul gestionale host a seguito dell'inserimento di un cliente nuovo da Area/APP. Quindi, in questo caso recuperare la chiave anagrafica di area da qui:


dopodichè proseguire con i controlli restanti.
Se DF_ANA_AREA_COD è presente:
Il cliente/fornitore deve esistere su COGGEANA con la chiave
DF_ANA_AREA_COD Codice anagrafico su AREA
DF_ANA_NOME Ragione sociale
DF_ANA_NOME_2 Ragione sociale secondaria
DF_ANA_INDI Indirizzo
DF_ANA_CAP CAP
DF_ANA_LOCA Località (descrittiva)
DF_ANA_PROV Provincia Se indicato, la provincia deve esistere sulla tabella provincie
DF_ANA_COMUNE Se indicato, deve corrispondere al codice fiscale del comune; ad esempio:
MODENA=F257
DF_ANA_EMAIL Indirizzo di mail istituzionale del cliente
DF_ANA_TEL Telefono principale
DF_ANA_NAZIONE Codice stato estero; se presente puo' corrispondere al codice presente sul DB HOST Cercare l'esistenza sulla tabella stati esteri attraverso EUTA-ST-CODICE-HOST
DF_ANA_VAL Se vale "C" indica che l'anagrafica è stata cancellata logicamente
DF_ANA_LISTINO Listino attribuito al cliente Cercare l'esistenza su COGTESLS attraverso TLS-CODICE-HOST
Se non presente, per default assumere il listino standard configurato in anagrafica clienti
Il controllo verra' effettuato solo per i clienti e non per i fornitori
DF_ANA_ZONA Zona; se presente puo' corrispondere al codice presente sul DB HOST Cercare l'esistenza sulla tabella zone attraverso EUTA-ZON-CODICE-HOST
DF_ANA_COFI Codice fiscale
DF_ANA_PIVA Partita IVA Se ha un prefisso alfanumerico (es. "IT"), verrà tolto.
Molti gestionali includono il prefisso internazionale all'interno della PIVA
DF_ANA_PADRE_HOST Chiave anagrafica del cliente padre di fatturazione
Se " " non è presente
DF_ANA_PAG-COD Codice pagamento; se presente può corrispondere al codice presente sul DB HOST Il raccordo attualmente è memorizzato su COGGENER, con tipo record "cp"
Vedi COGD14
Il controllo è bloccante solo per i clienti
DF_ANA_LATITUDINE Coordinate GPS
DF_ANA_LONGITUDINE
DF_AGENTE Codice agente presente sulla tabella HOST
Deve corrispondere ad un fornitore
Se presente, deve corrispondere ad un fornitore
DF_ANA_STATO_CONTENZIOSO Indica lo stato contenzioso con il cliente (Solo per clienti) Cercare l'esistenza sulla tabella "Stato contenzioso" attraverso EUTA-STC-CODICE-HOST
DF_ANA_TIPO_TRASPORTO Indica il tipo di trasporto abituale per il cliente



DF_ANA_AGG_HOST Indica se l'anagrafica è stata aggiornata dal DB HOST


DF_ANA_AGG-AREA Indica se l'anagrafica è stata aggiornata da AREA:


Nome campo Descrizione Controllo Aggiornamento
DF_ANA_MODO_SCONTI Modo di esposizione sconti in fattura Può valere " ","A","B"
In caso contrario segnalazione di errore e skippare il record
COGANAPP.AAP-ESPONGO-SCONTI
Attenzione che i valori non corrispondono; se DF_ANA_MODO_SCONTI vale:



DF_ANA_RB_ABI Codice ABI per emissione RIBA Devono corrispondere ad un codice ABI/CAB trovato su COGBNCA COGAPPOG.APP-ABI
COGAPPOG.APP-CAB
DF_ANA_RB_CAB Codice CAB per emissione RIBA
DF_REGIME_IVA Regime speciale IVA Può valere " ", "D"
In caso contrario segnalazione di errore e skippare il record
COGGEANA.ANA-ESPORT
DF_ADDEBITO_SPESE Applicare le spese di incasso al cliente?


Vedi Gestione spese incasso COGGEANA.ANA-SPESE
DF_SPESE_INCASSO Importo da addebitare sulle fatture come spese di incasso AAP2-SPESE-INCASSO
DF_ENTE_PUBBLICO Ente pubblico?


Può valere "N","S"
In caso contrario segnalazione di errore e skippare il record
COGANAPP.AAP-ENTE-PUB
DF_CREAZIONE_XML Creazione XML fatturazione elettronica?


Può valere "N","S"
In caso contrario segnalazione di errore e skippare il record
COGANAPP.AAP-STAMPA-FAT
Solo se DF_CREAZIONE_XML vale "S", impostare AAP-STAMPA-FAT='P'; altrimenti lasciare invariato
DF_PA_UFFICIO Codice ufficio P.A. COGANAPP.AAP-COD-IPA
DF_SPESE_TRASPORTO Importo da addebitare sulle fatture come spese di trasporto Per il momento non viene importato
DF_SCONTO_FIN % Sconto finanziario da applicare alle fatture AAP2-SCONTO-FIN
DF_ANA_CLIENTE_LISTINO_HOST Chiave anagrafica del cliente padre per la ricerca listino/sconti
Se " " coincide con il cliente padre di fatturazione, o con il cliente stesso
AAP2-RACCORDO AAP2-CLIENTE-LISTINO
DF_ANA_PEC Posta certificata AAP2-FTE-PEC
DF_ANA_CODICE_SDI Codice SDI AAP2-FTE-COD-DEST
DF_ANA_RATING Codice rating Informazione sulla scheda CRM del cliente, configurata in inf-rating (se > 0, altrimenti ignorare)
DF_ANA_MULTIPLO_STANDARD Multiplo standard di default Informazione sulla scheda CRM del cliente, configurata in inf-multiplo-standard (se > 0, altrimenti ignorare)
DF_ANA_GRP_STAT_1 Gruppo statistico 1 Informazione sulla scheda CRM del cliente, configurata in inf-raggr-statistico (se > 0, altrimenti ignorare)
DF_ANA_GRP_STAT_2 Gruppo statistico 2 Informazione sulla scheda CRM del cliente, configurata in inf-raggr-stat-2 (se > 0, altrimenti ignorare)
DF_ANA_GRP_STAT_3 Gruppo statistico 3 Informazione sulla scheda CRM del cliente, configurata in inf-raggr-stat-3 (se > 0, altrimenti ignorare)
DF_ANA_INCOTERMS Codice "INCOTERMS" AAP2-INCOTERMS
DF_ANA_ORDINE_MINIMO Importo minimo ordine AAP2-ORDINE-MINIMO
DF-ANA-FIDO-ASSEGNATO Fido assegnato al cliente ANA-FIDO

Per ciascun controllo errato, memorizzare l'informazione sul log con stato "Errore", e skippare il record; C.2.1 Controllo record cancellati Dopo il controllo sul codice anagrafico host DF_ANA_KEY_HOST, il primo controllo deve essere effettuato sul flag di cancellazione DF_ANA_FL_CANC: se l'anagrafica risulta cancellata logicamente, eseguire direttamente la modifica senza proseguire con gli altri controlli (Alcuni gestionali host inviano il record cancellato con il solo flag di cancellazione senza nessun altro campo significativo. C.3 Importazione record altrimenti proseguire con l'inserimento/variazione del cliente: * Usare INSANA per memorizzare i dati di base * Aggiornare i vari record (COGGEANA, COGAPPOG, COGANAPP, COGANAPP2) in base ai dati da aggiornare. C.4 Aggiornamento stato record Aggiornare il record DFANAGR impostando:

Nome campo Contenuto
DF_ANA_AGG_HOST 0

D - Sincronizzazione (esportazione) Fase non prevista in questo programma E - Chiusura E.1 Rilascio semaforo Aggiornare il record semaforo relativo a DFANAGR, impostando

Nome campo Note
DF_SMF_USO_AREA 0

E.2 Chiusura tabelle Chiudere le tabella DFANAGR 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

F - Cancellazione logica anagrafiche non esistenti (Operazione "SETTIMANALE") F.1 Blocco semaforo Lettura del record DFSEMAFORO:

Nome campo Note
DF_SMF_TABELLA MASSIVO

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

F.2 Elaborazione Lo scopo di questa fase è di trovare eventuali anagrafiche non più presenti su DFANAGR, e marcarli quindi come cancellati; questo serve nel caso in cui il gestionale host esegua un aggiornamento di massa su DFANAGR. Rispetto alla versione standard, questa operazione potrebbe essere sensibilmente più lenta. Si scorre tutto il contenuto di COGGEANA, e si cerca il corrispondente record di DFANAGR, attraverso il codice di raccordo: se questo record non esiste si marcherà l'anagrafica come cancellata (ANA-VAL = "C") F.3 Rilascio semaforo Lettura del record DFSEMAFORO:

Nome campo Note
DF_SMF_TABELLA MASSIVO

Dopodichè aggiornare il semaforo impostando:

Nome campo Note
DF_SMF_USO_AREA 0

Estratto da documentazione interna ClickUp