PDA

View Full Version : OPNQRYF mit gleichen Dateien



olafu
25-04-05, 14:52
Hallo,
ich habe ein Problem beim Verknüpfen ein Datei mit sich selbst.
In meinen RPG Pgm benutze ich den Befehl Opnqryf um eine Datei mit sich selbst zu Verknüpfen. Der Befehl wird auch ordnungsgemäß ausgeführt. Es werden auch Sätze ausgewäht aber beim einlesen der Datei über READ sind die Feldwerte nich gefüllt.

Bsp.:
OPNQRYF FILE((ABKOPF) (ABKOPF))
FORMAT(ABKOPFQRY)
MAPFLD(
(FIRMA_1 '1/FIRMA ')
(ABNR_1 '1/ABNR ')
(FIRMA_2 '2/FIRMA ')
(ABNR_2 '2/ABNR '))

JFLD((1/ABNR 2/ABNR *EQ))
OPTION(*INP)
QRYSLT('(FIRMA_1 *EQ "001") *AND (FIRMA_2 *EQ "002") *AND (ABNR_1 *EQ "4711")

Fuerchau
25-04-05, 15:01
Das RPG-Programm referiert auf ein Format beim READ dass du aber beim OPNQRYF umbenennst.
Daher kann auch kein Satz gelesen werden.
Zusätzlich darfst du beim OPNQRYF nur Felder auswählen, die das RPG-Programm in der definiersten Struktur der Datei verarbeiten kann, mit anderen Worten, der OPNQRYF darf zwar Sätze auswählen aber kein neues Format erstellen.

Alternative für das RPG:
Mittels CPYFRMQRYF eine neue Datei erstellen, die genau dem OPNQRYF-Format entspricht und diese dann im RPG verwenden.

Oder:
Erstelle eine LF die genau deinen Bedingungen entspricht und verwende diese im RPG.

Oder löse das ganze per SQL.

olafu
26-04-05, 08:57
Hallo Fuerchau

da ich eine sehr variable Anwendung erstelle ist die beste Lösung eine eigene JOIN mit anschließendem OPNQRYF. Besten Dank für den Lösungsansatz.