|
I didn't reply because I figured you knew how to write a 3-line loop and were looking for a shortcut.
for x = 1 to %elem(ACD);
ACD(x).Codes = Codes(x);
endfor;
Or if you must code another data structure... at least use LIKEDS instead of coding it twice.
On 6/1/22 9:22 PM, mlazarus wrote:
Hi Mark,
Thanks for the offer, but since none of the list gurus jumped on it quick enough, I decided to take a slightly different approach.
D ACD ds Dim( 25 ) Qualified
D CodesSeq Like( SA.CODESSEQ ) Inz
D Codes Like( SA.CODES )
I removed this code:
D Codes s Like( SA.CODES )
D Dim( 25 )
I added this code:
D SAV ds Dim( 25 ) Qualified
D CodesSeq Like( SA.CODESSEQ ) Inz
D Codes Like( SA.CODES )
Eval-Corr ACD = SAV ;
So instead of loading the initial data into Codes I loaded it into SAV.Codes. Minor change in the program and now I am easily able to do what I want. It seems to me like a major oversight in the implementation of qualified DS arrays.
-mark
On 6/1/2022 6:30 PM, Barbara Morris wrote:
On 2022-05-31 4:47 p.m., mlazarus wrote:
For some reason the syntax to assign a regular array to a qualified array is eluding me.Unfortunately, RPG doesn't have any syntax for that.
D ACD ds Dim( 25 ) Qualified
D CodesSeq Like( SA.CODESSEQ ) Inz
D Codes Like( SA.CODES )
D Codes s Like( SA.CODES )
D Dim( 25 )
I would like to take Codes array and assign it ACD.Codes.
The compiler doesn't like any of these:
ACD.Codes = Codes ;
ACD(*).Codes = Codes ;
ACD(*).Codes(*) = Codes ;
ACD.Codes(*) = Codes ;
RPG does support treating a DS-array-subfield as an array in a few places:
SORTA ACD(*).codes;
p = %lookup('x' : ACD(*).codes);
But the DS(*).SUBF syntax is not supported in general where an array is expected.
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.