× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



"We can solve any problem by introducing an extra level of indirection."
- David J. Wheeler

Simply move the variable into it's own /COPY file...

At the top do
**free
/if define (MY_VARIABLE)
/EOF
/ENDIF
/DEFINE MY_VARIABLE

dcl-s myVariable char(10);


Now just /COPY the new file into each of the existing /COPY files...

Tada, the variable will only be defined in once in your program. (And
anybody else's that needs both includes)

Best practice is not to define actual variables or DS in a copy file,
instead they should be TEMPLATES and with a name that's unlikely to be used
for an actual variable/DS...I add _t suffix.

HTH,
Charles




On Thu, Jul 18, 2019 at 7:35 PM Kerwin Crawford via RPG400-L <
rpg400-l@xxxxxxxxxxxxxxxxxx> wrote:

I have a program that has a /copy to include definitions for a bunch of
data structures and fields.
I need to include another /copy to include some other definitions for
another function.
Both of these /copy have a field defined. They are defined the same
char(10).
When I compile I get 'RNF3316 The item has already been defined on a
Definition Specification; specification is ignored.'
But if you look at the listing 'Compilation stopped. Severity 30 errors
found in program.'
I looked at changing the GENLVL on the compile option but 20 is as high as
you can go.
I cannot change the either /copy easily.

Do you know of any ways to get the program to compile?

Leaning towards changing one of the /copy files. Bummer.

TIA

Kerwin Crawford

--
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@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com


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.