Hi, Not really without more information. What's in your macro variables &VARINFO? What are your other macro variables? What is the structure of the data? What is your custom format? It is very hard to make concrete suggestions without understanding what your data looks like and what all your macro variables are doing. Bottom line, you can't insert a page break into the COMPUTE BEFORE _PAGE_ text that you're writing out and you can't perform break processing on the special location of _PAGE_ the is created by PROC REPORT. When I want to put some text on page 1 and then have the report start on page 2, how I do it really depends on what needs to be put on page 1. Most of the student questions I get have revolved around either generating a title page on page 1 or on having some kind of explanatory text paragraph on page 1. Typically, I illustrate those type of report requests using 2 PROC REPORT steps that will produce output like this:
data varinfo;
length infoline $60;
infile datalines dlm=',' dsd;
input ordvar infoline $;
datalines;
1,"Twas brillig and the slithy toves"
2,"Did gyre and gimble in the wabe"
3,"All mimsy were the borogroves"
4,"And the mome raths outgrabe"
5,"Lewis Carroll"
;
run;
title;
options nodate nonumber;
ods escapechar='^';
footnote j=r h=12pt 'Page ^{thispage}';
ods rtf file='c:\temp\page1_page2.rtf';
proc report data=varinfo noheader
style(report)={rules=none frame=void cellspacing=0}
style(column)=Header{background=white color=black font_size=20pt};
column ordvar infoline;
define ordvar / order noprint;
define infoline / display;
compute infoline;
if ordvar = 5 then do;
call define(_col_,'style','style={color=green just=r}');
end;
endcomp;
run;
title 'Main report starts on this page';
proc report data=sashelp.class;
compute before _page_/ style=Header;
line 'Should start on Page 2';
endcomp;
run;
ods rtf close;
But your report looks more like a pre-summarized report or some kind of data dictionary and it's hard to visualize what you are getting and how you want it to change without any context or sample data to run that shows all your code, your macro variables, your formats and your ODS statements.
The only way to control the location dictated by using _PAGE_ is either allow PROC REPORT to control the logical pages based on the variable values for group or order variables used as PAGE variables or for you to make a fake page breaking variable. This puts the COMPUTE BEFORE _PAGE_ text on the same physical page as the beginning of the logical page. So if the logical page will start on page 1 then the COMPUTE BEFORE _PAGE_ text output will be also placed at the top of the table on page 1. If I just needed a caption before or after a table, but outside the boundary of the table, my tendency would be to use ODS TEXT. In addition, changing the style of the ODS TEXT font will need to be done because the default style of the ODS TEXT font is left justified in the data font size. With COMPUTE _PAGE_, your text strings are restricted to the boundaries of the table. So for example, if your page in RTF has 1 inch margins on an 8.5 inch portrait document and your table is centered at 4 inches wide, your COMPUTE BEFORE _PAGE_ will be placed within that 4 inch wide table boundary. If you want the _PAGE_ text to span from margin to margin, which is 6.5 inches, you have to move to the TITLE statement or to ODS TEXT or to a separate PROC step. A separate PROC step will always start on a new page, unless you have changes to the STARTPAGE option in ODS RTF or ODS PDF, which is why I most always use the technique shown above for creating title pages or some related text before the main report.
Cynthia
... View more