In our development environment we have code within ODS that works fine, but not in production.
Within the ODS there is a proc tabulate that gets this message-
ERROR: Page size exceeded by column titles at line 259.
NOTE: The SAS System stopped processing this step because of errors.
line 259 Period*bidgrp="Catergory"*visit=" "
line 260 n='Total:'
The ODS code above above the Proc tablulate is along with a sort and options statement, right after this is the Proc Tabulate. There is no other ods code except right after the Proc Tabulate. It is ods listing close.
ods html path= "&path"
body="&fileout";
proc sort data=foroutput;
by bidgrp;
run;
option missing = 0;
So there is a difference in environments that no one here can identify or acknowledges. So the next best bet is to find a work around that will work in both.
Any suggestions?
Thanks!
Have you compared autoexec files between the two? Autoexec gets loaded (plus others) first, which sets up some options. It maybe that in one setup you have a smaller pagesize. Thats what this error seems to imply. Anyways a quick google shows:
https://communities.sas.com/t5/SAS-Procedures/SAS-Error-Q/td-p/47149
Which suggests turning listing destination off - something which I always tend to do nowadays as it only gives warnings most of the time:
ods listing close;
Hi:
Typically, pagesize and linesize exceeded messages are caused by having the LISTING destination open while you are generating long strings of text that work in HTML.
I assume you're running the same version of SAS on both locations. Typically, you need to issue ODS LISTING CLOSE; at the TOP of your output. Your note seemed to indicate that you had ODS LISTING CLOSE -after- the PROC TABULATE, but you're using ODS HTML for output, so you don't need LISTING open. I would suggest these 2 things:
1) increase pagesize -- just for grins, it shouldn't matter what pagesize is for ODS HTML, so if you do
options pagesize=max;
that will set the pagesize to the max --which is usually 32767.
AND
2) issue ODS LISTING CLOSE; in front of your ODS HTML statement -- before you run any of your TABULATE output
Cynthia
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.