*———————————————————————*
* Report Name : YGECICI
*———————————————————————*
* Author : Mehmet Avşar
* Location : @Altunizade - Uskudar / Istanbul
* Date / Time : 29 Oct 2007
* Subject : Alpha Numeric Number Range Auto Increment
*———————————————————————*

REPORT YGECICI MESSAGE-ID 00
No Standard Page Heading
Line-Size 200
Line-Count 65.

DATA: l_seq(36) type c Value '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',
l_pointer type i,
g_counter(4) type c.

g_counter = '9ZZZ'.

if g_counter+3(1) = 'Z'.
g_counter+3(1) = '0'.
if g_counter+2(1) = 'Z'.
g_counter+2(1) = '0'.
if g_counter+1(1) = 'Z'.
g_counter+1(1) = '0'.
if g_counter+0(1) = 'Z'.
g_counter+0(1) = '0'.
else.
perform counter_change changing g_counter+0(1).
endif.
else.
perform counter_change changing g_counter+1(1).
endif.
else.
perform counter_change changing g_counter+2(1).
endif.
else.
perform counter_change changing g_counter+3(1).
endif.

write / g_counter.

FORM counter_change CHANGING p_counter.
search l_seq for p_counter.
l_pointer = sy-fdpos + 1.
P_counter = l_seq+l_pointer(1).
ENDFORM.