Itgenprr002: The value of the parameter with name 'l_error_cnt' with key 'l_error_cnt' must match the data type 'System.Object'. The value currently has data type 'System.Decimal'

Bij het draaien van een Data Replicator 20.2.34 job krijgen we de foutmelding:

Exclamation itgencun016: Exclamation itgenprr002: The value of the parameter with name 'l_error_cnt' with key 'l_error_cnt' must match the data type 'System.Object'. The value currently has data type 'System.Decimal'.
Error itgenprr002: InvantiveSystemException

bij het uitvoeren van de volgende PSQL code:

begin
  xxdru_maintain_table_partitions(true, false);
end;

Wat betekent deze en hoe kunnen we hem oplossen?

Waarschijnlijk heeft de parameter l_error_cnt het datatype pls_integer. Het datatype pls_integer mag sinds 20.2.34 niet meer gebruikt worden in SQL-statements; het kan alleen nog gebruikt worden in PSQL-statements.

Deze breaking change is doorgevoerd vanwege de introductie van andere PSQL-datatypes naast pls_integer, zoals een datatype voor een Excel werkboek (zie Excel download uit Exact Online in eigen formaat met een cloud app).

De eenvoudigste oplossing is om in dit script pls_integer te vervangen door integer. Integer is een SQL-datatype. Mocht het dan nog niet werken, installeer dan voor de zekerheid een meer recente versie van Invantive Data Replicator zoals 20.2.55 of nieuwer.

Installatie van nieuwe versie lijkt het probleem te hebben opgelost!

1 Like