|
DAsmussen@aol.com wrote:
>
> Hey Folks,
>
> Here's an interesting exercise! I'd swear that I've seen this done in RPG
> many moons ago, but the only practical example I can recall is from a long
> dead platform using an equally long dead version of BASIC. Say you have a
> three character alpha field that needs to be incremented progressively like a
> number (e.g., AAA, AAB, AAC...ABA, ABB, ABC...ZZX, ZZY, ZZZ). Any ideas on
> how this could be done in either RPG or RPGLE?
>
Hey Dean,
Here's yet another way of accomplishing the task:
D Field S 1a Dim( 3 )
D Len S 5u 0 Inz( %Size( Field: *All ))
D Idx S 5u 0
**
D Cur C ' ABCDEFGHIJKLMNOPQRSTUVWXYZ'
D Nxt C 'ABCDEFGHIJKLMNOPQRSTUVWXYZA'
**
C Eval Idx = Len
**
C Do Len
C Cur:Nxt Xlate Field(Idx) Field(Idx)
**
C If Field(Idx) <> 'A'
C Leave
**
C Else
C Eval Idx = Idx - 1
C EndIf
C EndDo
**
C Return
Both blanks and overflow ('ZZZ' + 1) gives the result 'AAA'
Best regards,
Carsten Flensburg
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
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.