CREATE TABLE table1 ; (sno n(3)) INSERT INTO table1 (sno) VALUES (9) INSERT INTO table1 (sno) VALUES (7) INSERT INTO table1 (sno) VALUES (4) INSERT INTO table1 (sno) VALUES (3) INSERT INTO table1 (sno) VALUES (9) INSERT INTO table1 (sno) VALUES (8) INSERT INTO table1 (sno) VALUES (6) INSERT INTO table1 (sno) VALUES (5) INSERT INTO table1 (sno) VALUES (9) INSERT INTO table1 (sno) VALUES (1) INSERT INTO table1 (sno) VALUES (2) SELECT Table1 m.Oldsno = -99 && Or any other number you sure not in table DIMENSION aPassedNo[1,2] STORE 0 TO aPassedNo, m.add_passed, m.replSerNo *SET STEP ON SCAN IF m.Oldsno # sno cSerNo = PADL(ALLTRIM(STR(sno)),7,"0") nAsc = ASCAN(aPassedNo,cSerNo) IF nAsc == 0 m.add_passed = m.add_passed + 1 m.replSerNo = m.add_passed DIMENSION aPassedNo[m.add_passed,2] aPassedNo[m.add_passed,1] = cSerNo aPassedNo[m.add_passed,2] = m.Newsno ELSE nAsc = ASUBSCRIPT(aPassedNo,nAsc,1) m.replSerNo = aPassedNo[nAsc,2] ENDIF m.Oldsno = sno ENDIF REPLACE sno WITH m.replSerNo ENDSCAN brow