Alan,
It does work. The sixth element does not remain. You don't need to test the last element. You just need to test the previous entries and shift the array down if they are blank. The last element is set to blank as part of the assignment because you're assigning a smaller array to a larger array.
Paul Morgan
Principal Programmer Analyst
IT Supply Chain/Replenishment
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Alan Shore
Sent: Wednesday, April 27, 2011 5:06 PM
To: RPG programming on the IBM i / System i
Subject: RE: Filling an array from the first occurrence on down
Thanks for the reply, but I don't think that this logic would work for the following scenario
1 line A
2
3 line B
4
5 line X
6 line E
The 6th occurrence would remain , when the end result that is wanted is
1 line A
2 line B
3 line X
4 line E
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
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Morgan, Paul
Sent: Wednesday, April 27, 2011 4:27 PM
To: RPG programming on the IBM i / System i
Subject: RE: Filling an array from the first occurrence on down
How about:
For X = %Elem( Line ) - 1 downto 1;
If Line( X ) = *Blanks;
%SubArr( Line : X ) = %SubArr( Line : X + 1 );
EndIf;
EndFor;
Paul Morgan
Principal Programmer Analyst
IT Supply Chain/Replenishment
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Alan Shore
Sent: Tuesday, April 26, 2011 2: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.