[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2019
    Beiträge
    36

    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

  2. #2
    Registriert seit
    Jan 2007
    Beiträge
    904

  3. #3
    Registriert seit
    Jan 2019
    Beiträge
    36
    Hallo camouflage,
    vielen Dank für Deine schnelle Antwort. Das probiere ich gleich mal aus.

    Gruß
    Sebastian

  4. #4
    Registriert seit
    Jan 2007
    Beiträge
    904
    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

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    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;-).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Nov 2020
    Beiträge
    315
    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 11:50. Grund: formatierung

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    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;-).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Nov 2020
    Beiträge
    315
    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 :-)

  9. #9
    Registriert seit
    Jan 2019
    Beiträge
    36
    Wollte mich nur nochmal für die ganze Hilfe bedanken. Hat sehr gut funktioniert.

    Gruß
    Sebastian

Similar Threads

  1. Antworten: 7
    Letzter Beitrag: 23-03-15, 18:21
  2. Move in IFS-Ordner
    By Joe in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 11-04-14, 18:05
  3. TCP/IP Port prüfen
    By wdom in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 19-05-03, 14:58
  4. MOVE auf Satzformat
    By Booley in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 09-12-02, 16:24
  5. TCP/IP FTP prüfen ob Rechner an ist
    By malzusrex in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-07-02, 11:07

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •