The time formats expect a minimum of 5 characters and your data is too short so you need to convert not read. Maybe one of these days SAS will allow an equivalent of a PICTURE for inputing values that allows date and time directives.
You will need to add a variable as a character can't be converted. Something like this might get you started.
data want;
input texttime $; i=index(upcase(texttime),'P')>0) *12;
mytime = hms(input(compress(texttime,'APM'),best2.) +1,0,0); drop i;
format mytime timeampm5.;
datalines;
1AM
2AM
3AM
10AM
1PM
2PM
11PM
;
run;
... View more