I'm not sure what you want to have happen when you hit a "101". If you want all your "part#" variables to remain missing, just skip doing anything for the "101"s:
DO i=1 to 54;
if original{i} ne '101' then DO j=1 to 3;
new{i,j} = substr(original{i}, 2*j-1);
END;
END;
DROP
i j;
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss. Register now and save with the early bird rate—just $795!