|
> From: bmorris@ca.ibm.com > > If you're prior to V5R1 (you can do this in V5R1 too, if you like), > do it this way: > > P CX_GENERATE b > D pi > D bufferParm 2000A > > D buffer DS 2000 based(pBuffer) > D bufary 8A overlay(buffer:1) dim(250) > D bufwmk 16A overlay(buffer:1) > > C eval pBuffer = %addr(bufferParm) > ... now you just use bufAry and bufwmk as usual Barbara, Eric, Joel, thanks. The pointer will work just fine for now (I'm at V4R5, so no "advanced" techniques for me just yet <grin>). On the other hand, it would be nice to be able to identify in your procedure parameter list the fact that a variable is local: > P CX_GENERATE b > D pi > D buffer LOCAL > > D buffer DS 2000 > D bufary 8A overlay(buffer:1) dim(250) > D bufwmk 16A overlay(buffer:1) This way, I could define whatever I want in my D-specs internally, and simply refer to it on the parameter list. The only thing the caller needs to know is the overall length of the parameter. Then again, I suppose this is a fairly special purpose sort of thing; how often will the caller not know the internal definition of the parameter? If you REALLY want to hide the internals of the parameter, just use a pointer and have methods that allocate and free the space dynamically. Joe
As an Amazon Associate we earn from qualifying purchases.
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.