Vai al contenuto

DFN027 - Importazione orari

Nome programma DFN027 Linkage section UTILAGPRG - Linkage comune Id processo: 51027 Nome processo: DFN027 Tabelle principali gestite

AREA Direzione AREAGATE
COGORARI ----> DFORARI

Logica generale Importazione degli orari di apertura dal db frontiera ad Area Esportazione Non prevista Importazione Importazione di tutti i record aggiornati dal gestionale host Configurazioni possibili

Gruppo Parametro Note
dbfront db-conn-string
dbfront db-log-level
abilita attiva-areaapp
areaapp cod-azienda
areaapp agg-postgres-online

Elaborazione Operazioni:

Operazione Descrizione
" " Importazione standard

B - Apertura B.1 Apertura tabelle Tentare l'apertura della tabella da sincronizzare: DFORARI. 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 DFORARI

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

C - Sincronizzazione (Importazione) (Operazione " ") Diamo per scontato che per questa tabella non sia stata prevista l'opzione "Massiva". Quindi diamo per scontato che i record cancellati lo siano logicamente. C.1 Selezione record da importare Tramite un comando SQL specifico, estrazione di tutti i record aggiornati dall'HOST: SELECT * FROM DFORARI WHERE DF_ORA_AGG_HOST = 1 C.2 Controllo record Per ciascun record letto, verificare la correttezza delle informazioni contenute Controllo DF_ORA_APPLICAZIONE Questo campo per ora dovrà contenere: * "C" (cliente) * "D" (destinazione) altrimenti segnalare Errore e skippare, indicando la chiave del record errato Controllo DF_ORA_ANA_HOST Questa informazione deve essere significativa altrimenti segnalare Errore . Cercare se corrisponde ad un cliente o fornitore, con una ricerca su COGANAPP.AAP2-CHIA2, impostando * AAP2-RACCORDO = DF_IND_ORA_HOST Se il raccordo non esiste, il cliente a cui è collegata non è stato ancora acquisito: Informazione e skippare: "DF_ORA_KEY collegato ad anagrafica non ancora importata : DF_ORA_ANA_HOST" Controllo DF_ORA_IND_HOST Campo obbligatorio, se DF-ORA-APPLICAZIONE = "D". Se indicato dovrà corrispondere ad un indirizzo di spedizione raccordato in AREA: scorrere COGDEST2 per le destinazioni collegate all'anagrafica raccordata a DF_ORA_ANA_HOST; dovrebbe esistere una destinazione con DST2-CODICE-HOST = DF_ORA_IND_HOST; altrimenti segnalare Errore e skippare "DF_ORA_KEY collegato ad indirizzo non ancora importato : DF_ORA_IND_HOST (anagrafica DF_ORA_ANA_HOST)" Controllo DF_ORA_FL_CANC Questo campo potrà contenere "C" o " " altrimenti segnalare Errore e skippare: "DF_ORA_KEY con DF_ORA_VAL errato: DF_ORA_VAL". Controllo DF_ORA_GIO Controllare che questo campo contenga un valore previsto tra: * LU * MA * ME * GI * VE * SA * DO altrimenti segnalare Errore e skippare, indicando la chiave del record errato Controllo DF_ORA_PROG Controlliamo che il progressivo sia compreso tra 1 e 3, altrimenti segnalare Errore e skippare, indicando la chiave del record errato C.3 Importazione record Se tutti i controlli sono superati, proseguire con l'inserimento/variazione/cancellazione del record Cercare l'esistenza di un record su COGORARI

Nome campo Contenuto
ORA-ANA Il cliente corrispondente a DF_ORA_ANA_HOST
ORA-DST La destinazione corrispondente a DF_ORA_IND_HOST, se presente
ORA-GIO DF-ORA-GIO
ORA-PROG DF-ORA-PROG

C.3.1 Record cancellato Se DF-ORA-FL-CANC = "C": * Se il record su COGORARI non esiste, inserire una segnalazione informativa sul log e skippare * Se il record su COGORARI esiste, cancellarlo inserendo una segnalazione informativa sul log C.3.2 Inserimento/aggiornamento Se il record su COGRARI non esiste, verrà inserito. Poi aggiornare il record, solo se i dati risultano diversi:

Nome campo Contenuto
ORA-INI DF-ORA-INI
ORA-FIN DF-ORA-FIN

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

Nome campo Contenuto
DF_ORA_AGG_HOST 0
DF_ORA_AGG_AREA 0

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

Nome campo Note
DF_SMF_USO_AREA 0

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