×
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.
orderLine would be a unique reference to your structure and would be associated with your structure type (ORDER_LINE) and address.
You can then pass the reference around on your calls and if you need to know what is passed you would call:
type = Structure_getType( orderLine ); // or your local parameter reference in place of orderLine
This would put the value of ORDER_LINE into type.
You could then base your local DS on the structure address:
D LocalDS...
D DS qualified based(address)
D Line...
D 3s 0
D Item...
D 15a
D Quantity...
D 11s 3
D LeadTimeDate...
D 8s 0
D address...
D 8s 0
D type...
D 8s 0
So...
type = Structure_getType( orderLine);
if type = ORDER_LINE;
address = Structure_getAddress( orderLine );
endif;
Now your localDS has the address of the structure associated with the passed reference orderLine and you KNOW it is the correct structure type because you checked the type.
The beauty of this is that your procedure is passed an integer and your interface is future proofed if you create other structures. Your code is also type=-safe as you only populate address once you KNOW the passed structure is of type ORDER_LINE.
We use something similar (but much more sophisticated) and emulate something akin to object references in RPG. With each index representing the object reference, type, and instance variables. We have getters/setters for each data item too:
For us we never expose the address and we would access the data in the structure as follows:
We can do this because we have separate service programs that do this for all our business objects. We would create an OrderLine service program to hold your structure.
So it is possible to have type-aware structures in RPG but it takes a little work to set it up initially. It is well worth the effort, especially as everything is an integer reference and generic routines are truly generic!
Good luck, and have fun!
Cheers
Larry Ducie
As an Amazon Associate we earn from qualifying purchases.
This thread ...
Re: Trying to get the size of a Datastructure through the pointer? Possible? Not having good luck with it..., (continued)
This mailing list archive is Copyright 1997-2025 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.