Thank you very much. Your solution is not exactly what I was hoping for, but it is much shorter than what I have. I appreciate your help. Just for interest, what I did: data want2 (drop= time_str time_str2); set have; /*Application Datetime*/ format createdate2 date9. createtime2 time8. creationdatetime datetime22.3; createdate2 = input(put(createdate,12.),b8601da.); time_str= compress(input(put(createtime,12.),$12.)); if length(time_str) = 5 then do; time_str2 = compress("0"||substr(time_str,1,1) ||":"|| substr(time_str,2,2) ||":"|| substr(time_str,4,2)); createtime2 = input(put(time_str2,$8.),time8.); end; else do; time_str2 = compress(substr(time_str,1,2) ||":"|| substr(time_str,3,2) ||":"|| substr(time_str,5,2)); createtime2 = input(put(time_str2,$8.),time8.); end; creationdatetime = input(compress(put(createdate2, date9.)||":"||put(createtime2, time.)),datetime22.3); run;
... View more