SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 35604: An error might occur in SAS® 9.2 Phase 2 when concatenating files with differing BLKSIZES

DetailsHotfixAboutRate It

An error might occur in SAS 9.2 Phase 2 when files are concatenated and the BLKSIZE of the first file is not an even multiple of the subsequent files LRECLs. Note that the same concatenation opens without errors in SAS® 9.1.3. The error will be similar in appearance to the following:

ERROR: OPEN is aborted for file fileref. BLKSIZE (27750) must be multiple of
       LRECL (1100) for RECFM=FB.
NOTE: The SAS System stopped processing this step because of errors.

The code in the following example produces the error:

//INDD  DD DISP=SHR,DSN=FILE.ONE
//      DD DISP=SHR,DSN=FILE.TWO
//      DD DISP=SHR,DSN=FILE.THREE
//SYSIN    DD *,DLM=$$
  DATA _NULL_ ;
    INFILE INDD ;
    INPUT @1 VAR1 $1. ;
    STOP ;
   RUN;
   DATA _NULL_;
    INFILE INDD ;
    INPUT @1 VAR2 $1. ;
   RUN;

The concatenation contains files where the BLKSIZE of the first file is not a multiple of all subsequent files' LRECLs. The example code above contains two parts: a first DATA step reading the INFILE, then stopping under a specific condition. The second Data step reads the INFILE completely.

An example of file DCBs that will produce the error:

First file  : LRECL=750,  BLKSIZE=27750
Second file : LRECL=1100, BLKSIZE=27500
Third file  : LRECL=1900, BLKSIZE=26600

Note that there are no files in this concatenation with a BLKSIZE 27750 and LRECL 1100.

A workaround is to use an utility (IEBGENER for example) to change the smaller files LRECL and BLKSIZE to match the largest file.



Operating System and Release Information

Product FamilyProductSystemSAS Release
ReportedFixed*
SAS SystemSAS Foundationz/OS9.2 TS1M09.2 TS2M2
* 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.