DBF021 - Importazione scadenzario extracontabile

Navigation:  »No topics above this level«

DBF021 - Importazione scadenzario extracontabile

Return to chapter overview

Posizione nel menu

Programma non a menu

 

Linkage section

 

UTILDBFPRG - Linkage comune

 

Nome processo: DFSCADEX

 

Tabella: DFSCADENZARIO - Scadenzario

 

Logica generale

 

Importazione dello scadenzario extracontabile dal DB frontiera ad AREA.

DFSCADENZARIO -> COGSCDEX

 

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

 

 

Elaborazione

 

Elaborazione

 

Operazioni:

Operazione

Descrizione

" "

Vedi Scadenzario extracontabile (DBF021)

"SETTIMANALE"

Vedi Vedi Scadenzario extracontabile (DBF021)

 

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: DFSCADENZARIO. 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

DFSCADENZARIO

 

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

 

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)  (Operazione " ")

 

Per questa elaborazione non si ha la certezza di come il gestionale host è in grado di effettuare gli aggiornamenti:

Aggiornando i soli record realmente aggiornati

Esportando in massa i record per i clienti dove c'e' stata una modifica

Esportando in massa tutti i record

 

Per questo motivo, dopo la prima elaborazione, che rispecchia il metodo usato negli altri programmi di importazione, sarà effettuata una seconda elaborazione che tenta di sistemare i problemi dovuti all'importazione per singolo record. Il motivo per cui non si effettua un aggiornamento di massa, che sarrebbe sicuramente più semplice, è per ottimizzare gli aggiornamenti, dato che la tabella su cui si va a scrivere (COGBKORD) dovrà essere esportata sul DB APP.

 

C.1 Selezione record da importare

 

Tramite un comando SQL specifico, estrazione di tutti i record aggiornati dall'HOST:

SELECT * FROM DFSCADENZARIO WHERE DF_SCD_AGG_HOST = 1

 

C.2 Controllo record

 

Per ciascun record letto, verificare la correttezza delle informazioni contenute

 

Controllo DF_SCD_KEY_HOST

Questa informazione deve essere significativa altrimenti segnalare Errore

 

Controllo DF_SCD_DATA_DOC

Questa informazione deve essere significativa altrimenti segnalare Errore

 

Controllo DF_SCD_DATA_SCAD

Questa informazione deve essere significativa altrimenti segnalare Errore

 

Controllo DF_SCD_ANA_FAT_HOST

Informazione obbligatoria.Cercare se corrisponde ad un cliente o fornitore, con una ricerca su COGANAPP.AAP2-CHIA2, impostando

AAP2-RACCORDO = DF_SCD_ANA_FAT_HOST

Se il raccordo:

Esiste: il documento sarà collegato all'anagrafica trovata

Non esiste: l'anagrafica a cui è collegati il contatto non è stato ancora acquisita: Informazione e skippare: "DF_SCD_KEY collegato ad anagrafica non ancora importata : DF_SCD_ANA_FAT_HOST"

 

Controllo DF_SCD_ANA_DST_HOST

Informazione non obbligatoria.Cercare se corrisponde ad un cliente o fornitore, con una ricerca su COGANAPP.AAP2-CHIA2, impostando

AAP2-RACCORDO = DF_SCD_ANA_DST_HOST

Se il raccordo:

Esiste: il documento sarà collegato all'anagrafica trovata

Non esiste: l'anagrafica a cui è collegati il contatto non è stato ancora acquisita: Informazione e skippare: "DF_SCD_KEY collegato ad anagrafica non ancora importata : DF_SCD_ANA_DST_HOST"

 

Controllo DF_SCD_DIVISA

Informazione obbligatoria. Per il momento è consentito "E" o "EU".

 

Controllo DF_SCD_DAREAVERE

Informazione obbligatoria. Può valere "D" o "A"

 

Controllo DF_SCD_VAL

Questo campo potrà contenere "C" o " " altrimenti segnalare Errore e skippare: "DF_SCD_KEY con DF_SCD_VAL errato: DF_SCD_VAL".

 

C.3 Importazione record

 

Se tutti i controlli sono superati, proseguire con l'inserimento/variazione della scadenza, a seconda dei controlli precedenti.

 

C.3.1 Inserimento/aggiornamento

 

Cercare l'esistenza di un record su COGSCDEX

 

Nome campo

Contenuto

SCDE-PARTITA

DF-SCD-KEY-HOST

SCDE-PARTITA-PROG

DF-SCD-PROG-SCADENZA

 

In questo caso se il record non esiste, verrà inserito.

Poi aggiornare il record, solo se i dati risultano diversi:

 

Nome campo

Contenuto

SCDE-PARTITA-AREA

DF_SCD_ORDINE_HOST

SCDE-ANA-FAT

L'anagrafica collegata a DF_SCD_ANA_FAT_HOST

SCDE-ANA-DST

L'anagrafica collegata a DF_SCD_ANA_DST_HOST

SCDE-DATA-DOC

DF_SCD_DATA_DOC

SCDE-DATA-SCAD

DF_SCD_DATA_SCAD

SCDE-DIVISA

"E"

SCDE-IMP-TOTALE

DF_SCD_IMPORTO_TOTALE

SCDE-IMP-PAGATO

DF_SCD_IMPORTO_PAGATO

SCDE-SEGNO

DF_SCD_DAREAVERE

SCDE-FL-CANC

DF_SCD_VAL

SCDE-NOTE

DF_SCD_NOTE

 

C.4 Aggiornamento stato record

 

Aggiornare il record DFSCADENZARIO impostando:

 

Nome campo

Contenuto

DF_SCD_AGG_HOST

0

DF_SCD_AGG_AREA

0

 

C.5 Memorizzazione cliente aggiornato

 

Su un apposito file di transito interno al programma, registrare la combinazione "Cliente fatturazione/cliente destinazione" trovata sul record in elaborazione.

 

 

D - Confronto e cancellazione record non trovati (Operazione " ")

 

D.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

 

D.2 Elaborazione

 

Lo scopo di questa fase è di trovare eventuali record non presenti su COGSCDEX per i clienti aggiornati, e marcarli quindi come cancellati; questo serve nel caso in cui il gestionale host esegua un aggiornamento di massa su DFSCADENZARIO.

 

Rileggere il file di transito creato in precedenza, che conterrà quindi quale combinazione "Cliente fatturazione/cliente destinazione" è stato aggiornato.

 

Per ciascun record, scorrere il contenuto di COGSCDEX con SCDE-CHIA2 per tutti i record pari a:

Nome campo

Contenuto

SCDE-ANA-FAT

Il cliente di fatturazione

SCDE-ANA-DST

Il cliente destinatario

 

Per ciascun record trovato, eseguire una lettura corrispondente su DFSCADENZARIO:

Nome campo

Contenuto

DF-SCD-KEY-HOST

SCDE-PARTITA

DF-SCD-PROG-SCADENZA

SCDE-PARTITA-PROG

 

A questo punto, se il record non esiste, marcare il record su COGSCDEX come cancellato, impostando

Nome campo

Contenuto

SCDE-FL-CANC

"C"

 

D.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

 

E - Confronto e cancellazione record non trovati (Operazione "SETTIMANALE")

 

Lo scopo di questa fase è di trovare eventuali record non presenti su COGSCDEX per i tutti i clienti, e marcarli quindi come cancellati; questo serve nel caso in cui il gestionale host esegua un aggiornamento di massa su DFSCADENZARIO. Rispetto alla versione standard, questa operazione potrebbe essere sensibilmente più lenta.

 

Scorrere tutto il contenuto di COGSCDEX; per ciascun record trovato scartare i record cancellati (SCDE-FL-CANC = "C");

Per i record validi eseguire una lettura corrispondente su DFSCADENZARIO:

 

Nome campo

Contenuto

DF_SCD_KEY_HOST

SCDE-PARTITA

DF_SCD_PROG_SCADENZA

SCDE-PARTITA-PROG

 

A questo punto, se il record non esiste, marcare il record su COGSCDEX come cancellato, impostando

Nome campo

Contenuto

SCDE-FL-CANC

"C"

 

F - Chiusura

 

F.1 Rilascio semaforo

 

Aggiornare il record semaforo relativo a DFSCADENZARIO, impostando

 

Nome campo

Note

DF_SMF_USO_AREA

0

 

F.2 Chiusura tabelle

 

Chiudere le tabella DFSCADENZARIO e DFSEMAFORO

 

F.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