Anmelden

View Full Version : CL: Frage zu RUNSQLSTM / RUNSQL



Gast951
07-09-15, 08:58
Liebes Forum,

Im alten Format RUNSQLSTM und SQL-Kommandos in eigener Source kann ich mit OUTPUT(*PRINT) ein Spoolfile erzeugen lassen, in dem ein Log der SQL-Befehle steht, z.B. "SQL7957 ... 521 Zeilen in TESTDATEI in TESTLIB aktualisiert."
Daraus kann man mit ein paar CL-Befehlen ein Protokoll jedes Laufes erstellen und in eine Archivdatei schreiben.
Etwas rustikal, aber geht.

Beim neuen RUNSQL mit dem SQL-Kommando in der CL-Source ist dieser Parameter weg. Ich kann auch keine Alternative finden, um diese Anforderung zu erfüllen.
Kennt jemand eine?

Fuerchau
07-09-15, 11:02
Der Unterschied liegt halt in der Funktion.
RUNSQLSTM funktioniert nur, wenn das Produkt für STRSQL installiert ist.
Die SQL-Befehle stehen in einer PF-SRC zur Ausführung.
Hat eine Kunde SQL nicht gekauft/installiert funktioniert auch RUNSQLSTM nicht.

Wobei aber Anwendungen mit Embedded SQL oder QMQRY's durchaus laufen.

RUNSQL ersetzt die Eigenprogrammierung für simple SQL's als dynamische Statements.
Embedded SQL's werden ja auch nicht protokolliert.

An Stelle von RUNSQLSTM habe ich auch schon REXX bemüht (ist auch immer dabei).
Hier kann ich dann sowohl SQL's als auch CMD's ausführen und Protokolle auf STDOUT (Umleitung auf QPRINT) erstellen.

Pikachu
07-09-15, 11:10
Da gibts wohl ein paar neue Parameter beim RUNSQL (https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM%20i%20Technology%20Updates/page/RUNSQL%20control%20of%20output%20listing).

Gast951
09-09-15, 06:41
Interessant, inzwischen ist anscheinend der fehlende Parameter dabei.

Angeblich soll jetzt auch diese unselige Zeilen-Zusammenschiebe-Automatik von SQL-Kommandos in CLs weg sein. So dass SQL-Kommandos so stehen bleiben, wie sie der Programmierer übersichtlich mit Zeilenwechseln und Einrückungen geschrieben hat.

Wir haben zwar 7.1 installiert, liegen aber einige PTFs hinten. Da müssen wir die Kisten doch mal wieder aktualisieren.

Fuerchau
09-09-15, 07:52
Solange du nicht F4 bei einem Kommando verwendest bleibt deine Zeilenaufteilung erhalten.
Erst nach F4 wird der automatische "Beautyfier" aktiv um auf Zeilenbreite umzubrechen.
Hier kann sich PDM keine Zeilenschaltungen merken.