Dear All,
Can you please help me out from the following issue. Proc fcmp is not giving the results as expected. Please find the following sample code.
data sample;
length SAMP $ 100;
input SAMP $20. ;
datalines;
0
12345
0.006789123
CATMNDR234
DMBR23>TCM
BLQ
93
;
proc fcmp outlib=work.funcs.dirs;
function sfunc( SAMP $) $ ;
length SAMP $ 30 ;
if compress(SAMP,"0123456789.") ne "" then do;
SAM=left(SAMP);
end;
else do;
if (0 < mod(input(SAMP,20.),1) < 1) then SAM=left(put(round(input(SAMP,8.),.00001),8.));
else if input(SAMP,8.) < 100 then SAM=SAMP;
else
SAM=left(put(round(input(SAMP,8.),100),8.));
end;
return(SAMP);
endsub;
run;
options cmplib=work.funcs;
data sss;
set sample;
length dc $ 30 ;
dc = sfunc(SAMP);
run;
In the above code numeric part is not giving as expected , can any one suggest me how i can resolve this.
Thanks in Advance.
Best Regards
... View more