alter FUNCTION RET_xxx (@val varchar(20),@max) returns varchar(20) -- <======= !!!! use CHAR(5) AS RETURN RIGHT('00000'+RTRIM(@val),5) ENDYou can generalize 5 value to a parameters
alter FUNCTION RET_xxx (@val varchar(20),@maxlen TINYINT) returns VARCHAR(<maxLenght>) AS RETURN RIGHT(REPLICATE('0',@maxlen)+RTRIM(@val),@maxlen) ENDFabio