Posizione nel menu
Programma non a menu
Linkage section
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 |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
|
|
clienti |
|
|
clienti |
|
|
clienti |
|
|
clienti |
|
|
clienti |
|
Elaborazione
Operazioni:
Operazione |
Descrizione |
" " |
Vedi Anagrafiche (DBF001) |
"SETTIMANALE" |
Vedi Anagrafiche (DBF001) |
A - 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 |
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 |