Vai al contenuto

SWA067 - Sincronizzazione sottocommesse

Logica generale Esportazione della tabella "testata sottocommesse" tra gestionale e database KPN Al momento è previsto solo l'esportazione da gestionale Ad ogni esportazione saranno aggiornati sulla tabella ARPSOTCM i seguenti record: * I record modificati dopo l'ultimo aggiornamento eseguito * I record cancellati sul gestionale (sarà alzato il flag di cancellazione) NB: attualmente l'esportazione non è ottimizzata, perchè su COGTESCM manca un indice diretto su data-ora aggiornamento. Se necessario si dovrà costruire questo indice. Configurazioni possibili

Gruppo Parametro Note

Elaborazione A - Esportazione tipi contratto aggiornati Su POSTGRES, tabella APSTATOSYN, leggere il record relativo alla tabella/oggetto da sincronizzare "ARPSOTCM"; se il record non esiste, crearlo impostando

Dato Contenuto
A_SYN_AZIENDA Codice azienda
A_SYN_TABELLA "ARPSOTCM"
A_SYN_DA_GES_DATA 0
A_SYN_DA_GES_ORA 0
A_SYN_DA_ID_SINCRO 1

Qui otterremo due informazioni importanti: * Data/ora ultima esportazione da gestionale a postgres (A_SYN_DA_GES_DATA e A_SY_DA_GES_ORA) * Prossimo ID sincronizzazione da memorizzare sulla tabella (A_SYN_ID_SINCRO) Ricerca record da esportare * Scorrere COGSOTCM; per il momento dobbiamo considerare ogni record dato che non abbiamo nessuna informazione che fa capire quando è aggiornatl A.1 - Esportazione Per ciascun record valido cercare su ARPSOTCM l'esistenza di un record avente:

Dato Contenuto
A-SOT-AZIENDA Codice azienda
A-SOT-COD SOT-COD

Se non esiste, inserirlo. Se esiste, aggiornarlo solo se i dati da sincronizzare sono diversi: Informazioni con cui inserire/aggiornare un record su ARPSOTCM:

Dato Contenuto
A-SOT-AZIENDA Id azienda
A-SOT-COD SOT-COD
A-SOT-DES SOT-DES
A-SOT-STATO SOT-FL-STATO
A-SOT-ID-SINCRO Ultimo id sincro + 1
A-SOT-VAL " "
A-SOT-AGG-APP " "

In questa fase tenere memoria di data+ora dell'ultimo record aggiornato. A.1.1 - Esportazione sottocommessa "nulla" E' necessario creare sulla tabella sottocommesse una sottocommessa di sistema che identifica l'assenza di sottocommesse; quindi se ancora non esiste creare il record:

Dato Contenuto
A-SOT-AZIENDA Id azienda
A-SOT-COD "*"
A-SOT-DES "NESSUNA SOTTOCOMMESSA"
A-SOT-STATO "A"
A-SOT-ID-SINCRO Ultimo id sincro + 1
A-SOT-VAL " "
A-SOT-AGG-APP " "

A.2 - Identificazione dei record cancellati Al termine dell'aggiornamento, scorrere il contenuto di ARPSOTCM per l'azienda in elaborazione e per i record non cancellati (A-SOT-VAL = " "); per ciascun record valido verificare l'esistenza della sottocommessa su COGSOTCM; se non esiste, aggiornare il record marcandolo come cancellato:

Dato Contenuto
A-SOT-ID-SINCRO Ultimo id sincro + 1
A-SOT-VAL "C"
A-SOT-AGG-APP " "

B Aggiornamento id syncro contratto Al termine dell'elaborazione, aggiornare il record APSTATOSYN:

Dato Contenuto
A_SYN_AZIENDA Codice azienda
A_SYN_TABELLA "ARPSOTCM"
A_SYN_DA_GES_DATA Data/ora dell'ultimo record aggiornato
A_SYN_DA_GES_ORA
A_SYN_DA_ID_SINCRO Ultimo ID sincro aggiornato

Estratto da documentazione interna ClickUp