Das ist dann der Fall, wenn du den Umweg über QCMDEXC, also z.B. für SBMJOB machst.
Es galt schon immer beim CMD-Call:

Wenn Zeichen kürzer als 32 angegeben werden, werden sie mit Leerzeichen aufgefüllt, bei längeren Zeichenfolge nur in der angegebenen Länge.
Für die korrekte Länge muss die ganze Zeichenkette komplett mit Leerzeichen aufgefüllt in Hochkommas übergeben werden, incl. ggf. zu verdoppelnder eingebetteter Hochkommas.

Man kann natürlich auch einfach 1 Zeichen mehr übergeben, als das Ziel erwartet. Im Ziel ist das dann nicht zu sehen.
Also beim ILERPG:
dcl-s feld char(275);

call qcmdexc 'SBMJOB .... CALL PGMX PARM(''' + feld + 'x' + ''')

im CLLE/CLP:

dcl &feld char(275)
var &parm char(276)
chgvar &parm (&feld *cat 'x')