Problem Note 40882: Output from the PRINTTO procedure is produced as unblocked in SASĀ® 9.2
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
SAS System | Base SAS | z/OS | 9.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.
The output from a PROC PRINTTO is produced as unblocked under SAS 9.2. It was produced with the correct block size in SAS 8.2.
Type: | Problem Note |
Priority: | high |
Date Modified: | 2010-10-12 11:08:29 |
Date Created: | 2010-09-13 17:20:56 |