-
Fehler im MOVE Befehl prüfen (RPG)
Hallo zusammen,
ich habe in einem RPG folgenden Code:
Code:
IF FehlerSW = 'J';
cmd = 'MOVE OBJ(''' + %trim(xmldatei_Name) + ''') '
+ 'TODIR(''' + %trim(pfad) + '/Fault'')';
ELSE;
cmd = 'MOVE OBJ(''' + %trim(xmldatei_Name) + ''') '
+ 'TODIR(''' + %trim(pfad) + '/Archiv'')';
ENDIF;
monitor;
qcmdexc(cmd:%size(cmd));
on-error;
//* Hier wird eine Fehleremail versendet
endmon;
Diese Move Befehle funktionieren zu 99% ohne Probleme. Ab und zu aber wird eben diese Fehleremail versendet. Heisst also der Monitor hat einen Fehler abgefangen. Trotzdem wurde aber die Datei mit dem MOVE Befehl verschoben und es sieht alles ganz normal aus. Wie kann ich nun herausfinden wieso hier der on-error auslöst? Gibt es für den MOVE Befehl irgendwelche Fehlercodes die ich abfragen kann o.ä.?
Gruß
Sebastian
-
-
Hallo camouflage,
vielen Dank für Deine schnelle Antwort. Das probiere ich gleich mal aus.
Gruß
Sebastian
-
Kleine Anmerkung noch von mir:
Im Beitrag wird unter den Kommentaren auch noch auf die Thematik QCMDEXC vs System, bzw. grundsätzlich der Integration von Commands innerhalb des RPG Codes, eingegangen.
Falls es interessiert.
kf
-
Bei der C-Funktion System() ist es nur schwieriger an den Fehlercode zu kommen.
System() liefert auch grundsätzlich keinen Error (nur einen Returnwert) ob der Befehl funktioniert hat.
Da ist in der RPG-Welt QCMDEXC schon bequemer;-).
-
Hallo,
ich verwende schon lange system und kann mir die msgid ganz einfach in eine Variable importieren lassen.
Das passiert automatisch wenn du folgende Deklaration machst:
Code:
Dcl-pr system int(10) extproc('system');
cmd pointer value options(*string);
End-pr;
dcl-s ErrMsg char(7) import('_EXCP_MSGID');
lg Andreas
Last edited by Andreas_Prouza; 03-05-22 at 10:50.
Grund: formatierung
-
Was glaubst du, was von System() wohl aufgerufen wird?
Ob ich nun dcl-pr system oder dcl-pr QCMDEXC und sds verwende macht ja nicht den großen Unterschied, außer dass ich 2. mit monitor überwachen kann;-).
-
Mir ist eigentlich egal was in den unteren Ebenen von wem am Ende aufgerufen wird.
Bei system brauch ich keine Längenangabe und kein Monitor.
Ich Prüfe lediglich die MsgId und hab alles was ich brauche. Überwachen kannst du beides, je nachdem welches du nimmst mit einem Monitor oder einem IF.
Ist Geschmackssache, mir gefällt das system API besser :-)
-
Wollte mich nur nochmal für die ganze Hilfe bedanken. Hat sehr gut funktioniert.
Gruß
Sebastian
Similar Threads
-
By oulbrich in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 23-03-15, 17:21
-
By Joe in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 11-04-14, 17:05
-
By wdom in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 19-05-03, 13:58
-
By Booley in forum IBM i Hauptforum
Antworten: 10
Letzter Beitrag: 09-12-02, 15:24
-
By malzusrex in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 23-07-02, 10:07
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