DATA MIXED; INPUT @20 TYPE $1. @; IF TYPE = '1' THEN INPUT ID 1-3 ...
The first Input statement is an example of an Input statement with a "trailing @ sign." The trailing @ tells SAS to not read a new record the next time an Input statement is executed in this iteration of the data step. It effectively holds the record so that it can be reread by another Input statement.
So, the logic of this data step code is:
Note also that the other Input statements (other than the first one) do not have a trailing @ sign. This releases the data record so that you are ready to finish the data step.
That is one of the two new things in this example. The other is the IF-THEN/ELSE statement.