As the execution phase
begins, the input pointer rests on column 1 of record 1.
During the first iteration
of the DATA step, the first block of values for Date and HighTemp
are read into the program data vector.
The first observation
is written to the data set.
Control returns to the
top of the DATA step, and the values are reset to missing.
During the second iteration,
the @@ prevents the input pointer from moving down to the next record.
Instead, the INPUT statement reads the second block of values for
Date and HighTemp from the first record.
The second observation
is written to the data set, and control returns to the top of the
DATA step.
During the third iteration,
the last block of values is read and written to the data set as the
third observation.
During the fourth iteration,
the first block of values in the second record is read and written
as the fourth observation.
The execution phase
continues until the last block of data is read.
You can display the
data set with the PRINT procedure.
proc print data=perm.april10;
run;