PDA

View Full Version : Suche über mehrere Dateien mit opnqryf



programmer
31-05-04, 10:45
Habe auf folgende Art verknüpfte Files:
---------------------------------------------------------
A R ASTZPF1 TEXT('ARTIKELSTAMM')
A PFILE(ASTZ)
A K ASNLN
A K ASSNA
A K ASANR
A*
A R ASTYPF1 TEXT('BEZEICHNUNGEN')
A PFILE(ASTY)
A K ASNLN
A K ASSNA
A K ASANR
A*
A R ASTUPF1 TEXT('BEZEICHNUNGEN')
A PFILE(ASTU)
A K ASNLN
A K ASSNA
A K ASANR
----------------------------------------------------------

Ist es möglich, mit einem opnqryf und der wldcrd-funktion die Ergebnisse aus allen 3 Dateien zu bekommen?
Meine leihenhaften Versuche sind bisher fehlgeschlagen, da ich ja beim opnqryf ein Satzformat angeben muß und das System anscheinend nur aus diesem Satzformat (Datei) die Sätze selektiert.

Fuerchau
31-05-04, 18:29
Dies liegt in der Natur von SQL (OpnQryF basiert auf SQL). Ich kann immer nur ein Format der Auswahl erhalten.

In native SQL (QM-Query: STRQM) gibt es noch den:
select .....
union
select .....

Der könnte dein Problem lösen. OPNQRYF und QRY können dies nicht !

Alexander
01-06-04, 10:44
Du kannst alles hier http://publib.boulder.ibm.com/iseries/v5r1/ic2924/info/cl/opnqryf.htm
finden.

Alles Gutes!

programmer
01-06-04, 10:48
Du kannst alles hier http://publib.boulder.ibm.com/iseries/v5r1/ic2924/info/cl/opnqryf.htm
finden.

Alles Gutes!


Danke für den Hinweis, aber diese Seite ist mir eh bekannt. Ich habe meine Frage ja ins Forum gestellt, weil ich nicht 100.e Seiten durchschmöckern will, sondern eben gerne Tipps von Experten hätte.

Alexander
01-06-04, 11:04
Danke für den Hinweis, aber diese Seite ist mir eh bekannt. Ich habe meine Frage ja ins Forum gestellt, weil ich nicht 100.e Seiten durchschmöckern will, sondern eben gerne Tipps von Experten hätte.

Nicht gute Idee.
Besser einmals sehen, als hundert mals hoeren.

Na, gut:

OPNQRYF FILE((File1) (File2) (File3)) FORMAT(ASTZ ASTZPF1)) JFLD((file1/ASNLN file2/ASNLN file3/ASNLN *EQ))

programmer
01-06-04, 11:27
Nicht gute Idee.
Besser einmals sehen, als hundert mals hoeren.

Na, gut:

OPNQRYF FILE((File1) (File2) (File3)) FORMAT(ASTZ ASTZPF1)) JFLD((file1/ASNLN file2/ASNLN file3/ASNLN *EQ))
Habe ich so schon versucht, er listet mir aber nur die Sätze auch, die mit dem Suchkriterium in der ersten Datei übereinstimmen.

Fuerchau
01-06-04, 11:34
Auch dies ist ggf. nicht das gewünschte Ergebnis !
Der OPNQRYF verknüpft die Daten verschiedener Dateien/Teildatein/Satzformate zu einem JOIN, ich bekomme also als Ergebnis nicht mehrere Formate.

Am besten ist es, den "Join" direkt über die originären PF-Dateien zu gestalten.

Alexander
01-06-04, 11:55
Habe ich so schon versucht, er listet mir aber nur die Sätze auch, die mit dem Suchkriterium in der ersten Datei übereinstimmen.

nochmals:
OPNQRYF FILE((File1) (File2) (File3)) FORMAT(ASTZ ASTZPF1)) QRYSLT('file2/ASNLN='XXXXX'') JFLD((file1/ASNLN file2/ASNLN file3/ASNLN *EQ))

Die roten Streichen sind wichtig.