Thanks John - this concept worked great and was simple to understand and read. Very nice and much appreciated!
Here it is in COBOL - seems to work well:
77 i pic S99.
77 B4 VALUE '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' PIC X(36).
77 AF VALUE '1234567890BCDEFGHIJKLMNOPQRSTUVWXYZ0' PIC X(36).
* start at the rightmost digit and proceed towards the left
perform varying i from 4 by -1 until i < 1
* step single character to next value in array, for example
* change "X" to "Y", or change "3" to "4"
INSPECT P-ID (i) CONVERTING B4 TO AF
* if an overflow condition occurred (ie 1239 overflowed to 123A)
* then loop around and do same process one char to left
if P-ID (i) = 'A'
* done, exit program
move 0 to i
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of John Yeung
Sent: Friday, December 04, 2015 5:23 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: Re: How to find next number for an alphanum field? Any good and simple tricks?
On Fri, Dec 4, 2015 at 5:38 PM, Stone, Joel <Joel.Stone@xxxxxxxxxx> wrote:
I have a length 4 alphanum field which I need to find the next value (incremented by one value).
To be precise, you need to say what all the possible values are for a
given byte. (For example, maybe you can use any of the 256 binary
values. Or maybe you can use anything printable. Or maybe just upper-
and lowercase characters, plus digits.) Your examples suggest that you
are working with uppercase letters and the ten decimal digits, for a
total of 36 possible values.
And my shop would like it done in COBOL, but any algorithm will suffice.
Maybe use a base 36 table???
You certainly could. Your problem is essentially the same as one
raised in this mailing list in June 2015 by Gad Miron. The thread
You could also search for "The case of outnumbered numerator". Gad
eventually wound up adapting the code provided by Sam L later in that