PDA

View Full Version : Fehlerrückmeldung während RUNSQLSTM



Matthias182
12-11-07, 14:14
Hallo,

ich bin noch sehr neu im iseries Umfeld und benötige eure Unterstützung bei einer vermutlich sehr einfachen Aufgabe, die mich aber mittlerweile verzweifeln lässt.

Zur Automatisierung einfacher Setup prozesse in einer Applikation auf der iseries nutze ich eine sehr einfache CL-Routine, in der u.a. über den Befehl RUNSQLSTM eine Reihe von SQL-Befehlen (überwiegend delete) aufgerufen werden.

Da die korrekte ausführung all dieser Befehle Grundlage für den weiteren Ablauf der Routine ist, möchte ich gerne nach jedem SQL-Befehl eine Art Rückmeldung bekommen. Sollte es zu einem Fehler kommen, möchte ich, dass dieser im Joblog auftaucht. Dazu nutze ich in meiner CL-Routine den Command SNDPGMMSG.

Welche Möglichkeit gibt es das auch innerhalb der SQL-Source zu erreichen.

Ich hoffe, ihr könnt mir das sehr einfach erklären, da ich wirklich noch einige Probleme in diesem Umfeld habe.

Vielen Dank im voraus.

Matthias

Fuerchau
12-11-07, 16:57
RUNSQLSTM ist dazu nicht so in der Lage.

RUNSQLSTM erstellt ein Spool, in dem das Ergebnis des SQL's ausgegeben wird.

Du musst dieses Spool per CPYSPLF in eine PF kopieren und per Programm auswerten.

Einfacher wäre es da, die SQL's in ein QM-Query zu stellen (Delete geht da auch) und per STRQMQRY mit MONMSG zu überwachen.

Noch einfacher wäre eine REXX-Prozedur, in der du den SQLCODE direkt auswerten kannst und eine bessere Fehlerüberwachung hast.

RUNSQLSTM steht ansonsten nur zur Verfügung, wenn SQL-Development-Kit installiert ist, was nicht auf jedem System der Fall sein muss.

QMQRY und REXX funktionieren aber immer.

Matthias182
14-11-07, 08:24
Hallo Fuerchau,

danke für die erste Hilfe. Allerdings muss ich gestehen, dass ich dazu noch etwas mehr brauche.

Eine REXX_Prozedur sagt mir gar nichts. QM-Query habe ich schon gehört und ich weiß auch grundsätzlich wie das funktioniert.

Also, ich erstelle mit WRKQRY ein Query nach meinen Bedürfnissen, dann erstelle ich eine physical source und ziehe mir mit RTVQMQRY mein zuvor erstelltes Query in die Source. Ist das richtig?

Aber wie kann ich in einem solchen Query dann mit delete arbeiten? Ich hoffe, die Frage ist nicht zu "blöd", aber ich bin echt noch Anfänger.


Nochmals vielen Dank.

Matthias

Matthias182
14-11-07, 08:37
Hallo noch mal,

ich habe noch eine weitere Frage.

Ist es mittels QM-Query auch möglich ein SQL-Update zu machen?


Gruß

Matthias

Fuerchau
14-11-07, 08:53
Mittels STRQM, Auswahl 1 erstellst du direkt QM-Query-Objekte.

Du musst nur auf SQL-Sicht umschalten und kannst dann beliebige SQL-Befehle (ggf. noch über die Profilverwaltung im STRQM erlauben) eingaben und später zur Ausführung bringen.

Sogar Parameter sind möglich. Siehe hierzu mal im Forum unter STRQMQRY.

Matthias182
19-11-07, 09:51
Ja, spitze, das hat geholfen.

So geht es jetzt besser.


Vielen Dank

Matthias