[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2004
    Beiträge
    60

    Logische Datei

    Hallo,

    Habe folgendes Problem:
    Auf eine Physiche datei hängt eine Logische Datei
    Wenn ich per SQL oder UPDDTA die Physiche Datei mir ansehe ist die OK
    Wenn ich per SQL oder UPDDTA die Logische Datei mir ansehe bekomme ich ein vollkommen anderes ergebniss sogar doppete sätze die es in der Physichen nicht gibt.
    Habe die Datei schon gelöscht und umgewandelt ergebnis bleibt gleich.

    Logische Datei ist folgende massen aufgebaut:
    K Feld1
    K Feld2
    K Feld3
    K Feld4

    S Feld5
    S Feld6
    S Feld7

    Danke im Voraus für Eure Unterstützung.

    mfg

    DD3TJ

    Thibaut Foucart

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Hat die PF ggf. mehrere Teildateien ?

    Dann gib beim CRTLF ... DTAMBRS(*FIRST) an, default ist *ALL !
    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
    Jul 2004
    Beiträge
    60
    Nein die PF hat nur ein Member

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Bist Du auch sicher, dass die logische Datei auch auf der richtigen physischen Datei ist?

    Ist die physische Datei vielleicht in mehreren Bibliotheken vorhanden und die logische bezieht sich auf eine physische Datei in der falschen Bibliothek?

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Jul 2004
    Beiträge
    60
    Ja ich bin sicher das die Logische Datei auf der richtige Datei verweist und nein die physiche Datei gibt es nur ein mal

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Auch wenn ich mich wiederhole.
    Prüfe nochmal per DSPFD die LF und per DSPDBR die PF.

    Es kann nicht sein, dass die LF andere Daten als die PF enthält.

    Ist die LF ggf. eine Join-LF ?
    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
    Jul 2004
    Beiträge
    60
    Hallo

    so wie es Aussieht geht es doch !!!!
    und nun ????

    Hier Die Abfrage auf die Physiche Datei
    SELECT * FROM lgbs WHERE LSWKNR = '700' and LSTENR='SS 86SK115'

    Ergebnis
    Firma Werk Teile-Nummer VAR.Ausf. LagerNr. Lagerort Lagerbestand

    FIRM WKNR TENR VAAU LANR LORT LGBE
    1 700 SS 86SK115 H1 0,00
    1 700 SS 86SK115 H2 0,00

    Hier Abfrage auf Logische Datei
    SELECT * FROM lgbs99 WHERE LSWKNR = '700' and LSTENR='SS 86SK115'

    ergebnis
    1 700 SS 86SK115 H1 72,00

    DSPDBR der Datei
    DSPDBR Befehlseingabe
    Datei . . . . . . . . . . . . . . . . . . . : FILE LGBS
    Bibliothek . . . . . . . . . . . . . . . : *LIBL
    Teildatei . . . . . . . . . . . . . . . . . : MBR *NONE
    Satzformat . . . . . . . . . . . . . . . . : RCDFMT *NONE
    Ausgabe . . . . . . . . . . . . . . . . . . : OUTPUT *
    Spezifikationen
    Dateiart . . . . . . . . . . . . . . . . . : Physisch
    Datei . . . . . . . . . . . . . . . . . . . : LGBS
    Bibliothek . . . . . . . . . . . . . . . : RHDBD_20
    Teildatei . . . . . . . . . . . . . . . . : *NONE
    Satzformat . . . . . . . . . . . . . . . : *NONE
    Anzahl abhängiger Dateien . . . . . . . . : 8
    Von angegebener Datei abhängige Dateien
    Abhängige Datei Bibliothek Abhängigkeit JREF Integritätsbed.
    LGBS01 RHDBD_20 Daten
    LGBS03 RHDBD_20 Daten
    LGBS04 RHDBD_20 Daten
    LGBS02 RHDBD_20 Daten
    LGBS99 RHDBD_20 Daten

  8. #8
    Registriert seit
    Aug 2004
    Beiträge
    923
    Nun, da nicht sein kann, was nicht ist, wirst Du immer wieder ein Kontra bekommen hier.

    Leider lässt Dein 1. Posting keinen Rückschluss zu auf die genaue Selektion innerhalb der logischen Datei.
    (Hier wäre etwas weniger Anonymität hilfreich)

    Ob es wirklich so ist, dass es nur eine physische und eine logische gibt, von der wir reden, ist auch nicht klar.
    (Hier wären so Sachen wie WRKOBJ, genaue Libllist usw. ebenfalls hilfreich - Beispiel 8 logische abhängige, Du postest nur 5)

    Evtl. eine Möglichkeit um das geregelt zu bekommen:
    = logische Datei mal neu erstellen. Vorher mal alles was so heissen kann löschen.

    Und glaube mir, ich habe schon Pferde kotzen sehen vor der Apotheke.
    Und dass die Kiste sowas macht... ist wirklich sehr sehr unwahrscheinlich.
    Da steckt garantiert nen (handgemachter) Grund dahinter...

    Was nun?

    kuempi

    Anmerkung:
    Wenn nichts mehr geht, treten IMMER die drei Regeln in Kraft:
    1) Don't trust (Damit ist der User und die allgemeinen Umstände gemeint)
    2)Keep cool
    3) Safety first

    PPS
    Ich wette um nen Freidrink Du hast da nen Fehler irgendwo und es liegt NICHT an der Kiste...

    Top die Wette gilt

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Dann prüfe deine LF mal auf SELECT/OMIT-Einträge, ich denke da wird dann was ausgefiltert.

    Ausserdem behauptest du nun, dass die PF mehr Daten als die LF enthält.

    Schau doch noch mal per DSPFD deine LF nach, auf welche PF diese verweist.

    Desweiteren handelt es sich ja wohl um Brain-XPPS, das nun mal einige Lib's verwendet (RHMOD_20, USMOD_20, usw.).

    Mach mal einen WRKF LGBS99, ggf. gibts da mehrere !

    Und dann qualifiziere deinen SQL mal mit

    select * from mylib/lgbs99 ...
    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
    Aug 2001
    Beiträge
    2.928
    ... und um noch einen drauf zusetzen!

    Wenn eine logische Datei in einem SQL-Statement angegeben wird, ist noch lange nicht gesagt, dass diese logische Datei auch verwendet wird.

    Vielmehr wird vom Query Optimizer das DDS der logischen Datei analysiert, die Feldauswahlen, die Join-Anweisungen und Select/Omit-Anweisungen aus dem DDS entnommen. Anschließend wird das SQL-Statement mit diesen Informationen basierend auf den physischen Dateien neu geschrieben. Erst dann beginnt die eigentliche Optimierung. Zu diesem Zeitpunkt ist aber aus dem SQL-Statement nicht mehr ersichtlich, dass ursprünglich eine logische Datei angegeben war.

    Eventuell wird bei dem angegebenen SQL-Statement sogar die physische Datei direkt verarbeitet und nicht die angegebene logische!

    Dass SQL bei der Verwendung der logischen Datei ein anderes Ergebnis liefert, lässt, wie Baldur bereits vermutet hat, darauf schließen, dass durch SELECT/OMIT-Anweisungen Sätze ausgeschlossen werden.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. Query: logische Datei wird nicht verwendet
    By RolfSalzer in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 28-10-05, 14:27
  2. Sortierung Logische Datei
    By Stefan12 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 12-05-05, 14:57
  3. Dynamische Logische Datei
    By dd3tj in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 20-01-05, 14:55
  4. Logische Datei mit Gruppierungen
    By THK in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 15-12-04, 07:40
  5. Berechtigung physische versus logische Datei
    By Andreas Huyer in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-01-02, 07:15

Berechtigungen

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