Ontbrekende rijen in Exact Online Online TransactionsIncremental via Application

Bij één van onze Exact Online-bronnen missen wij wat data bij het ophalen van de gegevens via een Application.

Voorbeeld:

In de UniversalSQL Editor krijgen wij met de volgende query wel resultaten

SELECT *
from ExactOnlineREST.Incremental.TransactionLinesIncremental@eol
where EntryNumber = 2997357
limit 1000;

In onze Application hebben we de volgende query

create or replace table eol_transactionlines@pg
as 
SELECT * from ExactOnlineREST.Incremental.TransactionLinesIncremental@eol
;

Echter komt het record uit het eerdere voorbeeld vervolgens niet terug in onze database.

De records in onze database spannen qua datum tussen 2019 en 2024 wat correct is, echter missen er tussendoor veel regels.

Waar zou dit aan kunnen liggen?

De enige mogelijke oorzaken die omhoog komen zijn:

  • (geheugen)cache instellingen,
  • betreffen beide queries dezelfde administraties,
  • een Invantive UniversalSQL Exact Online-driver-bug.

De eerste kandidaat kan bekeken worden door in UniversalSQL-editor eerst de caches uit te zetten en dan pas de select uit te voeren (er van uitgaande de application via Invantive App Online uitgevoerd waar de caches standaard uit staan, terwijl ze in de UniversalSQL-editor standaard aan staan):

set use-http-disk-cache@eol false

set use-http-memory-cache@eol false

De tweede kandidaat kan bekeken worden door:

select division
,      count(*)
from   t
group
by     division

in beide omgevingen uit te voeren, vast te leggen en te vergelijken.

Mochten beide kandidaten geen soelaas bieden, gelieve dan telefonisch contact te zoeken. Een medewerker zal zodra beschikbaar meekijken. Hierbij zal ook gekeken worden naar de logs van de incrementele-tabellen zoals beschreven in Snel en met minder API-calls Exact Online uitlezen met de incrementele "sync API"-tabellen.

Bij onderzoek bleek dat inderdaad data via App Online niet volledig was en via Invantive Cloud wel.

Data van voor 27 november 2023 ontbrak via App Online.

De waarschijnlijke oorzaak is dat het inregelen van de rechten op Exact Online moeizaam was gegaan. Hierdoor kon mogelijk de Exact Online-gebruiker initieel geen grootboekinformatie opvragen, en pas later na correctie van de rechten binnen Exact Online konden ze gezien worden. Echter, de Exact Online SQL-driver had toen al geregistreerd dat er geen rijen in zaten, waarna het initieel laden was begonnen en afgerond. Na correctie zijn alleen gewijzigde rijen toegevoegd.

Een idee is opgevoerd om tussentijds de aantallen te controleren en indien nodig automatisch opnieuw volledig in te lezen zodat aanpassingen in de Exact Online-rechten uiteindelijk automatisch opgelost worden.