|
Scott:
I am not sure why it sorted like that either. If I have some time I will
modify my program back to using sorta & see if I get the same results.
Steve Jones
Scott Klement <rpg400-l@xxxxxxxxxxxxxxxx>
Sent by: rpg400-l-bounces+sjones=hpproducts.net@xxxxxxxxxxxx
10/18/2005 01:15 PM
Please respond to
RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx>
To
RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx>
cc
Subject
Re: Sorting an array w/multiple fields
> I used what Alan Shore replied with except i used overlay (field:*Next)
> instead of specifying the starting pos
I thought you were using an array of data structures? Didn't you say
that, or did I dream it? Must be the latter. SORTA is very easy to use on
an "overlay array", as Alan pointed out.
I don't understand why that would yield the results that you posted,
though! I tested your claim by running the following code:
D ds
D myArray dim(7)
D Field1 5 overlay(myArray:*NEXT)
D Field2 5s 0 overlay(myArray:*NEXT)
D Field3 5 overlay(myArray:*NEXT)
D x s 10I 0
/free
Field2(1) = 6;
Field2(2) = 0;
Field2(3) = -4;
Field2(4) = 4;
Field2(5) = -2;
Field2(6) = 1;
Field2(7) = -7;
sorta Field2;
for x = 1 to %elem(field2);
dsply ( %char(x) + ': ' + %char(Field2(x)) );
endfor;
*inlr = *on;
/end-free
When I run this, it gives me -7,-4,-2,0,1,4,6, as you'd expect. But when
you posted your results, the negative numbers weren't in the right order.
So, why does mine work, and yours not?
Maybe a PTF issue?
As an Amazon Associate we earn from qualifying purchases.
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.