Assuming nothing is being left to the imagination (such as the presence of additional variables), the easiest way might be:
proc sort data=have (keep=id call_dt) nodupkey;
by id call_dt;
run;
data want;
set have;
do hr = '10 am', '11 am', '12 pm', ' 1 pm', ' 2 pm', ' 3 pm', ' 4 pm', ' 5 pm';
output;
end;
run;