I think this will do it. Not tested. This is assuming the non-blank data is already sorted, just that there are blank elements mixed in.
Clear x;
For i = 1 to %elem( Line )
If Line(i) <> *blanks;
X += 1;
Line(x) = Line(i);
Clear Line(i);
EndIf;
EndFor;
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Alan Shore
Sent: Tuesday, April 26, 2011 1:21 PM
To: 'rpg400-l@xxxxxxxxxxxx'
Subject: Filling an array from the first occurrence on down
Hi everyone
I'm having one of those days where no matter what I do, I just cannot get my head around what should be a simple problem Hopefully someone is kind enough to provide an answer I have an array
D LINE S 30 DIM(6)
Data can be in any combination of the occurrences (or none at all) I need to create logic so that data is moved down to fill in from the first, through the second, then third etc., until the only blanks are in the trailing occurrences
Hopefully I explained it correctly, here is an example
1
2 data 1
3
4
5 data here
6 f=data 2
Becomes
1 data 1
2 data here
3 f=data 2
4
5
6
NOTE - I don't want the information sorted, just moved up As always, any and all responses gratefully appreciated
Alan Shore
Programmer/Analyst, Direct Response
E:AShore@xxxxxxxx
P:(631) 200-5019
C:(631) 880-8640
"If you're going through Hell, keep going" - Winston Churchill
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.