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
Bookmarks