Twinfield error 500 in Invantive query tool 25.0.127 (itgenoda035)

Het uitvoeren van een query die voorheen draaide lukt al enige tijd niet meer:

select ...
from   GeneralLedgerDetailsV3@xx 
where  fin_trs_head_modified between cast(l_date_to_load as datetime) and cast(l_end_date_to_load as datetime)
and    ( company_code = 'xxxxxx***' 
         or company_code = 'xxxxx' 
         or company_code = '***xxxxxx' 
       )
and    line >=0 
and    fin_trs_head_number>=0

between gaf een error, gewijzigd in:

where  fin_trs_head_modified >= cast(l_date_to_load as datetime) 
and    fin_trs_head_modified <= cast(l_end_date_to_load as datetime)

Bij dit statement krijgen we nu de itgenoda035 foutmelding:

itgenoda035
Statement #1 ‘-- TF_acme…rows.’);
end;’ beginnend op regel 1 veroorzaakte een fout.
De Twinfield-server heeft een interne fout geretourneerd, meestal is dat een applicatiefout binnen Twinfield.
The remote server returned an error: (500) Internal Server Error.
Neem contact op met de ondersteuning van Twinfield met de verzamelde oproepgegevens van het native platform of stel een vraag op de Invantive-forums met deze oproepgegevens.

Het lukt niet om het probleem te reproduceren op Invantive Cloud (25.0.200) met:

select *
from   GeneralLedgerDetailsV3@tfd
where  fin_trs_head_modified >= trunc(sysdateutc) - 7000
and    fin_trs_head_modified <= trunc(sysdateutc)
and    ( company_code = 'NLA001821' 
         or company_code = 'NLA001821' 
         or company_code = 'NLA001821' 
       )
and    line >=0 
and    fin_trs_head_number>=0

De itgenoda035-foutmelding geeft aan dat de Twinfield API-server een HTTP 500-foutmelding (Internal Server Error) is. Het betreft zo te zien een omgevings-specifieke fout die niet herleidbaar is tot een wijziging van de Invantive-programmatuur.

Het probleem is mogelijk gelijkend op:

Het is een generieke foutmelding die Twinfield teruggeeft die geeft uitsluitsel geeft over de oorzaak:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soap:Body>
      <soap:Fault>
         <soap:Code>
            <soap:Value>soap:Receiver</soap:Value>
         </soap:Code>
         <soap:Reason>
            <soap:Text xml:lang="en">Server was unable to process request. ---&gt; Invalid name character in 'http://www.twinfield.com/_Unexpected'.</soap:Text>
         </soap:Reason>
         <soap:Detail />
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

Het request is:

<columns xmlns="" code="030_3">
      <column>
        <field>fin.trs.head.office</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.officename</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.year</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.period</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.yearperiod</field>
        <visible>false</visible>
        <operator>between</operator>
<from>2024/10</from>
<to>2024/10</to>

      </column>
      <column>
        <field>fin.trs.head.code</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.number</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.status</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.date</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.curcode</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.relation</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.relationname</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.inpdate</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.modified</field>
        <visible>true</visible>
<operator>between</operator>
<from>20240911000000</from>
<to>99991231235959</to>
      </column>
      <column>
        <field>fin.trs.head.username</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1name</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1type</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim2</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim2name</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim2type</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim3</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim3name</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim3type</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.valuesigned</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.basevaluesigned</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.repvaluesigned</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.debitcredit</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.vatcode</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.vatbasevaluesigned</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.quantity</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.chequenumber</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.description</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.invnumber</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1group1</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1group1name</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1group2</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1group2name</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1group3</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1group3name</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1group4</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1group4name</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1group5</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.dim1group5name</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.freetext1</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.freetext2</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.line.freetext3</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.origin</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.mng.type</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.regime</field>
        <visible>true</visible>
      </column>
      <column>
        <field>fin.trs.head.reportingstructure</field>
        <visible>false</visible>
      </column>
    </columns>

Advies is het geschetste advies te volgen uit de foutmelding.

Meer informatie over het verzamelen van de native call log is te lezen in: