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



On 11/19/10 8:17 AM, Bryce Martin wrote:
I won't go into a lot of details behind this, I have a very specific
question....

The following DataStructure
D MasterList_T...
D DS qualified based(TEMPLATE)
D Line...
D 3s 0
D Item...
D 15a
D Quantity...
D 11s 3
D LeadTimeDate...
D 8s 0

When I do a %size(MasterList_T) I get 37 bytes. When I do
%size(TEMPLATE) I get 16. Makes sense, its how big the memory address
is. No problem. My question, is it possible to get the size of
MasterList_T from its basing pointer? Is there a bif or something
that will let me get it?


If the language somehow limited that basing pointer to be associated only with that DS\storage, then enabling a size lookup via the pointer might make sense. However since the language allows that pointer to address effectively any storage, perhaps even basing many other unrelated DS, there is surely no means provided by the RPG to obtain the size of the structure from the basing pointer.

One manner to implement the effect of getting the size via the pointer would have the size stored as a value as part of the definition of the structure. FWiW that is a common implementation for storage layouts in API return data, where the first scalar value in the structured storage is the size of the data; e.g. a "bytes returned" value. But obviously in that setup, using the %size on the DS would generally be the means to set the value. Of course the %size can be part of the run-time setup immediately after setting the pointer to the allocated storage; perhaps making that implementation seem to have some benefit.?

Regards, Chuck

As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.