BookmarkSubscribeRSS Feed
srhoades
Calcite | Level 5

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!

2 REPLIES 2
RW9
Diamond | Level 26 RW9
Diamond | Level 26

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;  

Cynthia_sas
Diamond | Level 26

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

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1255 views
  • 0 likes
  • 3 in conversation