Vai al contenuto

DBF106 - Esportazione fatture/note accredito clienti

Posizione nel menu Programma non a menu Linkage section UTILDBFPRG - Linkage comune Nome processo: FATTURECLI Tabella: DFDOCTES - Testata documenti + DFDOCDET - Dettaglio documenti Logica generale Sincronizzazione delle fatture e note accredito clienti tra AREA e il DB frontiera. Questo processo funziona solo in EXPORT Configurazioni possibili

Gruppo Parametro Note
dbfront sincro-attiva
dbfront email-segnalazioni
dbfront db-tipo
dbfront db-conn-string
dbfront db-log-level
dbfront inverto-segno-sconti
dbfront magazzino-esp-interventi Usato per modificare il magazzino dei documenti la cui sede è il magazzino configurato

Elaborazione Tipi di segnalazione: Vedi Tipi di segnalazione A - Controllo di esecuzione Vedi Controllo di esecuzione B - Apertura B.1 Apertura tabelle Tentare l'apertura della tabella da sincronizzare: DFDOCTES. Se fallita inviare una Segnalazione grave e chiudere. Tentare l'apertura della tabella da sincronizzare: DFDOCDET. 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 DFDOCTES-FATTURE

Se il record non esiste inserirlo. Se risulta bloccato dal gestonale host (DF_SMF_USO_HOST = 1) Informazione 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 per la tabella DFDOCDET-FATTURE 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 " "

D - Sincronizzazione (esportazione) Per il momento sarà possibile solo esportate fatture non ancora esportate. Qualunque documento già presente sul db di frontiera sarà ignorato. Il processo di esportazione si basa sul contenuto di FAT2-FL-ESPORTATA (vedi Comportamento di FAT2-FL-ESPORTATA) Quindi, la parte qui descritta dovrà essere eseguita con due elaborazioni identiche in sequenza, che useranno i seguenti valori di FAT2-FL-ESPORTATA: 1. " " 2. "A " D.2 Esportazione Loop su COGFATT2 usando FAT2-CHIA2, impostando

Nome campo Contenuto
FAT2-FL-ESPORTATA Uno dei valori indicati
FAT2-ANA-TIP "C"

Ciascun record letto corrisponde ad una fattura da trattare. D.2.1 Controllo se esportare la fattura Tutti i documenti trovati in questo modo sono documenti attivi, ovvero emessi a clienti, quindi sono validi D.2.2 Esportazione singolo documento Verifichiamo se il documento inserito/aggiornato è già stato esportato, con una ricerca diretta su DFDOCTES, usando DF_DTES_CHIA3, impostando:

Nome campo Contenuto
DF_DTES_CLASSE "FC"
DF_DTES_KEY_AREA FAT-CHIA1

Se il record esiste, allora è già stato esportato e lo dobbiamo ignorare: Informazione sul log e skippare. Se il record non esiste, allora il documento non è mai stato esportato, quindi dovremo inserire DFDOCTES, e quindi inserire DFDOCDET. D.2.2.1 Aggiornamento DFDOCTES

Nome campo Note
DF_DTES_KEY_HOST in inserimento è vuoto, altrimenti lasciare invariato (potrebbe essere stato già importato dall'HOST e quindi collegato)
DT_DTES_ORIGINE "A"
DF_DTES_CLASSE "FC"
DF_DTES_KEY_AREA FAT-CHIA1
DF_DTES_DATA FAT-DAMOV
DF_DTES_MAG_MAIN_HOST " " (la fattura non ha magazzino)
DF_DTES_MAG_TRASF_HOST " "
DF_DTES_CAUSALE " " (la fattura non ha causale)
DF_DTES_PAGAMENTO Usando FAT-RB e FAT-PAG, cercare il corrispondente codice di raccordo su COGGENER, vedi COGD12.
Se non trovato, inviare una Email informativa e skippare
DF_DTES_FL_FAT " "
DF_DTES_ORIG_CLASSE " "
DF_DTES_ORIG_KEY " "
DF_DTES_ANA_FAT_HOST AAP2-RACCORDO, trovato sul cliente FAT-ANA
Se non trovato inviare una Email informativa e skippare.
DF_DTES_ANA_DST_HOST " "
DF_DTES_IND_HOST " "
DF_DTES_ALTRO_TRASF " "
DF_DTES_NOTE " "
DF_DTES_DIVISA FAT-CURRENCY
DF_DTES_AGENTE_1 TES-AGENTE1
DF_DTES_AGENTE_2 TES-AGENTE2
DF_DTES_VAL " "
DF_DTES_AGG_AREA 1
DF_DTES_IMP_TRASPORTO FAT2-IMP-TRASPORTI
DF_DTES_IMP_SCONTO_FIN FAT-SCO-IMP (negativo se FAT-SCO-IMP-S = "+")
DF_DTES_PERC_SCONTO_FIN FAT2-SCONTO-FIN-PERC
DF_DTES_TOTALE_GENERALE FAT-IMPORTO (40)

D.2.2.1 Aggiornamento DFDOCDET Il dettaglio della fattura è dato dal dettaglio di tutti i documenti collegati Quindi: * Scorrere COGRACCO per tutti i documenti collegati alla fattura * Ciascun documento potrebbe avere al di sotto * Righe di magazzino (COGMOMAG) * Righe no merci (COGCONTR) -> per il momento non vengono considerate dato che non gestiscono il codice merce (Pieri avrà bloccata la possibilità di fare fatture no merci) Per ciascuna riga trovata creare un record su DFDOCDET D.2.2.1.1 Aggiornamento DFDOCDET da COGMOMAG

Nome campo Note
DF_DDET_KEY_HOST DF_DTES_KEY_HOST
DF_DDET_RIG_HOST N. progressivo di documento + progressivo di riga, ad esempio:






DF_DDET_CLASSE DF_DTES_CLASSE
DF_DDET_KEY_AREA DF_DTES_KEY_AREA
DF_DDET_PROG_AREA Un progressivo di riga univoco per tutte le righe della fattura
DF_DDET_SEGNO MAG-ENTRUSC
DF_DDET_MPR_HOST Codice merce avanzato della merce
Cercare su DFMERCIPREST se esiste su DF_MPR_KEY_HOST; se non esiste
Se non trovato inviare una Email informativa ma proseguire
DF_DDET_QTA MAG-QTAMAGAZ
DF_DDET_PREZZO_LORDO MAG-PRE-NO-SCO
DF_DDET_SCONTO_1 MAG-SCO1
DF_DDET_SCONTO_2 MAG-SCO2
DF_DDET_SCONTO_3 0
DF_DDET_PREZZO_NETTO MAG-PREZZO
DF_DDET_IMPORTO MAG-VALORE
DF_DDET_NOTE Inserire qui, in formato descrittivo, il riferimento del documento fatturato e la data, ad esempio
"DDT 1/2018/I/1 del 10/01/2018"
Se il documento è collegato ad un intervento, al posto del ddt esportare questo:
"Intervento 12345 del 10/01/2018"
DF_DDET_CAUSALE_PRODOTTO " "
DF_DDET_TIPO_OMAGGIO " "
Se MAG-OMAGGIO = 'O', forzare 2
DF_DDET_FL_PROMOZIONE 0
DF_DDET_FL_SCONTO_AGENTE 0
DF_DDET_PROVV_AGENTE_1 MOA2-PROV-AGE1
DF_DDET_PROVV_AGENTE_2 MOA2-PROV-AGE2

D.2.2.3 Aggiornamento flag esportazione Aggiornare COGFATT2 per il documento in elaborazione, impostando "F" sul secondo carattere di TSA-FL-ESPORTATA, a prescindere dal contenuto precedente; in pratica:

Prima Dopo
" " " F "
"A " "AF "

Vedi anche Comportamento di FAT2-FL-ESPORTATA E - Chiusura E.1 Rilascio semaforo Aggiornare i record semaforo relativi a DFDOCTES e DFDOCDET, impostando

Nome campo Note
DF_SMF_USO_AREA 0

E.2 Chiusura tabelle Chiudere le tabella DFDOCTES, DFDOCDET 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
DBFST-UA-DATA Data/ora dell'ultimo record cancellato trovato
Se non e' stata effettuata alcuna cancellazione, non aggiornare queste informazioni
DBFST-UA-ORA

Estratto da documentazione interna ClickUp