Ich hab da mal was gebastelt was dir vllt hilft:

Prototyp:
dcl-pr callcmd extpgm('QCMDEXC');
command char(5000) options(*varsize);
Length packed(15:5);
end-pr;
Variablen:
dcl-s cha_cmd char(5000) inz(*blanks);
dcl-s pac_cmd packed(15:5) inz(*zeros);
Aufruf:
cha_cmd = 'DEIN CMD BEFEHL';
pac_cmd = %len(%trim(cha_cmd));
monitor;
callcmd(cha_cmd:pac_cmd);
on-error;
ind_fehler = *on;
endmon;
So setze ich jeden CMD Befehl problemlos ab, vllt kannst du das einfach nutzen.

Edit:
Hab nicht aufmerksam gelesen: Fuerchauhat natürlich recht.