Most important for the OP to understand the SAS DATE variable (numeric) content - suggested link provided below from SAS DOC.
Also, it is possible to work with a DO / END code paragraph incrementing a variable from a starting date (constant) to an ending date, as shown below:
DO I=INTNX('MONTH,TODAY(),0) TO INTNX('MONTH',TODAY(),+1);
* YOUR CODE GOES HERE. ;
END;
Both the INTNX and INTCK functions are quite powerful in a DATA step process to increment and also generate ranges of date-variable values.
Scott Barry
SBBWorks, Inc.
SAS Language Reference: Concepts, About SAS Date, Time, and Datetime Values
http://support.sas.com/documentation/cdl/en/lrcon/61722/HTML/default/a002200738.htm