Filter
Invantive SQL gebruikt server-side filtering en kan daardoor - waar technisch mogelijk - filters over de gehele verwerkingsketen meenemen (meer uitleg over server-side filtering staat bijvoorbeeld bij How to filter data from OData query on Azure Data Factory? - 3 van forums).
Specifiek voor Exact Online is het - afhankelijk van de toepassing - mogelijk om de genoemde tabel te gebruiken of de incrementele varianten (zie Snel en met minder API-calls Exact Online uitlezen met de incrementele "sync API"-tabellen).
De getoonde query zal zelden tot nooit resultaten opleveren. De evaluatie van dateadd('day', 2, getdate())
levert meestal een tijdstip op gedurende de dag dat niet kan voorkomen.
Een betere benadering is bijvoorbeeld:
select *
from ExactOnlineREST.SalesOrder.SalesOrders
where DeliveryDate = trunc(sysdate) + 2
of in het kader van defensief programmeren nog beter:
select *
from ExactOnlineREST.SalesOrder.SalesOrders
where DeliveryDate >= trunc(sysdate) + 2
and DeliveryDate < trunc(sysdate) + 3
Dit kan met een where
-clause, een filter via OData, een custom view en waarschijnlijk nog op andere manieren doorgegeven worden.
Merk op dat sysdate
de lokale tijd weergeeft van het apparaat waar Invantive SQL draait. Dit kan een andere tijdzone of zomertijd zijn. sysdateutc
geeft altijd de UTC-tijd weer. Het veld ServerUtcOffset
in de tabel me
geeft de UTC-offset aan van Exact Online.
Uitgevoerde API-calls
Het aantal uitgevoerde API-calls is te vinden:
- in de view
SessionIOs@DataDictionary
(zie Welke API calls heeft Invantive SQL daadwerkelijk uitgevoerd?), - in het scherm Sessie I/O’s in Invantive Cloud,
- eventueel via native call logging (Analyzing large volumes of native call logs on cloud platform APIs).