[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2004
    Beiträge
    69

    Question RUNQRY mit Variablen

    Hallo Forum,

    ich habe ein Query, das ich einmal im Monat für einen Anwender aufrufen muss. Vorher müssen aber 2 Werte der Abfrage geändert werden. Da ich als Programmierer von berufswegen faul bin, möchte ich dem Anwender das Query so zur Verfügung stellen, dass er nur diese beiden Werte eingeben kann und das Query dann ausgeführt wird.
    Hat eine(r) von Euch den entscheidenden Tipp?

    Danke und Gruß
    Alexander

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Mit RUNQRY ist das nicht möglich.
    Du kannst nur per QM-Qry und STRQMQRY Parameter übergeben.
    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

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    zu ergänzen sei noch, dass man bei STRQMQRY ALWQRYDFN(*YES) angeben kann und dann auch 400er Queries mit Parametern aufgerufen werden können. In dem Query nimmt man dann Referenz auf Hostvariablen (:meineVar), behauptet dann, dass diese aus einer Datei stammen und gibt selbiger einen Namen (Dummy oder Aetsch). Was damit nicht gut geht, sind Print Ausgaben.
    Was sind das denn für Variablen, wenn das nämlich Datum bezogene sind, dann geht das meist auch mit current(date) und ein wenig Daten Gefrickel.

    mfg

    Dieter Bender

    Zitat Zitat von Fuerchau
    Mit RUNQRY ist das nicht möglich.
    Du kannst nur per QM-Qry und STRQMQRY Parameter übergeben.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Aber Vorsicht bei "STRQMQRY ALWQRYDFN(*YES)".
    Auf Grund der möglichen Verknüpfungen von Dateien stellt sich das Ergebnis von Query und QM-Query mitunter anders dar, da Query wohl nicht unbedingt SQL verwendet.
    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

  5. #5
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Probiere mal den Parameter RCDSLT(*YES) beim Befehl RUNQRY.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    was hast du da im Auge??? mir ist da nix bekannt.

    mfg

    Dieter Bender

    Zitat Zitat von Fuerchau
    Aber Vorsicht bei "STRQMQRY ALWQRYDFN(*YES)".
    Auf Grund der möglichen Verknüpfungen von Dateien stellt sich das Ergebnis von Query und QM-Query mitunter anders dar, da Query wohl nicht unbedingt SQL verwendet.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    @Dieter
    Verknüpfung 1:
    entspricht eigentlich einem Left-Join, mit der SQL-Umsetzung wird aber leider ein Inner-Join daraus, da die Verknüpfung grundsätzlich als Where-Klausel und nicht als Join-Klausel übersetzt wird (RTVQMQRY ALWQRYDFN(*YES)).

    Das kannst du nur auflösen, wenn du die SQL-Quelle nochmal manuell bearbeitest.

    Betrifft meines Wissenas auch Verküpfung 3, einzig Verknüpfung 2 ist korrekt, da es egal ist ob der Join im where oder join...on steckt.
    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
    Mar 2002
    Beiträge
    5.287
    Hallo Baldur,

    ein RTVQMQRY ist nicht erforderlich!!! Der STRQMQRY hat selber einen Parameter ALWQRYDFN.

    mfg

    Dieter Bender


    Zitat Zitat von Fuerchau
    @Dieter
    Verknüpfung 1:
    entspricht eigentlich einem Left-Join, mit der SQL-Umsetzung wird aber leider ein Inner-Join daraus, da die Verknüpfung grundsätzlich als Where-Klausel und nicht als Join-Klausel übersetzt wird (RTVQMQRY ALWQRYDFN(*YES)).

    Das kannst du nur auflösen, wenn du die SQL-Quelle nochmal manuell bearbeitest.

    Betrifft meines Wissenas auch Verküpfung 3, einzig Verknüpfung 2 ist korrekt, da es egal ist ob der Join im where oder join...on steckt.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    @Dieter
    Das ist mir bekannt. Ich wollte nur darauf hinweisen, dass ALWQRYDFN eben intern ja erst ein RTVQMQRY durchführt und eben dann Join's nicht wie erwartet funktionieren !
    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

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    ich hatte eigentlich gehofft, die hätten das mittlerweile hingekriegt...
    da bleibt dann nur noch anzqry und hoffen, dass das wenigstens stimmt, oder die Parameter Datei mit einem Satz, die man zu joint (Freud'scher Vertipper) ohne where Bedingung; selbige kann man sich dann ja mit einem parametrisierten Query erstellen, dann brauchts ein CL mit 2 Qry Aufrufen; dann ist auch die Print Problematik mit erschlagen.

    mfg

    Dieter Bender

    Zitat Zitat von Fuerchau
    @Dieter
    Das ist mir bekannt. Ich wollte nur darauf hinweisen, dass ALWQRYDFN eben intern ja erst ein RTVQMQRY durchführt und eben dann Join's nicht wie erwartet funktionieren !
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Naja, ich helfe mir dann sowieso immer mit 2 (oder auch mehr) Queries:

    1. STRQMQRY mit Parametern in OUTFILE
    2. RUNQRY aus OUTFILE wegen Formatierung.

    Manchmal ist es auch sinnvoll eine temporäre View zu erstellen (über QMQRY per Create View), da bestimmte Query-Mimiken (Gruppenwechsel, nur Summenzeilen o.ä.) sonst nicht funktionieren.
    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

Similar Threads

  1. QueryManager / Query ---> Aufruf mit Variablen
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 29-11-06, 18:07
  2. SQL mit variablen Tabellennamen
    By THH in forum NEWSboard Programmierung
    Antworten: 18
    Letzter Beitrag: 19-10-06, 14:16
  3. FETCH INTO Variablen Dynamisch verändern
    By marcel331 in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 11-04-06, 15:47
  4. Physische Datei mit variablen Feldern
    By Linscheidt in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 13-09-05, 07:20
  5. SQLRPGLE /V5R3: Eindeutige Variablen
    By Karl23 in forum NEWSboard Programmierung
    Antworten: 22
    Letzter Beitrag: 05-07-05, 08:56

Berechtigungen

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