On Tue, 3 Mar 2015 11:29:04 -0800, retired mainframer wrote: >Run IEBGENER on the input dataset. Override the DCB to specify RECFM=FB and >LRECL=2. The BLKSIZE from the DSCB should be a multiple of 338. Specify the >DCB for the interim output dataset as RECFM=FB, LRECL=2, and BLKSIZE as any >multiple of 336 you like. > Save QSAM overhead; use LRECL=26, which is 338/13 for SYSUT1. Use BLKSIZE=26208 which is 26*336*3 for SYSUT2.
>Run IEBGENER on the interim output dataset. Override the DCB to specify >LRECL=336. The RECFM and BLKSIZE should be good from the DSCB. Specify the >DCB for the final output as RECFM=FB, LRECL=336, and BLKSIZE as any multiple >of 336 you like. > Or, MOD a dummy to the "interim" data set, overriding LRECL to 336 on both SYSUT1 and SYSUT2. This should overwrite LRECL in the DSCB. >Delete the interim dataset. > Keep it. (I've now spent more HR dollars inventing an optimization than the optimization saves.) But, I believe FTP (he said he used) pads the last record (with nulls?) to a multiple of LRECL (338). This may cause the last block of the interim data set not to be a multiple of 336, which may result in I/O errors when QSAM reads it with LRECL=336. FTP the (slightly corrupted) data set to LOCALHOST, specifying LRECL=336? This may result in a junk record at the end, created by two padding operations. I hate MVS! -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
