?GetNextCA("AB8") && Increment Alpha-numeric ?GetNextCA("AB9") ?GetNextCN("0001") && Increment numeric ?GetNextCN("0009") ?GetNextCH("0009") && Increment hexa ?GetNextCH("009F") ******************************* * Increment Alpha-numeric *************************** PROCEDURE GetNextCA(lcID) IF EMPTY(lcID) lcID=CHR(47) ENDIF LOCAL lii,liy lcID=UPPER(lcID) FOR lii=LEN(lcID) TO 1 STEP -1 liy=ASC(SUBS(lcID,lii,1)) liy=IIF(liy=57,64,IIF(liy=90,47,liy)) lcID=LEFT(lcID,lii-1)+CHR(liy+1)+SUBS(lcID,lii+1) IF liy#47 EXIT ENDIF NEXT RETURN IIF(liy=47,CHR(49),"")+lcID ******************************* * Increment numeric ******************************************************************************* PROCEDURE GetNextCN(lcID) IF EMPTY(lcID) lcID=CHR(47) ENDIF LOCAL lii,liy FOR lii=LEN(lcID) TO 1 STEP -1 liy=IIF(SUBS(lcID,lii,1)="9" , 47, ASC(SUBS(lcID,lii,1))) lcID=LEFT(lcID,lii-1)+CHR(liy+1)+SUBS(lcID,lii+1) IF liy#47 EXIT ENDIF NEXT RETURN IIF(liy=47,CHR(49),"")+lcID ******************************* * Increment hexa ******************************************************************************* PROCEDURE GetNextCH(lcid) IF EMPTY(lcID) lcID=CHR(47) ENDIF LOCAL lii,liy lcID=UPPER(lcID) FOR lii=LEN(lcID) TO 1 STEP -1 liy=ASC(SUBS(lcID,lii,1)) liy=IIF(liy=57,64,IIF(liy=70,47,liy)) lcID=LEFT(lcID,lii-1)+CHR(liy+1)+SUBS(lcID,lii+1) IF liy#47 EXIT ENDIF NEXT RETURN IIF(liy=47,CHR(49),"")+lcIDMartiJ