SWA046 - Esportazione postit¶
Logica generale Import/export di note post-it tra gestionale e database KPN Al momento è previsto solo l'esportazione da gestionale. Ad ogni esportazione saranno aggiornati sulla tabella ARPPOSTIT 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 post-it Su POSTGRES, tabella APSTATOSYN, leggere il record relativo alla tabella/oggetto da sincronizzare "ARPPOSTIT"; se il record non esiste, crearlo impostando
| Dato | Contenuto |
|---|---|
| A_SYN_AZIENDA | Codice azienda |
| A_SYN_TABELLA | "ARPPOSTIT" |
| 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 - Ricerca cancellazioni Tramite un comando SQL effettuare la ricerca di tutti i record non cancellati di ARPPOSTIT per l'azienda: "SELECT * FROM arppostit where a_ptt_azi = azienda AND a_ptt_fl_canc <> "C"" Per ciascun record trovato, verificare l'esistenza del record corrispondente su COGPOSTT:
| Dato | Contenuto |
|---|---|
| PTT-ANA | A-PTT-ANA |
| PTT-MERCE | A-PTT-MERCE |
| PTT-AREA | A-PTT-AREA |
Se il record NON esiste, effettuare la cancellazione logica del record su ARPPOSTIT impostando
| Dato | Contenuto |
|---|---|
| A-PTT-FL-CANC | "C" |
| A-PTT-ID-SINCRO | Id sincro progressivo |
A.2 - Importazione post-it aggiornati su WEB Tramite una query estrarre tutti i record per l'azienda in elaborazione aggiornati sul web, quindi aventi A-PTT-AGG-APP = 'A' Per ciascun record eseguire l'inserimento o l'aggiornamento del record corrispondente su COGPOSTT: Ricerca ARPPOSTIT:
| Dato | Contenuto |
|---|---|
| PTT-ANA | A-PTT-ANA |
| PTT-MERCE | A-PTT-MERCE |
| PTT-AREA | A-PTT-AREA |
Se il record non esiste va inserito. Poi confrontare A_PTT_NOTE con PTT-NOTE; se diverso aggiornare:
| Dato | Contenuto |
|---|---|
| PTT-NOTE | A-PTT-NOTE |
A.3 - Ricerca post-it aggiornati Scorrere sequenzialmente tutti i record di COGPOSTT (non esiste una chiave diretta per data/ora aggiornamento) Considerare solo i record dove PTT-DA-DATA + PTT-DA-TIME sono superiori a (A_SYN_DA_GES_DATA + A_SY_DA_GES_ORA) Per ciascun record eseguire la ricerca su ARPPOSTIT:
| Dato | Contenuto |
|---|---|
| A-PTT-AZI | Codice azienda |
| A-PTT-ANA | PTT-ANA |
| A-PTT-MERCE | PTT-MERCE |
| A-PTT-AREA | PTT-AREA |
Se il record non esiste va inserito. Poi confrontare A_PTT_NOTE con PTT-NOTE; se diverso aggiornare:
| Dato | Contenuto |
|---|---|
| A-PTT-NOTE | PTT-NOTE |
| A-PTT-FL-CANC | " " |
| A-PTT-ID-SINCRO | Id sincro progressivo |
B Aggiornamento id syncro contratto Al termine dell'elaborazione, aggiornare il record APSTATOSYN:
| Dato | Contenuto |
|---|---|
| A_SYN_AZIENDA | Codice azienda |
| A_SYN_TABELLA | "ARPPOSTIT" |
| A_SYN_DA_ID_SINCRO | Ultimo ID sincro aggiornato |
| A_SYN_DA_GES_DATA | Data/ora maggiori trovate sull'ultimo record aggiornato o cancellato |
| A_SYN_DA_GES_ORA |
Estratto da documentazione interna ClickUp