DBF106 - Esportazione fatture/note accredito clienti

Navigation:  »No topics above this level«

DBF106 - Esportazione fatture/note accredito clienti

Return to chapter overview

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

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