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