[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.702
    Im RUNQRY kann die zu verwendende Datei/Bibliothek direkt angegeben werden QRYFILE((LIB/F1) (LIB/F2)....), was natürlich etwas aufwändig wäre.

    Vielleicht bin ich ja bereit, auf Basis des Programmes RTVQRYF (MI-Programm) ein CHGQRYLIB zu entwickeln.
    Wer ist bereit dafür etwas Geld auszugeben ?
    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

  2. #2
    Registriert seit
    Nov 2004
    Beiträge
    4

    RunQry *LibL/File

    Hallo,

    a propos RunQry: wie wär's mit
    RunQry ((*LIBL/F1) (*LIBL/F2) ... )
    in einem Menü ?
    Wenn man mit mehreren Datenbibliotheken in mehreren Umgebungen arbeitet, z.Bsp. PRODUCTION/TEST, ist das ohnehin die Lösung.

    Gruss F.Ziegler

  3. #3
    Registriert seit
    Jan 2003
    Beiträge
    759
    @Fuerchau

    Der Hammer wäre ein Tool, das solche Altlasten (Queries) in SQLRPGLE übersetzt ;-)

    Grüße,
    Robert

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.702
    @Robert

    Dafür brauchts kein Tool. RTVQMQRY reicht da vollkommen aus, da dieser auch *QRYDFN-Objekte zuläßt.
    Den SQL hast du dann anschließend in einer SRCPF.
    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.403
    Hallo Fürchau !

    Zitat Zitat von Fuerchau
    RTVQMQRY reicht da vollkommen aus, da dieser auch *QRYDFN-Objekte zuläßt. Den SQL hast du dann anschließend in einer SRCPF.
    Dieser SQL stimmt meines Wissens nach aber nicht unbedingt mit dem Query überein. Zum Beispiel besteht dieser SQL nur aus INNER JOINs, auch wenn in der Query bei "Art der Verknüpfung" Auswahl "2=Mit Primärdatei gleiche Sätze" ausgewählt wurde. Der SQL liefert also u.U. auch weniger Datensätze als die Query.

    Viele Grüße
    Jürgen

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.702
    Auswahl "2=Mit Primärdatei gleiche Sätze" ist ein INNER JOIN !
    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

  7. #7
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Hallo Fürchau !

    Ich dachte, Auswahl "1=Gleiche Sätze" wäre ein INNER JOIN und Auswahl "2=Mit Primärdatei gleiche Sätze" ein OUTER JOIN. D.h. bei Auswahl 2 bekommt man auch die Datensätze der Primärdatei, zu denen kein passender Datensatz in den Sekundärdateien vorhanden ist (und obwohl die entsprechenden Verknüpfungsfelder angegeben sind). Das geht im SQL mit dem WHERE, das der RTVQMQRY ALWQRYDFN(*ONLY) daraus macht, leider nicht.

    Viele Grüße
    Jürgen

  8. #8
    Registriert seit
    Oct 2004
    Beiträge
    251
    Zitat Zitat von Fuerchau
    Auswahl "2=Mit Primärdatei gleiche Sätze" ist ein INNER JOIN !
    Einspruch!!

    Verknüpfungsart 1 (=gleiche Sätze):
    ist ein INNER JOIN

    Verknüpfungsart 2 (= mit Primärdatei gleiche Sätze)
    ist ein LEFT OUTER JOIN

    Verknüpfungsart 3 (= mit Primärdatei ungleiche Sätze)
    ist ein OUTER JOIN

    Ich kenne das Tool zwar nicht, aber wenn es die Verknüpfungsart 2 nicht mit LEFT OUTER JOIN übersetzt, ist es keine 100% Umsetzung.

    Abgesehen davon, werden im SQL Felder von erfolglosen LEFT OUTER Joins mit NULL zurückgegeben, im Query mit dem Defaultwert. D.h. das ev. Abfragen anders reagieren können und 2. das Schlüsselwort VALUE (= COALESCE) im Query für diese Fälle unbrauchbar ist.

    LG

    Robert

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.702
    Ja Ok, Verknüpfungsart stimmt.

    Aber VALUE in Query hilft mir nicht (da ja immer Default geliefert wird, ausser bei SQL-Tables) sondern eher im SQL.
    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
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364
    Hallo QRY - Leidensgenossen,

    QRY sind halt Segen und Fluch zugleich.

    Wir haben auch mehrere tausend QRY im System und ich stehe auch immer wieder vor der Aufgabenstellung, herauszufinden, in welchen QRY eine bestimmte Bibliothek oder Datei benutzt wird.

    Ich hatte mir auf Anleitung von IBM vor vielen Jahren ein Programm RTVQRYF gebastelt, welches alle verwendete Dateien einer QRY in eine Datei ausgibt.
    Habe dieses so in CL eingebunden und kann dann mit FINQRY 'BIBLIOTHEK' alle Qry dieser Bibiothek ausgeben. In Kombination mit einem weiteren CL, das alle Bibliotheken der As400 einliest, kann ich dann "auf Knopfdruck" eine Übersicht über alle im System vorhandenen QRY ausgeben.

    Leider bin ich kein Programmierer und es ist schon viele Jahre her, das ich das Programm erstellt hab.

    Wenn aber Interesse besteht, kann ich mal recherchieren, wie das genau funktioniert. Alle Quellen müsste ich noch haben.

    Gruß
    HS

  11. #11
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Hallo Robert!

    Ok, Auswahl 2 = LEFT OUTER JOIN.

    Zitat Zitat von RobertPic
    Verknüpfungsart 3 (= mit Primärdatei ungleiche Sätze)
    ist ein OUTER JOIN
    Hm, bist du die da sicher? Ich hätte mir unter einem OUTER JOIN jetzt was anderes vorgestellt.

    Viele Grüße
    Jürgen

  12. #12
    Registriert seit
    Oct 2004
    Beiträge
    251
    Zitat Zitat von Pikachu
    ...
    Hm, bist du die da sicher? Ich hätte mir unter einem OUTER JOIN jetzt was anderes vorgestellt.
    100%, der Outer Join liefert nur Sätze, welche nicht in der verknüpften (Sekundär) Datei vorkommen.

    Beispiel gefällig?
    Outer Join (Query 3, auf der AS/400 im SQL exception join)

    select * from kunstm exception join kunsta on
    kunstm.firma = kunsta.firma and kunstm.kunnr = kunsta.kunnr

    Liefert alle Kunden (aller Mandaten) aus der Kundenstammdatei, welche keine Sätze in der Statistikdatei haben.

    Left Outer Join (Query 2):
    select kunstm.firma, kunstm.kunr, kunstm.kunnam, value(kunsta.kunums, 0) from kunstm left outer join kunsta on kunstm.firma = kunsta.firma and kunstm.kunnr = kunsta.kunnr

    Liefert alle Kunden mit Umsatz, auch wenn sie keinen Satz in der Umsatzdatei haben.

    Leider kann man im Query bei der Verknüpfung der Dateien nicht mit Konstanten arbeiten (in diesem Fall, hat man meistens ein Geschäftsjahr in der Statistikdatei), daher ist Query in diesen Sachen kein (<- edit) vollwertiger SQL-Ersatz.

    Der Standard Inner-Join, liefert nur Kunden mit Umsatzsätzen:

    select kunstm.firma, kunstm.kunr, kunstm.kunnam, kunsta.kunumsfrom kunstm, kunsta where kunstm.firma = kunsta.firma and kunstm.kunnr = kunsta.kunnr

    Zitat Zitat von Fuerchau
    ... Aber VALUE in Query hilft mir nicht (da ja immer Default geliefert wird, ausser bei SQL-Tables) sondern eher im SQL.
    hätte ich eigentlich auch so gemeint...

    Zitat Zitat von robertpic
    ..das Schlüsselwort VALUE (= COALESCE) im Query für diese Fälle unbrauchbar ist.
    @erni:
    Zum eigentlichen Problem:
    gibt es die alten Datein noch nach der Umstellung?

    Wir haben einmal alle logischen Dateien verschoben. Die Queries sind zwar beim Ausführen fehlgeschlagen, aber beim ersten Mal editieren, hat er sich die Libl. der Dateien aufgrund der Libl-Liste (mit Warnbildschirm) wieder selbst geholt. Wir haben daher die meisten Queries unberührt gelassen und nur eine Info an die Querybenutzer ausgegeben.

    LG
    Robert

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. Datum in Query
    By heini in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 30-09-06, 10:10
  3. query outq
    By TARASIK in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-08-06, 09:52
  4. Query Manager -_-
    By Azubiiiiii in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 03-08-06, 09:44
  5. Query und Datum
    By Hubert Brethauer in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 05-05-06, 12:37

Berechtigungen

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