Wieder mal das übliche Problem von Parametern im CALL-Statement.

Rufst du im CLP per CALL ein anderes Programm übergibst du ja meist Variablen oder Konstanten in der korrekten Länge.

Machst du aber einen SBMJOB mit einem CALL-CMD, kürzt der CMD-Interpreter Leerzeichen am Ende weg, wenn der Wert nicht in Hochkomma steht.
Es erfolgt ggf. sogar eine Umsetzung ein Großbuchstaben.

Du kannst den Trick von MR-BN erweitern.
Da Werte an ein Programm immer per Referenz übergeben werden, kannst du natürlich das Übergabe-Feld auch um 1 Stelle größer definieren als das Zielprogramm benötigt.
Stelle dann ein beliebiges Zeichen an die überzählige Stelle.
Der CMD-Interpreter baut dann den SBMJOB korrekt zusammen und dein Programm erhälte den vollständigen Wert ohne das zusätzliche Zeichen.

Ansonsten:
Es gibt keine unterschiedliche Behandlung von Parametern im CALL zwischen Batch und Online.
Die Regeln dafür sind immer gleich:

Aus
call mypgm parm(xxxx)
wird
CALL MYPGM PARM(XXXX)
Wobei XXXX als 32-stelliges Feld übergeben wird.

Aus
call mypgm parm('xxxx')
wird
CALL MYPGM PARM('xxxx')
Jetzt wird 'xxxx' als 4-stelliges Feld übergeben.