Da musst du mal das CL-Programmierhandbuch zu Rate ziehen.
Jeder Parametertyp hat bei der Übergabe bestimmte Strukturen.
Bei ELEM steht vor den Werten als 2-Byte binär die Anzahl Elemente, daher deine Verschiebung.
ELEM kann durchaus mehrfach verwendet werden, so dass ein PARM aus mehreren Feldern bestehen kann.
Komplizierter wirds, wenn ein Wert mehr als 1 Mal "MAX(nnn)" mit QUAL und ELEM gemischt wird. Dann muss man sich teilweise durch die Parameterlisten durchhangeln (rel. Position, Länge, Anzahl, usw.).

In deinem Fall, da nur 1 ELEM vorhanden ist, gib den TYPE(*CHAR) und den Rest dazu direkt im PARM an.