In the sample, if you try to refactor the st_mtime variable to FileStats.st_mtime on the C-spec, it won't let you. It tells you it's an invalid name.
-----Original Message-----
From: Edmund Reinhardt [mailto:edmund.reinhardt@xxxxxxxxxx]
Sent: Wednesday, January 04, 2017 8:58 AM
To: Rational Developer for IBM i / Websphere Development Studio Client for System i & iSeries <wdsci-l@xxxxxxxxxxxx>
Subject: Re: [WDSCI-L] Refactor & Qualified DS
Hi Justin
I think I understand what is going on.
In the source code as it stands both references to the subfield refer to the statds DS so of course that works. But I think you intended the line to be
st_mtime = FileStats.st_mtime;
and in that case, it still works and renames the subfield in statds.
The real clue comes from the fact that statds was originally declared in a /INCLUDE
Refactoring does not currently process /INCLUDE and /COPY files. At this point the refactoring has to be redone in every file. The challenge in your example is, because the refactoring doesn't see the /include, it has no idea that st_mtime is a subfield in the data structure referenced in the LIKEDS. It just sees it as another dangling reference without a definition.
This limitation is one of my next priorities but of course an RFE is always helpful because I have many "next priorities".
Regards,
Edmund (E.H.)
Reinhardt
Technical Architect for Rational Developer for i
Phone: 1-905-413-3125 | Home: IBM
1-905-854-6195
E-mail: edmund.reinhardt@xxxxxxxxxx 8200 Warden Ave
RDi Community: ibm.biz/rdi_hub Markham, ON L6G 1C7
Find me on: LinkedIn: Canada
http://ca.linkedin.com/in/edmundreinhardt/
As an Amazon Associate we earn from qualifying purchases.