James,
Sorry, but for a primary file (IPE) there is no "reactive" process within the RPG program. One cannot specify USROPN on primary (or secondary) files because they are always opened by the program. It has been this way since RPG I and remains that way in RPG IV. The CHKOBJ solution that Jim gave you is probably the best one. If the program, for some reason, must run anyway, you could, of course, build an empty file object if it doesn't exist.
Jerry C. Adams
IBM System i Programmer/Analyst
B&W Wholesale
office: 615-995-7024
email: jerry@xxxxxxxxxxxxxxx
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of James Lampert
Sent: Wednesday, August 13, 2008 5:57 PM
To: RPG programming on the AS400 / iSeries
Subject: Re: Quick primary file question for a fellow "Cycle-rider"
Jim Franz wrote:
and why not a chkobj in the clp? (or // if dataf1 in ocl)?
and not call the pgm.
Thanks.
Actually, on closer examination, I saw that this was exactly what the
old version of the program was doing. And I generally prefer the
"proactive" approach anyway, rather than the "reactive" one. (I've been
known to scream at Java specialists for using a try/catch to handle
exceptions they could easily prevent.)
The program in question is indeed normally called from a CLP, riding
through 25 different files via an OVRDBF (or at least, through those
that exist from among the 25, which may vary).
Still, out of morbid curiosity, I wouldn't mind knowing a "reactive"
strategy that would work on a nonexistent primary file.
--
James H. H. Lampert
Touchtone Corporation
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.