Posizione nel menu
Programma non a menu
Linkage section
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 |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
|
|
dbfront |
|
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: 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 |