Alls erstes habe ich mir eine allgemeine Prozedur geschaffen mit der ich alle CL-Aufrufe über QCMDEXC(....) aufrufen kann. Weiterhin habe ich eine Prozedur die mir in einer Befehlszeile Ersatzzeichen gegen was auch immer austauscht.

Die Prozedur zum Aufruf von CL-Befehlen wird z.B. so aufgerufen
docmd('DSPMSG');

Das ist der Befehl um DSPMSG auszuführen.

Oder besseres Beispiel

D cCmd1 C 'DLTF FILE({1}/{2})'

D vVals S like(typVals) DIM(%elem(typVals)) inz
D vCmd S 255A inz

// DLTF
clear vVals;
vVals(1) = cTempLib;
vVals(2) = cQryFile;
vCmd = sFillTextVar(cCmd1 :vVals);
docmd(vCmd :true);

Dabei ist cCmd1 die Konstante mit Befehl.
vVals ist die Struktur in der die zuersetzenden Teile sind.
cTempLib = QTEMP(als Konstante)
cQryFile = Ist das File

sFillTextVar = Prozedur in der die Ersatzzeichen({1} / {2}) gegen Werte ausgetauscht werden.

docmd = Prozedur in der ein CL-Befehl ausgeführt wird