>>>? GetReminder((22919090710007290*100), 97) >>> >>>FUNCTION GetReminder(lnNumber, lnDividor) >>> >>> LOCAL lcString, lcOstatak, lcOneSymb, lnFor >>> lcString = TRANSFORM(lnNumber) >>> m.lcOstatak = [] >>> DO WHILE NOT EMPTY(m.lcString) >>> m.lcOneSymb = VAL(m.lcOstatak + LEFT(m.lcString,1)) >>> m.lnFor = INT(m.lcOneSymb/lnDividor) >>> m.lcOstatak = TRANSFORM(INT(m.lcOneSymb - m.lnFor*lnDividor)) >>> m.lcString = SUBSTR(m.lcString,2) >>> ENDDO >>>RETURN m.lcOstatak >>>>>>That is the function I used for checking for correct IBAN value :-)
>>? GetReminder((22919090710007290*100), 97) >>? GetReminder((22919090710007291*100), 97) >>? GetReminder((22919090710007299*100), 97) >>>>
>CLEAR >? GetReminder((22919090710007290*100), 97) >? GetReminder((22919090710007291*100), 97) >? GetReminder((22919090710007299*100), 97) > >FUNCTION GetReminder(lnNumber, lnDividor) > > LOCAL lcString, lcOstatak, lcOneSymb, lnFor > lcString = ALLTRIM(STR(lnNumber,100)) > ? lcString, lnNumber, [HA ALL Strings and numbers are equal] > m.lcOstatak = [] > DO WHILE NOT EMPTY(m.lcString) > m.lcOneSymb = VAL(m.lcOstatak + LEFT(m.lcString,1)) > m.lnFor = INT(m.lcOneSymb/lnDividor) > m.lcOstatak = TRANSFORM(INT(m.lcOneSymb - m.lnFor*lnDividor)) > m.lcString = SUBSTR(m.lcString,2) > ENDDO >RETURN m.lcOstatak >check the GetReminder lnNumber parameters, the external are equal to internal ?