REXX output for Input Dataset is

0                        

Block  1 is  3120 bytes. 

Block  2 is  3120 bytes. 

Block  3 is  3120 bytes. 

Block  4 is  3120 bytes. 

Block  5 is  3120 bytes. 

Block  6 is  3120 bytes. 

Block  7 is  3120 bytes. 

Block  8 is  3120 bytes. 

Block  9 is  3120 bytes. 

Block 10 is  3120 bytes. 

READY                    

END                      





REXX output for Output Dataset is

0                       

Block  1 is   124 bytes.

Block  2 is   124 bytes.

Block  3 is   124 bytes.

Block  4 is   124 bytes.

Block  5 is   124 bytes.

Block  6 is   124 bytes.

Block  7 is   124 bytes.

Block  8 is   124 bytes.

Block  9 is   124 bytes.

Block 10 is   124 bytes.

READY                   

END  





                   

On Wed, 11 Nov 2015 06:32:46 +0530 Paul Gilmartin  

wrote

>On Tue, 10 Nov 2015 19:47:49 -0500, Tony Harminc wrote:







>On 10 November 2015 at 19:04, Bharath Nunepalli wrote:



>> The confusing part here is the size of the Output dataset.



>> Input dataset is 1.7 GB, but the Output dataset is 8.1 GB.



>> Do you think this happened due to BLKSIZE(132) value??



>



>Yes, certainly. BLKSIZE of 132 is hopelessly space-wasting (and slow).



>If you need to preallocate, you can do that without specifying a



>BLKSIZE (SMS should choose a good one for you), or specify



>BLKSIZE=27998, which is half-track for a 3390.



>



Yes. With LRECL=128,BLKSIZE=132, you'll get only one record per



block. Most of your space will be interblock gaps.







But I'm skeptical that such an adverse input format could result in



even worse output. I'd like to see the output of this Rexx EXEC applied



to both your input and output data sets:







user@OS/390.24.00: cat rexxdump                                                 
 



/* Rexx */ signal on novalue; /* 
************************************************



  Doc: simple minded data set dump. Requires z/OS 2.1 or higher.



*/



if 0 then trace R







Dataset = userid()'.ISFUNLD.BADSYM.JOB08364.PAX.Z' /* Supply yours. */







say BPXWDYN( 'alloc rtddn(DD) dsn('Dataset') shr recfm(U) blksize(32760) 
msg(2)' )







do I = 1 to 10



  address 'MVS' 'EXECIO 1 DISKR' DD '(stem L.'



  if RC0 then return( RC * (RC2) )



  say 'Block'right( I, 3 ) 'is'right( length( L.1 ), 6 ) 'bytes.'



  end I



/* 
*****************************************************************************/



user@OS/390.24.00: 



user@OS/390.24.00: rexxdump # sample output                                     
       



0



Block 1 is 27998 bytes.



Block 2 is 4294 bytes.



user@OS/390.24.00: 







-- gil







----------------------------------------------------------------------



For IBM-MAIN subscribe / signoff / archive access instructions,



send email to [email protected] with the message: INFO IBM-MAIN




----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to