Verbetering Twinfield ter vermijding itgensop090 (HTTP-statuscode 524) en itgentfr091 bij grote Twinfield-administraties

Go to English version

Samenvatting: de verbeterde UniversalSQL-driver voor Twinfield maakt het mogelijk om zonder aanpassingen ook administraties met tussen de 500.000 en 10 miljoen financiele transacties betrouwbaar en vlot te verwerken in Power BI en datawarehouses.

Foutmelding itgensop090 en/of itgentfr091 bij grote Twinfield-administraties

Bij het ophalen van alle transactiedata zoals grootboekstukken uit Twinfield-administraties met relatief veel data (bijvoorbeeld 500.000 boekingen of meer in de gehele historie) treedt regelmatig een foutmelding itgensop090, itgentfr091 of een HTTP-fout 524 op. Een herhaalde poging leidt vaak, maar niet altijd, tot alsnog succesvol ophalen van de financiele transacties.

Een verbetering van de Twinfield SQL-driver maakt het zonder aanpassingen mogelijk om ook voor dergelijke relatief grote Twinfield-administraties de volledige transactiedata in 1 keer te verwerken.

Voor bijzonder grote Twinfield-administraties met meer dan 25.000 boekingen per dag en bijvoorbeeld 10 miljoen of meer boekingen in totaal binnen een administratie zal deze aanpak niet altijd werken. In de standaard UniversalSQL-driver voor Twinfield zijn features aanwezig om dergelijke volumes te verwerken ook volumes tot ruim 200 miljoen transacties kunnen verwerken uit 1 administratie. Hiervoor raden we echter aan om professionele ondersteuning te zoeken bij Invantive voor de juiste configuratie en verwerkingsaanpak.

Werking en Configuratie

De verbetering in de Twinfield SQL-driver splitst het ophalen van de transactiedata over meerdere zogenaamde “pagina’s”. Voor elke pagina wordt een API-call samengesteld. Door de transactiedata te “pagineren” over meerdere pagina’s zullen in de praktijk de foutmeldingen nooit meer optreden, behoudens bij (uitermate zeldzame) extreem grote Twinfield-administraties met de eerder genoemde 25.000 boekingen of meer per dag in 1 administratie.

De gewenste omvang van het aantal transacties in een “pagina” kan gestuurd worden via de driverattribuut transaction-tables-page-size. De standaardomvang van een pagina is ingesteld op 50.000 rijen op basis van empirische data.

Voorbeeld

Via onderstaande SQL-statements wordt eerst de paginagrootte extreem klein ingesteld, waarna een query uitgevoerd wordt op de grootboekmutaties en tenslotte een overzicht gemaakt van de sessie I/O’s:

set transaction-tables-page-size 200

select *
from   generalledgerdetailsv3
where  fin_trs_head_year > 2016

select STATEMENT_ID
,      CALL_SAFE_NAME
,      PUBLIC_QUERY_PARAMETERS
,      BYTES_RECEIVED
,      BYTES_SENT
from   sessionios@datadictionary 
where  STATEMENT_ID = '7622a939-cdce-4476-b923-6e961e369ff8'
order 
by     id

In de sessie I/O’s is te zien dat eerst de velden van opgehaald worden, waarna via TransactionSummary bepaald wordt hoeveel rijen per periode te verwachten zijn. Vervolgens worden zoveel mogelijk periodes als past binnen de ingegeven limiet per API-call opgehaald. Gegeven de lage limiet van 200 rijen lukt het enkel voor januari/februari 2017 en augustus 2017/juli 2018 om twee periodes in 1x op te halen:

Tabel Parameters Bytes In Bytes Out
GeneralLedgerDetailsV3 type=browse, office=500000, code=030_3 10.921 0
TransactionSummary type=browse, office=500000, code=670 2.051 0
TransactionSummary Topic=670, fin.trs.head.yearperiod between 1900/00 - 9999/56 4.832 0
GeneralLedgerDetailsV3 Topic=030_3, fin.trs.head.yearperiod between 2017/01 - 2017/02 16.524 2.639
GeneralLedgerDetailsV3 Topic=030_3, fin.trs.head.yearperiod between 2017/03 - 2017/03 18.540 2.635
GeneralLedgerDetailsV3 Topic=030_3, fin.trs.head.yearperiod between 2017/04 - 2017/04 18.096 2.635
GeneralLedgerDetailsV3 Topic=030_3, fin.trs.head.yearperiod between 2017/05 - 2017/05 17.924 2.635
GeneralLedgerDetailsV3 Topic=030_3, fin.trs.head.yearperiod between 2017/06 - 2017/06 14.648 2.635
GeneralLedgerDetailsV3 Topic=030_3, fin.trs.head.yearperiod between 2017/07 - 2017/07 13.104 2.635
GeneralLedgerDetailsV3 Topic=030_3, fin.trs.head.yearperiod between 2017/08 - 2018/07 18.156 2.643

Tabellen met Verbeterde Werking door Paginering

De volgende Twinfield-tabellen zullen een verbeterd gedrag vertonen door deze aanpassing aan de SQL-driver:

  • ActiveAnalyses
  • AnnualReportTotals
  • AnnualReportTotalsMulticurrency
  • AnnualReportYtd
  • AssetTransactions
  • BankLinkDetails
  • BankLinkDetailsV2
  • BankTransactions
  • CashTransactions
  • CommercialAnnualReportTotals
  • CommercialAnnualReportTotalsMulticurrency
  • CommercialAnnualReportYtd
  • CostCenters
  • CreditManagement
  • Customers
  • CustomersV2
  • CustomersV3
  • CustomerTransactions
  • DocketInvoices
  • EconomicAnnualReportTotals
  • EconomicAnnualReportTotalsMulticurrency
  • EconomicAnnualReportYtd
  • FiscalAnnualReportTotals
  • FiscalAnnualReportTotalsMulticurrency
  • FiscalAnnualReportYtd
  • FixedAssets
  • GeneralLedgerDetails
  • GeneralLedgerDetailsV2
  • GeneralLedgerDetailsV3
  • GeneralLedgerIntercompany
  • GeneralLedgerIntercompanyV2
  • GeneralLedgerTransactions
  • HierarchyAccess
  • ProjectTransactions
  • Suppliers
  • SuppliersV2
  • SupplierTransactions
  • TimeAndExpensesBillingDetails
  • TimeAndExpensesBillingPerPeriod
  • TimeAndExpensesBillingPerWeek
  • TimeAndExpensesDetails
  • TimeAndExpensesMulticurrency
  • TimeAndExpensesTotals
  • TimeAndExpensesTotalsPerPeriod
  • TimeAndExpensesTotalsPerWeek
  • TransactionList
  • TransactionsToBeMatched
  • VatReturnStatus

De volledige documentatie van deze Twinfield-tabellen is beschikbaar op SQL-stuurprogramma voor Twinfield API - Twinfield API Data Model. Een overzicht van de meestgebruikte Twinfield-tabellen is te vinden op Meest populaire Twinfield-tabellen voor 2024.

Beschikbaarheid

Deze verbetering is beschikbaar vanaf release 24.0.135 en nieuwer. Naar verwachting zal deze feature beschikbaar zijn op Invantive Cloud vanaf 15 april 2024.