DBF001 - Sincronizzazione clienti/fornitori

Navigation:  »No topics above this level«

DBF001 - Sincronizzazione clienti/fornitori

Return to chapter overview

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

"C": Cliente

"F": Fornitore

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:

DF_ANA_AREA_TIP = DF_NOM_KEY_AREA_TIP

DF_ANA_AREA_COD = DF_NOM_KEY_AREA_COD

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

"M":Mittente

"D":Destinatario

"V":Vettore



DF_ANA_AGG_HOST

Indica se l'anagrafica è stata aggiornata dal DB HOST

1: aggiornata

0: non aggiornata



DF_ANA_AGG-AREA

Indica se l'anagrafica è stata aggiornata da AREA:

1: aggiornata

0: non aggiornata



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:

" "  -> "D"

"A" -> "S"

"B" -> "N"

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?

"N": No

"S" Si

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?

"N": No

"S" Si

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?

"N": No

"S" Si

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

 

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