Nieuwe General Ledgers uit Exact Online verschijnen pas na een week in glaccountsincremental (Invantive Cloud → SQL Server)

Waar loop ik tegenaan

Wij kopiëren data vanuit Exact Online naar een SQL Database met behulp van de applicatie-module van Invantive Cloud, waarbij we PSQL gebruiken om data uit de tabel GLAccountsIncremental te laden. De synchronisatie draait dagelijks, maar nieuwe General Ledger-rekeningen verschijnen pas na ongeveer een week in onze SQL Database.

Concreet voorbeeld

Er zijn onlangs nieuwe grootboekrekeningen aangemaakt op 29 januari. Op 5 februari stonden deze nog steeds niet in onze SQL-database, terwijl de synchronisatie dagelijks draait. Ook na het handmatig uitvoeren van de synchronisatie werden deze rijen niet ingeladen.
Op het moment dat de records uiteindelijk wel worden ingeladen, zien we in de kolom Created wel de aangemaakte datum (29 januari) staan.

Wat heb ik al geprobeerd

  • Controleren of de dagelijkse run van de applicatie-module succesvol draait.
  • Handmatig opnieuw uitvoeren van het kopieerproces.
  • Controleren of filters of datumrestricties in onze PSQL-scripts de data mogelijk uitsluiten.

Dit alles gaf geen verklaring waarom nieuwe rijen pas na ongeveer een week beschikbaar komen.

Vraag

Hoe kan het dat nieuwe rijen in GLAccountsIncremental zo laat beschikbaar komen?
Is er mogelijk een instelling in Invantive Cloud of Exact Online die bepaalt wanneer deze tabel wordt bijgewerkt of gesynchroniseerd?

In basis is de UniversalSQL-driver voor Exact Online real time.

Er zijn wel caches; die kunnen geconfigureerd worden voor Invantive Cloud-databases zoals beschreven in:

Deze waardes worden in Invantive App Online normaliter niet gebruikt omdat caches daar uit staan.

Ze kunnen ook gestuurd worden via set statements zoals:

set use-http-disk-cache ...

en

set use-http-memory-cache ...

Zie ook:

Dankjewel voor jullie snelle reactie!

De caches stonden op 57600 (16 uur), die heb ik nu verlaagd naar 3600 (1 uur). Maar ik vind het dan nog steeds apart dat het meer dan een week duurt voordat de nieuwe rijen worden ingeladen. Waar zou dat aan kunnen liggen?

Een cache-instelling van 16 uur kan niet de oorzaak zijn.

De oorzaak moet dan ergens in de logica en/of frequentie aanroepen zitten.

Advies is om de code te controleren op set en SQL-hints /*+ ... */.

Nee ik heb geen set of SQL-hints in de code. Kan het er misschien aan liggen dat het een Incremental tabel is? Zijn er op andere plekken nog caches te vinden naast de http disk en bridge response?

image

Een incrementele tabel zal de wijzigingen opvragen. Zolang Exact Online die registreert zal de wijziging opgenomen worden.

Andere caches die dit probleem kunnen veroorzaken zijn niet bekend.

Advies is om probleem reproduceerbaar te maken en te analyseren met queries in de UniversalSQL-editor.