08-22-2013 01:05 PM
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. :-(
08-23-2013 03:17 PM
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.