Vai al contenuto

DBF026 - Importazione giorni chiusura

Posizione nel menu Programma non a menu Linkage section UTILDBFPRG - Linkage comune Nome processo: GGCHIUSURA Tabella: DFGIORNICHIUSURA - Giorni chiusura aziendali Logica generale Sincronizzazione dei giorni di chiusura aziendali tra AREA e il DB frontiera. * DFGIORNICHIUSURA -> COGGGCHI 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: DFGIORNICHIUSURA. 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 DFGIORNICHIUSURA

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) Per questa elaborazione non si ha la certezza di come il gestionale host è in grado di effettuare gli aggiornamenti. In ogni caso questo programma importerà i record che risultano aggiornati dal gestionale host, ma solo se il contenuto è diverso da quello presente su Area, allo scopo di rendere poi più efficiente l'esportazione su KPN. Inoltre nelle tabelle interessate alla sincronizzazione è presente il flag di cancellazione logica. Diamo per scontato che anche il gestionale host lo utilizzi. C.1 Selezione record da importare Tramite un comando SQL specifico, estrazione di tutti i record aggiornati dall'HOST: SELECT * FROM DFGIORNICHIUSURA WHERE DF_GGCH_AGG_HOST = 1 C.2 Controllo record Per ciascun record letto, verificare la correttezza delle informazioni contenute NB: nelle segnalazioni di errore sul log citare sempre la chiave primaria del record: in questo caso DF-GGCH-TIPO + DF-GGCH-OGGETTO-HOST Controllo DF-GGCH-TIPO Questa informazione potrà contenere solo: * "M" (giorni chiusura per magazzino) * "I" (giorni di chiusura per indirizzo di spedizione) altrimenti segnalare Errore . Controllo DF-GGCH-OGGETTO-HOST Questa informazione deve essere valorizzata, altrimenti segnalare Errore . Controllo DF-GGCH-FL-RIPETITIVO Questa informazione potrà contenere solo: * 1: periodo ripetitivo * 0: periodo standard altrimenti segnalare Errore . Controllo DF-GGCH-FL-CANC Questa informazione potrà contenere solo: * "C": Record cancellato * " ": Record valido altrimenti segnalare Errore . C.3 Importazione record Se tutti i controlli sono superati, proseguire con l'inserimento/variazione del record della distinta, a seconda dei controlli precedenti. C.3.1 Inserimento/aggiornamento Cercare l'esistenza di un record su COGGGCHI

Nome campo Contenuto
GGCH-TIPO DF-GGCH-TIPO
GGCH-OGGETTO C.3.1.1 RIcerca oggetto
GGCH-PROG DF-GGCH-PROG

In questo caso se il record non esiste, verrà inserito. Poi aggiornare il record, solo se i dati risultano diversi (per evitare traffico e aggiornamenti inutili)

Nome campo Contenuto
DF-GGCH-DATA-INIZIO DF-GGCH-DATA-INIZIO
DF-GGCH-DATA-FINE DF-GGCH-DATA-FINE
DF-GGCH-FL-RIPETITIVO DF-GGCH-FL-RIPETITIVO
DF-GGCH-FL-CANC DF-GGCH-FL-CANC

C.3.1.1 Ricerca oggetto La ricerca dipende dal tipo

DF-GGCH-TIPO Contenuto
"M" Magazzino
Cercare su COGMAGAZ un magazzino che abbia:

Se trovato, allora GGCH-OGGETTO = MAGZ-CHIA1
Altrimenti segnalare Warning
"I" Indirizzo di spedizione
Tramite una query su DFINDIR cercare l'indirizzo con

Se trovato, deve avere DF-IND-AREA-COD > 0 e DF-IND-AREA-PROG > 0: in questo caso significa che l'indirizzo è già stato acquisito, altrimenti segnalare Warning
Quindi se l'indirizzo risulta acquisito:
Cercare la destinazione su COGDESTI componendola con:





Errore

Errore

C.4 Aggiornamento stato record Aggiornare il record DFGIORNICHIUSURA impostando:

Nome campo Contenuto
DF-GGCH-AGG-HOST 0
DF-GGCH-AGG-AREA 0

F - Chiusura F.1 Rilascio semaforo Aggiornare il record semaforo relativo a DFGIORNICHIUSURA, impostando

Nome campo Note
DF-SMF-USO-AREA 0

F.2 Chiusura tabelle Chiudere le tabella DFGIORNICHIUSURA 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

Estratto da documentazione interna ClickUp