/Copy member issue

Hi Experts,

In a RPG program I use /COPY with qualified names and unqualified names.
e.g.
/Copy MyFile1.rpgleinc
/Copy MyFile2.rpgleinc
/Copy /Standard/Version9/Rel5/gplcalc.rpgleinc

Using the CRTRPGMOD parameter INCDIR('/Home/user/myPrograms/includes'), it will find the right include-files and the module is created without errors.
When I try to create a program from the module I get the following error:

Message-ID . . . . . . :   CPD5D02      
                                                                             
Message . . . . :   Definition not found for symbol   'getSubSetCustomer'                        

Cause . . . . . :   No definition was found for reference                    
  getSubSetCustomer in *MODULE object MyProg2 in library MYLIB.
  The definition either does not exist or is not of the same data or procedure
  type as the reference.                                                      
Recovery  . . . :   Try the Create Program (CRTPGM) command again, supplying  
  an object that contains a definition for symbol  getSubSetCustomer


Without the INCDIR() and full qualified names, the program is working.

Because of copy/move and maintenance, I prefer to use the unqualified name for most of the include files, is that possible?
LVL 17
Theo KouwenhovenApplication ConsultantAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Gary PattersonVP Technology / Senior Consultant Commented:
/COPY rules are complicated, and documented here:

https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/rzasc/copyifspath.htm

Most likely the compiler is finding a source file with the right name in a directory that you don't expect.  Look at the listing, it shows where it found the file.

When you search for a relative path (no leading slash) this is the search order:

Current directory
INCDIR command parm
RPGINCDIR environment variable paths
The source directory of the main source
Plus iN qsys: *LIBL/qrpglesrc.[FILENAME]

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
RPG

From novice to tech pro — start learning today.