**************************************** unpack a packed numeric field FUNCTION ut_unpack(s) LOCAL x,r,i x = 0 r = 0 i = 0 LOCAL j,k,l,m,n,o for i = 1 to len(s) j = substr(s,i,1) k = asc(j) l = k m = bitand(l,240) n = bitrshift(m,4) x = n r=(r*10)+x if i < len(s) j = substr(s,i,1) k = asc(j) l = k m = bitand(l,15) x = m r=(r*10)+x endif next **** get sign i = right(ut_getsign(s),1) if at(i,"FACE")>0 else r = 0-r endif return r / 100.00 **************************************** get sign bits of a packed numeric field FUNCTION ut_getsign(s) LOCAL x,r,i x = 0 r = 0 i = 0 LOCAL j,k,l,m,n,o i = len(s) j = substr(s,i,1) k = asc(j) l = k m = bitand(l,15) x = m return substr("123456789ABCDEF",x,1)For specific questions you can email me direct.