For Opnqryf you don't have to specify the file as keyed, it comes in the
correct order. I've never seen where you CHAIN or READE to a file that's
opened. Use the OPNQRYF to do your order and selection and just read the
file.

Remove the key from the Fspec, does the program fail to compile?

Art

On Thu, Nov 21, 2024 at 9:53 AM Daniel Gross <daniel@xxxxxxxx> wrote:

You don't have to do it all at once - simply program by program.

Sooner or later you would have to modernize anyway - so why not start with
"killing OPNQRYF one program after another".



Von meinem iPhone gesendet
Am 21.11.2024 um 15:45 schrieb liam henderson <liamhenderson12@xxxxxxxxx
:

Nice idea, but we have 400+ programs to compile plus other changes to
make.
Tempus fugit.

On Thu, 21 Nov 2024 at 14:40, Daniel Gross <daniel@xxxxxxxx> wrote:

I would modernize that program and simply use SQL to do that job.

Everything with OVRDBF and OPNQRYF is implicitly unstable in regards to
building the application.

Using SQL and explicitly stating the table columns (fields) or using an
externally described data structure frees you from being dependent on
overrides and run time "query magic".

And - you most probably get an performance boost too, because SQL access
paths are cached by the SQE and partly in the program objects on compile
time or first run.

HTH and kind regards,
Daniel


Am 21.11.2024 um 15:33 schrieb Jim Oberholtzer <
midrangel@xxxxxxxxxxxxxxxxx>:

On that ONE FILE turn off level check?

There was a time when designers loved OPNQRYF because it gave the SQL
capability without having to do imbedded SQL.




Jim Oberholtzer
Agile Technology Architects

On Nov 21, 2024, at 8:10 AM, liam henderson <
liamhenderson12@xxxxxxxxx>
wrote:

I was thinking that, but the base file is LVLCHK(*YES) and when I
create a
new file with the same name but specifying keys it has a different
record
format level ID



On Thu, 21 Nov 2024 at 13:44, Paul Therrien via RPG400-L <
rpg400-l@xxxxxxxxxxxxxxxxxx> wrote:

Perhaps someone created a temporary file to mimic the OPNQRYF just to
get
the program to compile originally?

-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of
liam
henderson
Sent: Thursday, November 21, 2024 8:41 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Compiling RPGLE using non-keyed file that's using OPNQRYF to
specify key fields

Hi, I'm a bit stumped with this one
There's a third party application on our system and we run a process
over
one of their files that's not keyed.
We have a CL that does an OVRDBF and OPNQRYF specifying key fields,
We
then call an RPGLE to process.
The base file has changed so we need to recompile the RPGLE I keep
getting
the following:

Msg id Sv Statement Message text

*RNF7081 30 013500 The File operation is not valid; there are
no
common key
fields. The specification is ignored.

I've tried performing the OVRDBF and OPNQRYF scoped to *JOB and
compiling
interactively but its having none of it.

Had a search and found a page on Code400 stating this is not
possible.
Just confused as to how this program has been running daily for
twenty
years.
Debugged the live program and it's the same and does not report any
issues
Any help on how I can get it compiled would be greatly appreciated

Regards.
Liam
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post
a
message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe,
or
change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.

--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.


--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.


--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.