Anmelden

View Full Version : OVRDBF und OPNQRYF



Spoldo
18-07-05, 09:51
Hallo, kann jemand meinen Code so korrigieren, daß er klappt?
Aus irgendeinem Grund öffnet das ILE-Programm nicht die Qryfile sondern die ursprüngliche PF. Wieso ?



OVRDBF FILE(BMPRDMNG) TOFILE(BMPRDMNG) +
OVRSCOPE(*JOB) SHARE(*YES)
OPNQRYF FILE((BMPRDMNG)) OPTION(*ALL) QRYSLT('PRMLD *EQ 0') +
KEYFLD((PRZSB))


Mit hat schon mal jemand gesagt, daß nur ein RPG-Programm auf einen Override reagiert, aber nicht ein ILE. Stimmt das ?

Fuerchau
18-07-05, 10:05
Das stimmt nicht !
Wenn der OVRDBF für normale Open (auch SQL) von der gleichen oder höhreren Programmebene aufgerufen wird, wirkt er auch.

OPNQRYF geht nicht, da der Dateiname fix vorgegeben wird. Gib für OPNQRYF den Dateinamen in einer Variablen an.

Spoldo
18-07-05, 10:36
Danke für die schnelle Antwort. Leider geht's noch nicht. Ich habe den
Dateinamen nun in eine Variable geschrieben. Hat noch keine Wirkung gezeigt.
Die Datei, die ich per OPNQRYF öffne, verwende ich im RPGLE als :


FBMPRDMNG UP E K DISK

Ich habe das ganze schon mal in..


FBMPRDMNG IP E K DISK

..geändert, da ich mir vortsellen könnte, daß man eine Qryfile nicht updaten kann.
Auch hier hat sich nix geändert.

Wenn ich das ILE-Program debugge, werden immer alle Sätze der PF-Datei berücksichtigt, aber nicht die Qryfile.

Fuerchau
18-07-05, 10:46
Das "K" für Schlüsselzugriff ist das Problem !
Eine OPNQRYF kann ich nicht mit Schlüssel verarbeiten sondern nur Sequentiell (Sortierung im OPNQRYF angeben).

Spoldo
18-07-05, 12:59
...geht leider immer noch nicht.
Ist aber auch egal, da ich die zu Grunde liegende Datei updaten will, was mit einer
Qryfile ja eh nicht geht. Deshalb gehe ich jetzt den Weg einer Lf.
Totzdem Danke.