Die Aufrufparameter müssen zu den Definitionen genau passen.
Also entsprechende Cast's angeben damit es passt.
SQL verwendet VARCHAR bei Konstanten Zeichenketten und je nach Typ der Zahl eben Integer oder Decimal(n, m), wobei n und m automatisch festgelegt werden.

Also:

select KDARTIKEL(cast('1' as char(1)), cast(110406 as dec(6, 0)), cast('CIEZ' as char(4)), cast('H661-9' as char(10)), cast(20151008 as dec(8, 0)) from kdart1p

Bei der Verwendung von Variablen gilt dies dann genauso. Wenn die nicht passen, müssen die passend gecasted werden.
Für Zeichenvariablen eignen sich daher VARCHAR als Parameter am besten, da SQL hier fast alles erlaubt.
Bei Zahlen gibt es leider keine generelle Definition, die alles kann.