This is a link to what you need for scan:
https://www.ibm.com/support/knowledgecenter/SSAE4W_9.6.0/com.ibm.etools.iseries.langref.doc/evferlsh331.htm#HDRZZSCAN
You will need a field to keep track of the previous successful scan plus one to use for a starting position for the next scan otherwise, the scan will always start with one. (S in example below)
You can run a FOR loop, indexing your KEYWORDS array with the scan within. (X in example below) Drop out of the loop when you reach the 250th array index.
C ',':1 SCAN TEXTLINE:S KEYWORDS(X)
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of Patrik Schindler
Sent: Saturday, August 22, 2020 10:18 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: How to work with Arrays using positional RPG IV
Hello,
information regarding traditional, positional RPG are getting scarce in the net. So I opt to ask the community. Maybe some can remember how to program positional? :-)
I'm parsing a file with 9 different types of line content. One of them contains words or phrases, separated by comma. Different amounts of comma, different length of strings.
I learned that I can get an array of comma positions with:
C ',':1 SCAN TEXTLINE KEYWORDS
TEXTLINE contains the input string (comma separated keywords/phrases). KEYWORDS should receive the comma positions from SCAN:
DKEYWORDS S 2S 0 DIM(250)
How to do I actually do this loop, the equivalent of a for-loop iterating through each entry of the array? How can I know how many elements are actually used in the hard coded, predefined limit of 250 elements, to stop processing after all elements are processed? And, how to reset the array to empty before the next line containing keywords is to be processed? I never worked with array in RPG IV.
Unfortunately, the ILE Reference PDF isn't that much helpful regarding my questions.
Pointers to statements or documentations are very welcome!
:wq! PoC
PGP-Key: DDD3 4ABF 6413 38DE -
https://www.pocnet.net/poc-key.asc
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.