-
Anstatt das Programm "QCMDEXC" rufst Du das nachfolgende Programm 'CMD' auf. Wenn der Befehl
nicht ausgeführt werden konnte, dann bekommst Du im zweiten Parameter die
Nachrichten-Id. zurück.
PHP-Code:
h DftActGrp(*NO) ActGrp(*CALLER) BndDir('QC2LE')
*
*-------------------------------------------------------------------------------------------*
*
* Prozedurenprototyp für Prozedur 'CMD'
*
dCMD PR
d 1024A Const --> Befehl
d 7A <-- Nachrichten-Id.
*
* Prozedurenschnittstelle für Prozedur 'CMD'
*
dCMD PI
d PICmd 1024A Const --> Befehl
d PIMsgId 7A <-- Nachrichten-Id.
*
*-------------------------------------------------------------------------------------------*
*
* Prozedurenprototyp für Prozedur 'system'
*
dsystem PR 10I 0 EXTPROC('system')
d * Value Options(*String)
*
* Nachrichten-Id.
*
dMsgId S 7A Import('_EXCP_MSGID')
*
*-------------------------------------------------------------------------------------------*
*
* Befehl ausführen
c If system(PICmd) > 0
* Fehler aufgetreten
c Eval PIMsgId = MsgId
c Else
* Kein Fehler aufgetreten
c Eval PIMsgId = *Blanks
c EndIf
* Programmende
c Eval *INLR = *On
Frank Hildebrandt
-
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
Similar Threads
-
By muadeep in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 25-06-06, 00:59
-
By Lichtblitz in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 25-07-05, 13:44
-
By Freezer in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 02-12-04, 14:38
-
By BUG in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 05-11-04, 16:07
-
By fabax in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 27-02-04, 12:10
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks