DATA Step, Macro, Functions and more

Question on PROC PRINT options

Posts: 1

Question on PROC PRINT options


I use SAS in mainframes, i use PROC PRINT to generate a report into a mainframe dataset. But SAS is splitting the records into multiple rows as the number of variables are more. I want all the variables of a record to be printed on a single row. I have no limitation on the LRECL of the dataset, i can extend it as much as to accommodate all variables in one row. I am not able to figure out any options to do this. Can any of you help me with this, please? I have been googling for the past 3 days with no luck. :-(



Valued Guide
Posts: 3,208

Re: Question on PROC PRINT options

Is it the same?  errors notes?  Version?

---->-- ja karman --<-----
Super User
Super User
Posts: 6,500

Re: Question on PROC PRINT options

Why are you using PROC PRINT instead of a DATA _NULL_ step to write to a file?

Posts: 32

Re: Question on PROC PRINT options

I do not think that you can print all to one row if you have too many variables. You may try width=minimal, and ls ps options?

Super User
Posts: 5,083

Re: Question on PROC PRINT options


If you follow the links that others have provided, the main idea is that SAS limits the width to 256 in the print file.  However, you might try to work around this by defining your own output file (either in a DD statement in the JCL or in a SAS FILENAME statement).  Assuming you had properly defined a file with a larger linesize:

//MYFILE DD ....

And assuming you had also tried OPTIONS LINESIZE=1000 (or whatever large value you would like), redirect the PROC PRINT output to this file using:

proc printto print=MYFILE;

Then see if your PROC PRINT behaves the way you would like.  If that doesn't do the trick, you would have to resort to Tom's suggestion.  Depending on the number of variables in your data set, that could be a burden.

Good luck.

Ask a Question
Discussion stats
  • 4 replies
  • 5 in conversation