With SAS, it’s almost always the semicolons!
I read that recently–I can’t remember where now (if you wrote it, let me know–I’ll link!).
I spent the day at Cornell doing SAS programming; I kept expecting Andy Bernard to show up.
Anyway, I was reminded of that quote because, as you guessed it, it was almost always that I forgot a semicolon when I got a SAS error. The errors never mention a semicolon, but that is always the first thing to check for.
I was also reminded today that another common mistake is to forget the SET statement when creating a new data set. If SAS tells you your variables don’t exist, but you know they do, it’s because you forgot the SET statement.
I was also reminded of my best SAS time saver ever. F12: output;cle;log;cle;wpgm. At first I set it up wrong and was lost for a few minutes without it. Luckily I discovered my mistake pretty quickly.