DBF015 - Sincronizzazione note post-it

Navigation:  »No topics above this level«

DBF015 - Sincronizzazione note post-it

Return to chapter overview

Posizione nel menu

Programma non a menu

 

Linkage section

 

UTILDBFPRG - Linkage comune

 

Nome processo: POSTIT

 

Tabella: DFPOSTIT - Note post-it

 

Logica generale

 

Sincronizzazione delle note post-it tra AREA e il DB frontiera.

 

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

 

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

DFPOSTIT

 

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)

 

C.1 Selezione record da importare

 

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

SELECT * FROM DFPOSTIT WHERE DF_PTT_AGG_HOST = 1

 

C.2 Controllo record

 

Per ciascun record letto, verificare la correttezza delle informazioni contenute

 

Controllo DF_PTT_ANA_HOST

Se questa informazione, è significativa: cercare se corrisponde ad un cliente o fornitore, con una ricerca su COGANAPP.AAP2-CHIA2, impostando

AAP2-RACCORDO = DF_PTT_ANA_HOST

Se il raccordo non esiste: l'anagrafica a cui è collegata la nota  non è stato ancora acquisita: Informazione e skippare: "DF_PTT_KEY_HOST collegato ad anagrafica non ancora importata : DF_PTT_ANA_HOST"

 

Controllo DF_PTT_MERCE_HOST

Se questa informazione è significativa, contiene il codice merce avanzato di una merce (che corrisponde al codice articolo HOST) su cui importare la nota.

Quindi, cercare su COGRACMC; se non esiste segnalare Informazione e skippare: "DF_PTT_KEY_HOST collegato a merce non ancora importata : DF_PTT_MERCE_HOST"

 

NB: possono essere significativi contemporeamente sia DF_PTT_ANA_HOST che DF_PTT_MERCE_HOST, ma non possono essere entrambi vuoti: in tal caso segnalare Errore e skippare: "DF_PTT_KEY_HOST senza anagrafica nè merce"

 

Controllo DF_PTT_AREA

Questo campo potrà contenere uno dei valori descritti nella documentazione tabella; altrimenti segnalare Errore e skippare: "DF_PTT_KEY con DF_PTT_AREA errato: DF_PTT_AREA".

 

Controllo DF_PTT_VAL

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

 

C.3 Importazione record

 

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

 

C.3.1 Cancellazione

 

Nel caso in cui DF_PTT_VAL = 'C' è necessario cercare e cancellare un record su COGPOSTT:

 

Nome campo

Contenuto

PTT-ANA

Il cliente collegato a DF_PTT_ANA_HOST

PTT-MERCE

DF_PTT_MERCE_HOST

PTT-AREA

DF_PTT_AREA

 

Nel caso in cui il record non esiste, Informazione sul log.: "richiesta cancellazione di una nota non esistente: 'PTT-CHIA1'"

 

C.3.2 Inserimento/aggiornamento

 

Cercare l'esistenza di un record su COGPOSTT, come descritto sopra per il punto C.3.1.

 

In questo caso se il record non esiste, verrà inserito, altrimenti verrà variato. Oltre ai campi chiave, i campi da gestire sono:

 

Nome campo

Contenuto

PTT-NOTE

DF_PTT_NOTE

 

 

C.4 Aggiornamento stato record

 

Aggiornare il record DFPOSTIT impostando:

 

Nome campo

Contenuto

DF_PTT_AGG_HOST

0

DF_PTT_AGG_AREA

0

 

 

D - Sincronizzazione (esportazione)

Fase non prevista in questo programma

 

E - Chiusura

 

E.1 Rilascio semaforo

 

Aggiornare il record semaforo relativo a DFPOSTIT, impostando

 

Nome campo

Note

DF_SMF_USO_AREA

0

 

E.2 Chiusura tabelle

 

Chiudere le tabella DFPOSTIT 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