Posizione nel menu
Programma non a menu
Linkage section
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 |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
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
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
oRighe di magazzino (COGMOMAG)
oRighe 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: •10001 •10002 •.... •20001 •20002 •... |
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 |