Het is mij tot en met vandaag nog steeds niet gelukt om de PREVYEARS filter ergens aan te passen. Kunt u mij alstublieft vertellen waar ik de PREVYEARS waarde aan kan passen?
Volgens bepaalde bronnen moet de OData Feed gemodified worden, alleen dan kan het aantal PREVYEARS aangepast worden.
Als ik where PREVYEARS = 4 in de SQL Editor van een Database run krijg ik in de kolom PREVYEARS wel het aantal PREVYEARS te zien die ik definieer in de where statement (in dit geval 4). Het aantal records verandert echter niet en het aantal verschillende jaren in de REPORTINGYEAR_ATTR kolom blijft 3 (2020, 2021 en 2022). Dit gebeurt als ik from ExactOnlineXML.XML.BalanceLinesPerPeriodCostAnalysis gebruik bij de from in het SQL statement.
Als ik de query die u gegeven heeft 1:1 kopieer en plak, werkt het wel. Wat is het verschil tussen from balancelinesperperiod en from ExactOnlineXML.XML.BalanceLinesPerPeriodCostAnalysis?
In de gebruikte testomgeving voor Exact Online geeft dit een lijst van 5 jaren terug:
select prevyears, listagg(distinct costcenter_costanalysis_period_periods_year_reportingyear_attr)
from ExactOnlineXML.XML.BalanceLinesPerPeriodCostAnalysis
where PREVYEARS = 4
group
by prevyears
Echter, als prevyears 5 gebruikt wordt, dan komt alleen 2022 terug. Dit kan ook specifiek met Exact Online XML-parameters opgevraagd worden waaruit blijkt dat de where-clause dit wegvallen niet veroorzaakt:
select listagg(distinct costcenter_costanalysis_period_periods_year_reportingyear_attr)
from ExactOnlineXML.XML.BalanceLinesPerPeriodCostAnalysisEx( params_prevyears => 6)
Ook bij inspectie van het antwoord van Exact Online blijkt dat de Exact Online API server stilletjes de parameter niet meeneemt en alleen 2022 teruggeeft. De oorzaak is onbekend.
Een optie is om dit te melden bij Exact Online Support. Vanuit Invantive zullen we richting Exact geen actie ondernemen; bugs op de REST API duren vaak meer dan 6 maanden vooraleer opgelost, laat staan op de XML API waar zelden bugs op geaccepteerd worden.
Er is geen workaround bekend. Mocht die nodig zijn, dan is advies om een consultant te betrekken met een kort consult.