Das ist immer das Beste, wenn man das nicht möchte/kann gibts nur eine Lösung:
Zeichenparameter müssen genau in der Länge (oder größer) übergeben werden wie das Programm es erwartet. Dazu ist die Zeichenkette in Hochkomma einzubetten.
Zahlwerte können nur als Zoned in Hochkomma oder als Default Packed(15:5) übergeben werden.

Bei den Zeichenwerten kann man auch einfach einen Ausdruck vewenden, wenn die definierte länge passt.
Z.B. &IDXPFAD *cat 'X'
Der Trick ist, dass die Zeichenkette dann automatisch in Hochkomma gepackt wird und 1 Zeichen länger ist. Da nur Pointer ans Programm übergeben werden und das Zielprogramm die Länge kürzer definiert hat, sieht das Programm das 'X' nicht.