First thing it to fix the INFILE statement. You data is NOT delimited, so remove the DSD option. Also your lines might not have trailing blanks so add the TRUNCOVER option.
INFILE "C:\Users\dlobsien\Desktop\employees.txt" truncover;
Your fields appear to be in fixed columns but there is no way to use an informat when using a range of columns ( 10-20) in the INPUT statement. So you need to read the DOB and SALARY fields differently.
1) You can use formatted mode. Make sure to start in the right column. This is best if the field might be all blanks.
INPUT SSN $ 1-11 Name $ 12-46 @47 DOB DATE9. PayGrade $57-60 @62 Salary COMMA11. Position $ 73-99 ;
2) Use list mode, but make sure there is something in the field. Use a period to indicate a missing value otherwise SAS will scan past the end of the field until it sees something to read. Note that with list mode the width of the INFORMAT specification does not matter, the INPUT statement adjusts the width to match the width of the next thing on the line.
2a) You can either add an INFORMAT statement.
INPUT SSN $ 1-11 Name $ 12-46 DOB PayGrade $57-60 Salary Position $ 73-99 ;
informat dob date. salary comma. ;
2b) Or us the colon modifier in front of the in-line informat specification.
INPUT SSN $ 1-11 Name $ 12-46 DOB :date. PayGrade $57-60 Salary :comma. Position $ 73-99 ;
Here are a few of the lines from your attached file, with a ruler to see the column locations.
1 2 3 4 5 6 7 8 9
----+----0----+----0----+----0----+----0----+----0----+----0----+----0----+----0----+----0----+
XXX-XX-3484 Edward Rogers 27JUN1989 GR20 $4,653.23 Business Analyst
XXX-XX-3305 Steven Price 30JUN1961 GR20 $5,581.94 Systems Engineer I
XXX-XX-2575 Donald Graham 07MAR1959 GR26 $15,081.73 Human Resources Director
... View more