After completion of the job, the dataset was created with the LRECL of 1048 only. I would like to know how it could be possible even though the SPACE param was changed to have a AVGREC of 1500. (1048 value was changed to 1500 !!!!)
Your inputs are most welcome to make this understand.
Joined: 05 Oct 2005 Posts: 308 Location: Vizag / US
HI,
Space parameters are no way related to the LRECL.
SPACE parameter requests space for a new data set on a DASD
volume. You can either request an amount of space and let MVS
locate the space for you, or you can request specific track numbers
on a DASD volume.
The LRECL parameter is used to specify the logical record length for the records in a data set. Its function is equivalent to that of the LRECL= subparameter of the DCB=parameter.
LRECL can be used to override the LRECL information for a data class
if SMS (System Managed Storage) is installed and active.
SPACE parameter requests space for a new data set on a DASD
volume. You can either request an amount of space and let MVS
locate the space for you, or you can request specific track numbers
on a DASD volume.
The LRECL parameter is used to specify the logical record length for the records in a data set. Its function is equivalent to that of the LRECL= subparameter of the DCB=parameter.
LRECL can be used to override the LRECL information for a data class
if SMS (System Managed Storage) is installed and active.
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
Well, however you decide to allocate your DASD space, the operating system always converts in into either tracks or cylinders, which are the only two values accepable by the DASD subsystems.
It's not difficult to work out space requirements, so why not just stick to TRK & CYL
12.5 AVGREC Parameter
Parameter Type Keyword, optional -- use this parameter only with SMS
Purpose Use the AVGREC parameter when you define a new data set to specify that:
* The units of allocation requested for storage space are records.
* The primary and secondary space quantity specified on the SPACE parameter represents units, thousands, or millions of records.
When you use AVGREC with the SPACE parameter, the first subparameter (reclgth) on the SPACE parameter must specify the average record length of the records.
Code the AVGREC parameter when you want to (1) specify records as the units of allocation or (2) override the space allocation defined in the data class for the data set.
If SMS is not installed or is not active, the system checks the syntax and then otherwise ignores the AVGREC parameter.
I am left to assume in production either SMS is not installed or NOT active, otherwise the job should have abended(Reason - Syntax Error), for coding space parameters as below :
SPACE=(CYL,(50,10),RLSE),AVGREC=K
And the AVGREC parameter is getting ignored all the times.
AVGREC=U - means 100's of records
AVGREC=K - means 1000's of records
AVGREC=M - means millions of records
when u use AVGREC parameter, u dont use CYL OR TRKS in ur space parm. instead u use the record length of the file.
for ex:
SPACE=(100,(10,5),RLSE),AVGREC=K means that ur output file can handle
primary space for 10 * 1000 = 10,000 records each of length 100. this is the best practice to avoid using CYL and TRKS.
similarly
SPACE=(100,(10,5),RLSE),AVGREC=M, means ur output file can handle 10 million records.
if u know approx., how many records ur output file will have then u can use AVGREC. if there are million records and if u have mentioned
AVGREC = K, then u will get space abend.