[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2009
    Beiträge
    314

    Fehler bei RUNSQLSTM über *SYSRPYL automatisch beantworten

    Hallo,

    ich habe schon wieder einmal eine undankbare Aufgabe bekommen.
    Durch die Konstellation einer Fremd Datenanlieferung an uns und die nicht gleichlaufende Weiterverarbeitung kann es zu dupKey kommen. Da mir da der Job abbricht, suche ich eine Möglichkeit das trotzdem durch zu bekommen. Ich brauche die weiteren Schritte nach diesem CL

    Im CL habe ich jetzt folgendes drinnen:

    CHGJOB INQMSGRPY(*SYSRPYL)
    ADDRPYLE SEQNBR(4712) MSGID(CPF5009) RPY(I)
    ADDRPYLE SEQNBR(4713) MSGID(CPF5034) RPY(I)
    ADDRPYLE SEQNBR(4714) MSGID(SQL0803) RPY(I)
    ADDRPYLE SEQNBR(4715) MSGID(SQL9010) RPY(I)
    ADDRPYLE SEQNBR(4716) MSGID(CEE9901) RPY(I)
    RUNSQLSTM SRCFILE(*LIBL/QSQLSRC) SRCMBR(T13CRLST) +
    COMMIT(*NONE)
    RMVRPYLE SEQNBR(4712)
    RMVRPYLE SEQNBR(4713)
    RMVRPYLE SEQNBR(4714)
    RMVRPYLE SEQNBR(4715)
    RMVRPYLE SEQNBR(4716)

    Trotzdem bricht das CL ab was mache ich falsch?

    LG aus Wien
    Andreas
    Ein AS/400 Dinosaurier since 1989

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... ich weiß zwar nicht, was Du da wirklich vorhast, aber hast Du mal über RUNSQLSTM ... ERRLVL(...) nachgedacht?

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    SQLxxxx-Fehler sind keine Antwortfehler. Somit zieht das nicht.
    Um also DUPKEY-Fehler auszuschließen musst du einen " where not exists (select * from dest where sorce.key = dest.key) " hinzufügen.

    ERRLVL(40) funktioniert nur, wenn du mehrere Befehle in der SRC hast. Dann wird beim Abbruch eines SQL's der nächste trotzdem ausgeführt.

    Es liegt leider im SQL begründet, dass dieser beendet wird, sollte ein Fehler auftreten.
    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

  4. #4
    Registriert seit
    Dec 2009
    Beiträge
    314
    Zitat Zitat von Fuerchau Beitrag anzeigen
    SQLxxxx-Fehler sind keine Antwortfehler. Somit zieht das nicht.
    Um also DUPKEY-Fehler auszuschließen musst du einen " where not exists (select * from dest where sorce.key = dest.key) " hinzufügen.

    ERRLVL(40) funktioniert nur, wenn du mehrere Befehle in der SRC hast. Dann wird beim Abbruch eines SQL's der nächste trotzdem ausgeführt.

    Es liegt leider im SQL begründet, dass dieser beendet wird, sollte ein Fehler auftreten.
    Ich habe mehrere Insert in diesem SQL und die brauche ich alle, der eine doppelte ist mir wurscht kommt aus einem Fremdsystem
    Andreas
    Ein AS/400 Dinosaurier since 1989

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Dann nimm ERRLVL(40), der ignoriert alle Fehler bis auf obige Ausnahmen.
    Bei einem

    insert into tablea
    select * from tableb

    wird nach der ersten fehlerhaften Zeile abgebrochen, selbst wenn die folgenden Zeilen korrekt wären.
    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
    Dec 2009
    Beiträge
    314
    Danke mit ERRLVL 40 funktioniert es das eigentliche Problem werde ich angehen, wenn ich Zeit dafür habe.
    Andreas
    Ein AS/400 Dinosaurier since 1989

Similar Threads

  1. SQL Fehler bei Update über 2 Dateien
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 11-12-20, 12:04
  2. Antworten: 7
    Letzter Beitrag: 10-11-19, 14:00
  3. CL- Programm- Nachricht beantworten
    By Twinkie in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 14-12-15, 11:23
  4. Message von Serverjob auslesen und beantworten
    By TSchuler in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 08-04-14, 14:03
  5. RUNSQLSTM
    By Rolf7856 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 07-01-03, 14:18

Berechtigungen

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