What information in the two data sets tells us that the 130 is supposed to be replaced by the 3?
How many of these values do you have if this is just an example question? I am afraid that without some more to go on the ids in the second set are pretty much useless.
So the first, second, third, ... ID in the first dataset (let's call it HAVE1) is replaced by the first, second, third, ... ID in the second dataset (HAVE2), respectively?
If so, try this:
data want(drop=_);
retain id; /* redundant if order of variables is not important */
set have1(rename=(id=_));
if value='01' then set have2;
run;