× 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.




Barbara explained to me that INDDS does not alias with the *IN() and *INnn
variables because they use separate memory.
Using INDDS allows your I/O on a particular record to be isolated from all
of the other indicator manipulation. This makes my example below a poor
one since 'invokeHelp' and *IN01 are NOT aliases.




From: "Mark Murphy/STAR BASE Consulting Inc."
<mmurphy@xxxxxxxxxxxxxxx>
To: Rational Developer for IBM i / Websphere Development Studio
Client for System i & iSeries <wdsci-l@xxxxxxxxxxxx>
Date: 12/04/2016 02:29 PM
Subject: Re: [WDSCI-L] Poll of users of live ILE RPG outline view
Sent by: "WDSCI-L" <wdsci-l-bounces@xxxxxxxxxxxx>



Why not? I can look at that code snippet and determine quite easily that
the data structure overlays *IN. The outline uses a parser that is
intelligent enough to know that myInds is a data structure based on p, and
that p is a pointer. It is a short step to know that p overlays *IN, that's
what %addr(*IN) means. Certainly the parser can figure that out. The other
way you can have aliasing is through the INDDS keyword on print and display
files. That should be even easier for the outline to figure out.

Mark Murphy
STAR BASE Consulting, Inc.
mmurphy@xxxxxxxxxxxxxxx


-----Barbara Morris <bmorris@xxxxxxxxxx> wrote: -----
To: wdsci-l@xxxxxxxxxxxx
From: Barbara Morris <bmorris@xxxxxxxxxx>
Date: 04/12/2016 01:39PM
Subject: Re: [WDSCI-L] Poll of users of live ILE RPG outline view


On 4/11/2016 1:59 PM, Edmund Reinhardt wrote:

i) When they edit code with numeric indicators they would like to see
- all of the uses of the same indicator whether it is reference by number
or name
...
We could show the following in the indicators section - all pre-defined
indicators sorted alphabetically and all aliases shown on the line that
is
referencing it
- Indicators
- 01
3 - invokeHelp
6 - *IN(01)
8 - *IN01
9 - invokeHelp
-03
4 - exitNow


It's not possible for the outline view to show the "invokeHelp" and
"exitNow" aliasing for *IN01 and *IN03.

The only way a data structure can share the same storage as *IN is if
the DS is based on a pointer, and that pointer is set to %ADDR(*IN). But
the compiler only supports a variable as the parameter for the BASED
keyword. You have to code like the following to have a data structure
share the same storage as *IN.

dcl-ds myInds based(p);
invokeHelp pos(1);
exitNow ind pos(3);
end-ds;
dcl-s p pointer inz(%addr(*in));

So there's no way for the outline view to know that the data structure
overlays *IN.

--
Barbara

--
This is the Rational Developer for IBM i / Websphere Development Studio
Client for System i & iSeries (WDSCI-L) mailing list
To post a message email: WDSCI-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/wdsci-l
or email: WDSCI-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/wdsci-l.
--
This is the Rational Developer for IBM i / Websphere Development Studio
Client for System i & iSeries (WDSCI-L) mailing list
To post a message email: WDSCI-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/wdsci-l
or email: WDSCI-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/wdsci-l.



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.