Since 31/07 is in no way a complete date and you say you are using a data set created by someone else I think it is time to discuss with that user what the value looked like as text and how that person read the file.
While a person can read something like 31/07 and assume it is 31 July none of the default SAS tools will do such. SAS requires the YEAR to be part of the value and will assume the first day of the month when provided only year and month information. Which would most likely to treat 31 as 1931 and yield a day of 1 July 1931 unless you are using a datecutoff value that would treat it as year 2031.
... View more