SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 40882: Output from the PRINTTO procedure is produced as unblocked in SAS® 9.2

DetailsHotfixAboutRate It
In SAS 9.2, the output from a PROC PRINTTO is produced as unblocked. In SAS 8.2, the output is produced with the correct block size. In the reported scenario, the data set is coded in the JCL with BLKSIZE=0. SAS 8.2 produces a block size of 27900 but SAS 9.2 produces a block size of 100.

The job uses PROC PRINTTO and the UNIT=nn option. UNIT=nn routes the output to the file that is identified by the fileref FTnnF001, where nn is an integer between 1 and 99.

   /* The following is a relevant portion of the code. */
//ft51f001  dd dsn=user-ID.ft51f001.test,
//             disp=(new,catlg,delete),
//             space=(TRK,(10,10),RLSE),
//             dcb=(recfm=fb,lrecl=0100,blksize=0)

proc printo unit=51 new ;
run;

The resulting output data set, user-ID.FT51F001.test, has DCB attributes of DSORG=PS, RECFM=FB, LRECL=100, BLKSIZE=100 instead of having a BLKSIZE=27900.

The following syntax, without the UNIT=nn option, also creates an output file with BLKSIZE=100:

proc printto print='output-file' new;
run;
In this example, output-file is any output file specification.

To circumvent this problem, code the BLKSIZE in your JCL DD card.

Click the Hot Fix tab in this note to access the hot fix for this issue.



Operating System and Release Information

Product FamilyProductSystemSAS Release
ReportedFixed*
SAS SystemBase SASz/OS9.2 TS2M0
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.