Hallo,

ich würde entweder über API QMHSNDMG eine Escape-Message aus dem RPG-Programm an das CL senden.

Die evt. einfachere Möglichkeit wäre den Nachrichten-Text als Ausgabe-Parameter an das CL ausgeben. Der aufbereitete Nachrichten-Text (80 Stellen) kann aus der Programm-Status-Datenstruktur (Stelle 91-170) entnommen werden.

Beispiel:
PHP-Code:
D QCMDEXC         PR                  extpgm('QCMDEXC')                   
D  P$CLCmd                   32702    const options(*VarSize)             
D  P$CLCmdLen                   15P 5 const   

D MYRPGPGM        PI                  extpgm('MYRPGPGM')                   
D  P$MsgTxt                  100A    
                            
D P$Cmd           S            100A

D PGMSDS         SDS
D  SDSMsgId              40     46
D  SDSMsgTxt              91    170
 
*-------------------------------------------------------
 /
Free                  
   Monitor
;
     
clear P$MsgTxt;
     
P$Cmd 'Was auch immer';
     
QCmdExc(P$Cmd: %Len(P$cmd));
   
On-Error;
     
P$MsgTxt SDSMsgTxt;
   
EndMon;

   *
INLR = *On;
 /
End-Free 
Die Verwendung des QCMDEXC hat gegenüber dem system den Vorteil, dass der komplette Message-Text (incl. den variablen Texten) ausgebeben wird. Mit system kann lediglich die Message-Id ermittelt werden.
Birgitta