Here's how with good-old traditional gplot (the example generates some fake/random data, and also plots it)...
Assuming you're using the same data for the boxplot and the scatter plot (ie, you just want to also show a scatter plot of the points that the boxplot is based on), this can be very easily done by putting the y*x on the plot statement twice, and using a different plot interpolation for each:
data foo;
do x=0 to 10 by 1;
do i=1 to 20;
y=rannor(23749);
output;
end;
end;
run;
symbol1 v=none i=box color=blue;
symbol2 v=dot height=.01 i=none color=red;
proc gplot data=foo;
plot y*x=1 y*x=2 / overlay;
run;
Or, you can plot totally separate data (that isn't necessarily confined to having the exact same x-values as the boxplot), using a technique such as this...
data foo;
do x=0 to 10 by .1;
do i=1 to 20;
y=rannor(23749);
output;
end;
end;
run;
data foo; set foo;
x_rounded=round(x);
run;
symbol1 v=none i=box color=blue;
symbol2 v=dot height=.01 i=none color=red;
proc gplot data=foo;
plot y*x_rounded=1 y*x=2 / overlay;
run;