PDA

View Full Version : Logische Datei



dd3tj
18-01-08, 13:51
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

Fuerchau
18-01-08, 14:51
Hat die PF ggf. mehrere Teildateien ?

Dann gib beim CRTLF ... DTAMBRS(*FIRST) an, default ist *ALL !

dd3tj
18-01-08, 17:06
Nein die PF hat nur ein Member

B.Hauser
18-01-08, 18:58
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

dd3tj
19-01-08, 16:33
Ja ich bin sicher das die Logische Datei auf der richtige Datei verweist und nein die physiche Datei gibt es nur ein mal

Fuerchau
21-01-08, 12:38
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 ?

dd3tj
21-01-08, 15:34
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

kuempi von stein
21-01-08, 15:54
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

Fuerchau
21-01-08, 18:59
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 ...

B.Hauser
21-01-08, 19:36
... 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