Caveat: I don't have much experience with the forecasting procedures so take this with caution.
Something quick to try: change the format on the date variable to something like WEEKU5. ; This may allow the procedure to group data into a single week. Many of the analysis procedures will honor grouping based on a formatted value. If you try this you want to make sure that the width of the format is 5 or 6. Any longer will start allowing the day of the week issue you already have. If this works the ONLY change you may need to make would be adding a format statement like:
Format date weeku5.;
to your existing analysis.
Here is a brief example using a different analysis procedure:
data work.have;
do day= 1 to 30;
date=mdy(1,day,2018);
sales= round(100*rand('uniform'),0.01);
output;
end;
format date date9.;
run;
proc summary data=work.have nway;
class date;
format date weeku5.;
var sales;
output out=work.summary (drop= _:) sum=;
run;
Proc print data=work.summary;
format date date9.;
run;
The last is to show that the summary procedure grouped the data on the first day of the week (as available, I didn't provide a Dec 31 2017 for Sunday).
Note that there are three related formats WEEKU WEEKV and WEEKW that have slightly different interpretations of first day of week and how to treat week definition when the year changes.
And years do not have exactly 52 weeks, there is an extra 0.14 week in a typical year and 0.28 extra for leap years.