%macro pagenum;
%global lastpage;
filename temp 'temporary_file';
proc printto print=temp new;
data test;
x=1;
options number;
proc print;
proc printto;
data _null_;
infile temp truncover;
input record $ 1-200;
call symput('lastpage',trim(left(put(input(reverse(
scan(
reverse(record),1)),6.)-1,6.))));
stop;
run;
options pageno=&lastpage;
%mend pagenum;
/* Place code that generates your report here */
%pagenum
%put *The last page number generated is &lastpage;