Ja jetzt nähert sich das so langsam. Die Ursache ist der SBMJOB !
Das hatte ich aber weiter oben schon geschrieben, dass ich vorhabe die Mails per SBMJOB im Batch zu versenden.

Also SBMJOB ... CMD(CALL PGMX PARM(&V)) wird der Inhalt der Variablen ausgelesen und als Zeichenkette übergeben...
Aus diesen Gründen kann ich mit den CALL per SBMJOB abschminken.

Wenn du also einen CALL submitten willst, musst du die Parameter selber in einer Variablen zusammenbauen, ggf. Hochkommata einsetzen und das ganze als Variable übergeben SBMJOB ... RQSDTA(&V) anstelle von CMD(...)...
Den Aufruf mit RQSDTA hatte ich auch schon getestet. Nur durch die Längenbeschränkung von 3000 Zeichen konnte ich auch das nicht benutzen, da ja allein der eine Parameter schon 9999 Stellen hat.

Machst du nun einen SBMJOB ... CMD(MYCMD MYPARM(&V)) wird der Inhalt der Variable passend zum PARM konvertiert (numerisch, alpha ggf. in Hochkomma).
Genau da liegt ja das Problem. Ich dachte ja mit dem CMD hätte ich die Lösung zu meinem Problem gefunden. Nur entsprechen da die übergebenen 9999 Stellen nicht den empfangenen 9999 Stellen, zumindest wenn sie hinterher in einen Java-String konvertiert werden.

Aus JAVA kann es keinen Call-by-Reference an RPG geben, so dass hier quasi per QCMDEXC ein Call aus den Inhalten gestrickt wird.
Aus Java will ich ja auch gar kein RPG aufrufen.

Die Lösung mit dem Substring funktioniert ja. Und es scheint wohl auch die einzige Lösung für mein Problem zu sein. Damit kann ich leben.

Gruß,
KM