data _null_;
set x;
if (input(substr(dat,1,2),8.) > 12
or
input(substr(dat,4,2),8.)> 31
)
then error = 'Y';
if error = 'Y' then abort;
put 'ERROR:Error in the date field.Correct the date field in the source data';
run;
I forced values where month is greater than 12 and day is greater than 31.The process did not stop (abort).It processed further.