covcode = ALLTRIM(SUBSTR(xdata,31,5)) premamt = VAL(SUBSTR(xdata,61,12))/100 Example 1 Data readin: xdata = "6CVA159 3 W100035VEHR10001 BI 991125000525???????????????????????????????????????????????????????0005000000100000?????????????????????????????????????????" *--This one works correctly and returns 50/100 as it should for mcv_bodily mcv_bodily = PADR(f_limit(xdata),9) Example 2 Data Readin: xdata="6CVA159 3 W100065VEHR10001 TL 991125000525???????????????????????????????????????????????????????00000050?????????????????????????????????????????????????" *--This one returns too many zeros which are later cutoff when saved *--It should return 50 but it returns 00000050 mcv_towing(crntveh) = SUBSTR(xdata,103,8) FUNCTION f_limit PARAMETER fdata PRIVATE i,j i = ALLTRIM(TRANS(VAL(SUBSTR(fdata,103,8))/1000,'@Z 99999')) j = ALLTRIM(TRANS(VAL(SUBSTR(fdata,111,8))/1000,'@Z 99999')) IF !EMPTY(j) i = i +'/'+j ENDIF RETURN iTIA!!!