Under synkronisering av objekt till Exact Online får vi följande fel:
itgenxml091
Kolumnen ‘BARCODE’ har ett värde ‘10788942212008112505’ som inte kan konverteras till datatypen Int64.
Värdet ‘10788942212008112505’ är inget giltigt stort heltal.
Värdet var antingen för stort eller för litet för en Int64.
Använd komma ‘,’ som tusentalsavgränsare.
Request ID: 0HNN7G8UUIJP0:00000001
På grund av detta misslyckas synkroniseringen.
Kan det utredas varför BARCODE-fältet behandlas som Int64 istället för som text (string)?
Orsaken är ett för stort möjligt värde för den datatyp som används för detta fält i Invantive-programvaran. En justering kommer att göras för att lösa detta problem.
Rapport: gmr-eol-items
Anropsstack:
System.OverflowException
ValidationException
ValidationException
at System.Number.ThrowOverflowException[TInteger]()
at System.String.System.IConvertible.ToInt64(IFormatProvider provider)
at Invantive.Data.DataUtility.ConvertToLong(GlobalState owner, ExecutionOptions executionOptions, Object val)
SQL-uttryck:
select /*+ result_set_name('Items') */
...
, itm.barcode
...
from ( select to_number(itm.division_code) division
, to_guid(replace(itm.id_attr, '{', '', '}', '')) id
, itm.*
from exactonlinexml..items@eol itm
) itm
...
Exact Online föreskriver i metadata att det är ett heltalsnummer: