Ophalen memorubrieken Easyflex niet compleet

Ik ervaar een probleem bij het ophalen van data uit Easyflex. Ik merk dat bij het aanroepen van de tabel waar memorubrieken onderdeel uitmaken, er wel een respons komt, maar niet alle items komen naar boven.

Via de SOAP-Guide van Easyflex komen wel elementen naar boven.

Het is mogelijk dat het “ALL” filter hier een rol in speelt, maar dat is nog niet met zekerheid te zeggen.

Hier is een voorbeeld van de request die ik gebruik:

met query:

select t.persoon_registratienummer
,      t.memonummer
,      t.memonaam
,      t.memowaarde
from   DataService.Flexwerker.PersoonsgegevensMemoRubrieken@efx t

Kan iemand me verklaren waarom dit gebeurt of wat ik misschien verkeerd doe?
Alle hulp is zeer welkom!

Ik heb nog geen reactie ontvangen. Ik hoor graag waarin dit probleem zit.

Het lukt niet om de vraag te doorgronden.

Kunt u aangeven met een reproductiescenario wat het probleem is cq. wat er bedoeld wordt met “elementen”?

Wat voor “items” worden verwacht?

Wat bedoeld wordt met “tabel waar memorubrieken onderdeel van uitmaken”?

Easyflex biedt zelf een SOAP-guide aan en daarmee heb ik de tabel met memorubrieken opgehaald. Er zijn drie voorbeelden waarbij er wel een memorubriek is ingevuld, maar via invantive niet wordt getoond. Er worden nu 10 regels als respons gegeven, maar dat zouden er zeker 13 moeten zijn.

Wat betreft de tabel waar memorubrieken onderdeel van uitmaken. Als u de documentatie bekijkt komt dit specifieke onderdeel uit de endpoint/tabel persoonsgegevens, maar het gaat specifiek om de memorubrieken.

Het komt er simpel gezegd op neer. De huidige respons bestaat uit 10 rijen en dat moeten er zeker 13 zijn. Dus ergens lijkt er een filter op te zitten.

Dank voor de aanvulling.

Kunt u aangeven met een reproductiescenario wat het probleem is?

Voer hiervoor aan de Invantive UniversalSQL-zijde het SQL-statement uit en gebruik de logging zoals beschreven in Welke API calls heeft Invantive UniversalSQL daadwerkelijk uitgevoerd?

Hetzelfde geldt voor de SOAP-call die u zelf handmatig uitvoert.

Gelieve het SQL-statement en de twee gebruikte aanroepen te vermelden.

Volgens mij heb ik al duidelijk gemaakt met een voorbeeld en inclusief request ID waar het om gaat. Op dit moment kan ik niet de SOAP-call delen vanwege IP-adres restricties.

Bij de SQL-output

select *
from   DataService.Flexwerker.PersoonsgegevenMemoRubrieken

Valt op bij de daadwerkelijke API-call een van de parameter gaat van 1-5000. Dat zou een mogelijke verklaring kunnen zijn.

PARAMETER_LIST:
memorubrieken = true (boolean), vanaf = 1 (int64), totenmet = 5,000 (int64)

CALL_SAFE_NAME:
DataService.Flexwerker.PersoonsgegevenMemoRubrieken

Om een mogelijk probleem met de ontbrekende memo-rubrieken in Easyflex verder te kunnen onderzoeken, hebben we meer informatie nodig.

Zou u een reproduceerbaar scenario kunnen aanleveren? Dit helpt ons om de situatie sneller te begrijpen en een eventuele bug te verhelpen. Een goed reproduceerbaar scenario bevat:

  1. De query die wordt gebruikt, inclusief eventuele parameters.
  2. Een beschrijving van de verwachte output versus de daadwerkelijke output.
  3. Optioneel: schermafbeeldingen of aanvullende logbestanden als context.

U kunt meer lezen over het opstellen van een reproductiescenario in Hoe een scenario voor het reproduceren van bugs aan Invantive te verstrekken?.

Mocht u door een IP-adresblokkade van Easyflex de verwachte output niet kunnen ophalen, dan kunt u overwegen om gebruik te maken van NativePlatformScalarRequests zoals beschreven in Evaluate Native SQL Statements from Invantive PSQL of Schatten omvang Exact Online administratie.

Mocht u bij het samenstellen van een reproductiescenario ondersteuning nodig hebben, dan kan een partner of een Invantive-consultant u ondersteunen via een consult.

Hierbij een uitgeschreven reproductie. Graag hoor ik of dit voldoende is om het probleem op te lossen.

Stap 1: Gebruikte query en datadictionary
Gebruike SQL query voor datacontainer met Easyflex

select t.[PERSOON_REGISTRATIENUMMER], t.[MEMONUMMER], t.[MEMONAAM], t.[MEMOWAARDE]
from DataService.Flexwerker.PersoonsgegevenMemoRubrieken@efx t
where t.MEMONUMMER = 35258

Uit de datadictionary blijkt het volgende

parameter: memorubrieken = true (boolean), vanaf = 1 (int64), totenmet = 5,000 (int64)

Stap 2: Verwachte output vs daadwerkelijke output

  1. Daadwerkelijke output: 10 regels met memorubriek 35258
  2. Verwachte output: minimaal 13 regels met memorubriek 35258

Vanwege de parameter 1 tot en met 5000 worden ook 10 regels als respons gegeven. Dat komt overeen met de SOAP-guide van Easyflex, maar wanneer de parameter van 5001 tot 10000 loopt komen er ook nog circa 45 regels naar boven. Dus ik verwacht dat het 1-5000 goed gaat maar het loopt niet door naar 5001-10000 etc. Dat loopt ook door tot 10000-14999 waar ook circa 19 regels uitkomen met memorubrieken. De SOAP statement blijft precies hetzelfde alleen de van tot range moet worden gewijzigd

Stap 3: Voorbeelden of logbestanden
SOAP envelope vanuit SOAP-Guide met als voorbeeld range van 10.000 - 14.999.

<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:urn=“urn:EfDataService”>
soapenv:Header/
soapenv:Body
urn:ds_fw_persoonsgegevens_all
urn:license</urn:license>
urn:parameters
urn:memorubriekentrue</urn:memorubrieken>
urn:memonummer35258</urn:memonummer>
urn:vanaf10000</urn:vanaf>
urn:totenmet14999</urn:totenmet>
urn:communicatiefalse</urn:communicatie>
urn:reserveringfalse</urn:reservering>
</urn:parameters>
urn:fields
urn:fw_persoonsgegevens_all_registratienummer/
urn:fw_persoonsgegevens_all_memorubrieken
urn:item
urn:fw_persoonsgegevens_all_memonummer/
urn:fw_persoonsgegevens_all_memonaam/
urn:fw_persoonsgegevens_all_memowaarde/
</urn:item>
</urn:fw_persoonsgegevens_all_memorubrieken>
</urn:fields>
</urn:ds_fw_persoonsgegevens_all>
</soapenv:Body>
</soapenv:Envelope>

Zojuist bovenstaande SOAP envelope uitgevoerd voor 3 ranges (1-4999, 5000-9999 en 10000-14999) en dan zijn er 77 regels met memorubriek Inschrijfdatum