Vai al contenuto

SWA038 - Sincronizzazione tabelle generiche

Logica generale Import/export di tabelle generiche tra gestionale e database KPN Al momento è previsto solo l'esportazione da gestionale. Ad ogni esportazione saranno aggiornati sulla tabella ARPTABELLE i seguenti record: * I record modificati dopo l'ultimo aggiornamento eseguito * I record cancellati sul gestionale (sarà alzato il flag di cancellazione) Configurazioni possibili

Gruppo Parametro Note

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

Dato Contenuto
A_SYN_AZIENDA Codice azienda
A_SYN_TABELLA "ARPTABELLE"
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) A.1 - Azzeramento flag di aggiornamento Eseguire una query che azzera lo stato aggiornamento dei record presenti "UPDATE arptabelle set A_TAB_FL_AGG = "N" WHERE A_TAB_AZIENDA = azienda" Poi, per ciascuna tabella da esportare, eseguire il punto A.2 Le tabelle da esportare sono:

Dato Provenienza Tipo tabella
Causali bolla "T" (COGTABEL) "15"
Posizioni contatti "T" (COGTABEL) "24"
Zone "T" (COGTABEL) "88"
Stato contenzioso "T" (COGTABEL) "FU"
Qualità articoli "T" (COGTABEL) "FV"
Evidenza commerciale "T" (COGTABEL) "FW"

A.2 - Esportazione singola tabella Ricerca record da esportare Scorrere il file da esportare (per ora solo COGTABEL) per tutti i record della tabella da esportare (per ora solo "FU"). Per ciascun record letto cerca l'esistenza del corrispondente record su ARPTABELLE:

Dato Contenuto
A-TAB-AZIENDA Codice azienda
A-TAB-PROVENIENZA Provenienza
A-TAB-TIP Tipo tabella
A-TAB-COD Il codice in elaborazione

A questo punto, inserire il record se non esiste su ARPTABELLE, o aggiornarlo se esiste, come segue:

Nome campo Contenuto
A_TAB_AZIENDA Codice azienda
A_TAB_PROVENIENZA Provenienza
A_TAB_TIPO Tipo tabella
A_TAB_COD Il codice in elaborazione
A_TAB_DES Descrizione valore tabella
A_TAB_ATTRIBUTO_1 Esportare questo campo in funzione del tipo tabella

A.2.1 - Aggiornamento record "non aggiornati" Attraverso una apposita query scorrere tutti i record non aggiornati di ARPTABELLE per la tabella in elaborazione; (SELECT ARPTABELLE WHERE A_TAB_AZIENDA = azienda AND A_TAB_PROVENIENZA = provenienza AND A_TAB_TIP = tipo AND A_TAB_FL_AGG = "N" ) per ciascun record trovato, cercare se esiste ancora il record corrispondente lato gestionale, con una lettura di COGTABEL: Se il record non esiste, è necessario marcare come cancellato il record su ARPTABELLE, aggiornando contemporaneamente l'id di sincronizzazione:

Dato Contenuto
A_TAB_FL_CANC "C"
A_TAB_ID_SINCRO Ultimo id sincro + 1

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

Dato Contenuto
A_SYN_AZIENDA Codice azienda
A_SYN_TABELLA "ARPTABELLE"
A_SYN_DA_ID_SINCRO Ultimo ID sincro aggiornato

Estratto da documentazione interna ClickUp