-
QRY und PARAMeter
Hallo,
ich weiß das es funktioniert und habe es früher auch schon mal gesehen.
Wie kann ich einen Parameter an ein QRY übergeben.
Ich glaube es wurde mit dem QMQRY gemacht.
Ich möchte gerne eine Adresse an ein Qry übergeben und dann die Abfrage starten und die eine Datei ausgeben.
Mann könnte das auch mit SQLRPG machen aber leider funzt das nicht bei uns.
Wenn einer weiß wie es geht bitte schickt mir ein Beispiel...nur ein Kleines :-)
Danke,
HoScHiE
Bye
HoScHiE
-
Hallo!
Query und Parameter geht nur über den Befehl STRQMQRY.
D.h. das Query wird quasi zur Laufzeit in ein QM-Query umgewandelt.
Die Übergabe erfolgt durch den Parameter SETVAR...
Übrigens:
Der "QueryOptimizer" (www.queryopt.de) unterstützt auch in dieser Hinsicht...
Grüße
Andi Göring
-
Wenn das Query direkt aufgerufen werden soll und der Benutzer in der Lage ist die Selektions-Kriterien zu bearbeiten, kann man auch über den RUNQRY-Befehl diese setzen.
Wird der RUNQRY-Befehl wie folgt eingegeben, werden zunächst die Selektions-Kriterien angezeigt und können verändert werden. Anschliessend wird das geänderte Query durchgeführt.
RUNQRY QRY(HAUSER/QUERY)
RCDSLT(*YES)
Vielleicht hilft's
B. Hauser
-
Vielen Dank.
ICh bevorzuge die QMQRY Variante.
Hat vielleicht mal einer ne´n kleines Beispiel.
1. Eingabe Adresse 100 - 200 per DSPF
2. CL startet QMQRY "QRYAD" mit Felder aus DSPF
3. Ausgabe als Datei "Datei1"
Danke
Bye
HoScHiE
-
Also Hoschie,
hier die Antwort :
************************** Anfang der Daten ***********************
SELECT
-- Spalten
A.LGSFAM, A.LGSFAN, A.LGSPA2, A.LGSFAQ, A.LGSPBA, A.LGSPAG
-- Tabellen
FROM "LL01W120"/"LGLJPS" A
-- Zeilenauswahl
WHERE ((LGSFAM = &COND1)
AND (LGSFAN = &COND2)
AND (LGSPA2 BETWEEN &COND3 AND &COND4)
AND (LGSPFP > '19')
AND (LGSPAG LIKE '%Ablö%'))
-- Sortierspalten
ORDER BY A.LGSFAM, A.LGSPA2, A.LGSPBA
**************************** Ende der Daten ***********************
im CL rufst du dann folgendes auf :
STRQMQRY QMQRY(*LIBL/LGABLOESS) OUTPUT(&OUTPUT) +
QMFORM(*LIBL/LGABLOES) SETVAR((COND1 +
&QFIRMA) (COND2 &QBEREICH) +
(COND3 &QVABT) (COND4 &QBABT))
Ich hoffe Du kommst mit dieser Darstellung zurecht.
Grüße aus dem QM
Peter
Viele Grüsse
Peter
-
Danke :-) ... aber wie erstelle ich so ein QM Ding ?
Da muss ich doch ein Formular oder sowas angeben ?
Wo gebe ich das SQL Statement ein ?
Bin da leider keine helle Leuchte bei QMQry´s
Danke
Brauche eine Dateiausgabe...
Bye
HoScHiE
-
Hallo Hoschie,
wenn Du die im Select angegebenen Felder in eine Datei haben möchtest ersetzt Du einfach den Parameter &OUTPUT mit dem Wert *OUTFILE und gibst dan in den entsprechenden Parametern die Bibliothek und den Dateinamen mit. Ic habe in meinem Beispiel lediglich die Ausgabe variabel gehalten. Neue Reports kannst Du mit STRQM erstellen. Alles weitere führt hier jetzt wohl zu weit.
Gruss
Peter
Ach ja ... Voraussetzung für STRQM ist ein installiertes ST1
Viele Grüsse
Peter
-
Hallo,
tja das wars wohl :-( kein QMQRY auf der Maschine keine RPGSQL .. :-(
OK dann muss ich das wohl mit Qry machen.
Danke
Achja woran kann ich erkennen ob QMQRY auf der Maschine ist ?
Bye
HoScHiE
-
Hallo HoScHie,
auf der AS400: GO LICPGM, dann Auswahl 10, dann nach "57xxST1 DB2 Query Mgr and SQL DevKit für AS/400" suchen - das ist, was Du brauchst damit QMQRY geht.
Gruss Reinhold
R.Schreiber
-
Hallo schreibr,
CRTQMQRY und STRQMQRY sind Bestandteil vom OS/400.
Das Lizenzprodukt 57xxST1 ist nicht notwendig !!!.
57xxST1 brauchst du nur, wenn du
- die SQL-Precompiler
bzw.
- interactives SQL benutzt.
Ab V5R1 ist übrigens STRSQL (interactives SQL) kostenloser Bestandteil von OS/400
-
Jetzt zum Thema :
1. Lösung (Query Manager)
- SQL-Source mit SEU erstellen
- die Abfrage muss Variablen enthalten z.B.
select * from QIWS/QCUSTCDT where state = &var1
- Die Abfrage mit CRTQMQRY erstellen
- Die Abfrage mit STRQMQRY ausführen
Wird kein Wert im Parameter SETVAR eingegeben, fragt OS/400 die Variablen der Reihe nach ab.
2. Lösung (Query/400)
Diese Lösung ist nur für einfache Abfragen
Sie stammt aus OV/400 Zeiten für Text-Merge.
- Query mit WRKQRY erstellen
- in "Sätze auswählen" z.B."STATE EQ :VAR1" eingeben. Abhängige Werte werden mit führendem ":" angegeben.
- in der nachfolgenden Maske "Qualifikationsmerkmale für abhängige Werte angeben" irgend etwas gültiges eingeben.
-Die Query/400-Abfrage mit STRQMQRY ausführen; der Parameter ALWQRYDFN(*YES) ist so zu setzen
Wird kein Wert im Parameter SETVAR eingegeben, fragt OS/400 die Variablen der Reihe nach ab.
Anmerkungen zum 2. Beispiel :
Intern erstellt der Query Manager aus dem *QRYDFN-Objekt eine SQL-Abfrage.
Die Umsetzung ist nicht immer korrekt.
(z.B. funktioniert kein "left outer join" bzw. "Mit Primärdatei gleiche Sätze", wenn mehrere Dateien verknüpft werden)
Am Besten ist es, wenn man mit dem Befehl RTVQMQRY (nicht vergessen ALWQRYDFN(*YES))
aus dem *QRYDFN-Objekt eine SQL-Source erstellt. Die abgeleitete Source entspricht dem was STRQMQRY ausführt.
Fazit:
Lösung 1 ist am flexiblesten und benötigt kein zusätzliches Lizenzprodukt.
[Dieser Beitrag wurde von Sven Schneider am 10. September 2001 editiert.]
-
Hallo Leute!
Ich habe diesen Artikel mit Spannung gelesen und gleich mal ausprobiert. Das mit den Parametern funktioniert bei mir nur interakiv(STRQM). Wenn ich einen Parameter an ein CL übergebe und im CL STRQYQRM aufrufe, erhalte ich folgende Fehlermeldung:
Operanden des Vergleichsoperators = nicht verträglich.
Befehl RUN für Objekt QUERY mit SQLCODE -401 fehlgeschlagen.
Der Parameter wurde richtig übergeben!
Hat einer von euch eine Idee
Vielen Dank im voraus
Chera
[Dieser Beitrag wurde von chera am 11. September 2001 editiert.]
Similar Threads
-
By Luebbert in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 23-11-06, 13:22
-
By kr1s in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 08-09-06, 11:59
-
By Jump4738 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 22-08-06, 08:08
-
By muadeep in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 27-06-06, 11:31
-
By rebe in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 24-05-06, 19:37
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