Nochmal!
Ändere dein CLP, in dem du alle Parameter laut API-Beschreibung als Variablen übergibst.
Du kannst die Variablen ja in der DCL-Anweisung auch initialisieren.

Da die API's bestimmte Parameter erwarten, greifen sie ggf. auf Speicherstellen zu, die eben unterschiedlich initialisiert sind je nach dem ob du dein CLP aus der Kommandozeile oder aus RPG aufrufst.
Bei Konstanten im CL-CALL hast du eben keine Garantie, dass diese korrekt sind!
- Zahlen immer als 15p 5
- Zeichen in der angegebenen Länge, mindestens jedoch 32
Erwartet das API also 50 Zeichen musst du auch 50 Zeichen übergeben!
Wird BIN(4) erwartet, so musst du eben eine BIN(4)-Variable definieren (vor V6 als CHAR mit %BIN-Init, ab V6 als *INT 4).

Solange du also die API's nicht korrekt aufrufst kannst du auch keine korrekten Ergebnisse erwarten.