Das Problem ist, dass *N vom CMD-Interpreter ausgewertet wird.
Packst du *N in eine Variable, wird '*N' angezeigt.

Man kann QCMDCHK verwenden.
QCMDCHK zeigt wie QCMDEXC den Befehl (falls gewünscht) an, liefert aber anschließend den geänderten Befehl zurück, der dann mit QCMDEXC ausgeführt werden kann.

Im QCMDCHK lässt man dann die nicht benötigten Parameter erst mal weg.

Nachteil:
Du musst den Befehl im CLP per *CAT erst zusammenbauen und leere Felder dann eben weglassen.