|
I have a program that contains a data structure and a pointer defined as: d FeatTypeDS ds Qualified d dsFeat 3 dim(1000) d dsType 2 dim(1000) d PointerToDS s * I set the pointer by using: PointerToDS = %ADDR( FeatTypeDS ) I have a procedure called ErrorsInDS in a service program that accepts a pointer as a parameter and returns a Boolean. I get to the procedure by using... If ErrorsInDS( PointerToDS ); In the service program I have the procedure interface defined as p ErrorsInDS pi n PointerPassedIn * I also have a data structure in the procedure defined as d FeatTypeDS ds Qualified Based(PointerPassedIn) d dsFeat 3 dim(1000) d dsType 2 dim(1000) I'm trying to manipulate the data within the DS from my service program without duplicating the contents of the data structure and without actually passing the data. I figured the DS in the service program would be exactly as the DS in the calling program but it's not. The memory address leaving the program, PointerToDS, and entering the service program, PointerPassedIn, is exactly the same but the contents of the DS in the service program is not the same as the DS in the program. The program has valid data. The DS is the service program contains all asterisks. Any ideas what I'm doing wrong? Thanks, S. Ellsberry
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.