Wenn ich kleinlich wäre, dann gilt der Aufruf von QCMDEXC bereits als API !
Ausserdem würde ich ja das CL nicht per QCMDEXC aufrufen sondern direkt per CALL.

Aber was machst du wenn gar kein OVR vorhanden ist ?
Oder wenn zwar OVR's da sind, diese aber nicht für die gerade geöffnete Spool gelten ?

Dann ist schon "DSPJOB OUTPUT(*PRINT) OPTION(*SPLF)" und dann mit Status OPN suchen der richtigere Weg. Aber auch das ist natürlich aufwändig ohne Ende.

Warum darfst du keine API's verwenden ? Die sog. Quellcode-Kompatibilität zu nicht AS/400-Systemen kannst du für solche Geschichten sowieso vergessen.

Dann ruf doch einfach ein PGMx auf, das das API verbirgt.