|
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-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.