The basic approach I would take would be along these lines:
data want;
set have (rename=(bu=buold));
do i=1 to countw(buold);
bu = scan(buold,i);
output;
end;
drop i buold;
run;
It would likely be a good idea to set a length for the BU variable to longest expected value but I don't know what that might be so leave it up to you.