ICE043A   INVALID DATA SET ATTRIBUTES: ddname attribute - REASON CODE IS rsn

Explanation

Critical. An error associated with a record format, record length or block size was detected, or a conflict between these attributes was detected. The following information is displayed in the message:
  • ddname: The input or output ddname for the associated data set (for example, SORTIN for a single or concatenated input data set used for a copy or sort application, SORTIN01 or SORTIN02 for an input data set used for a merge application, SORTOUT for an output data set, OUT1 for an OUTFIL output data set, and so on).
  • attribute=RECFM: The error is associated with a record format. The record format can be set or derived from a RECFM value or a RECORD TYPE value, or defaulted based on other attributes. The record format can be fixed length (for example, RECFM=F, RECFM=FB or TYPE=F) or variable length (for example, RECFM=V, RECFM=VB, RECFM=VS, RECFM=VBS or TYPE=V).
  • attribute=LRECL: The error is associated with a record length. The record length can be set or derived from an LRECL value, a RECORD LENGTH value, a VSAM RECORDSIZE value or the reformatted record length, or defaulted based on other attributes.
  • attribute=BLKSIZE: The error is associated with a block size. The block size can be set or derived from a BLKSIZE value, or defaulted based on other attributes.
  • rsn: The reason code associated with the error. The reason code (listed later in this section) helps you determine the specific cause of the error.

Note: The ddname, attribute, and reason code are not displayed for a tape work data set sort or conventional merge application. In this case, the message will appear as:
ICE043A INVALID DATA SET ATTRIBUTES
These techniques should be avoided by not using tape work data sets for a sort or by removing the condition preventing the use of Blockset indicated by the reason code displayed in message ICE800I when a SORTDIAG DD statement is specified.
Reason code values (rsn) are as follows:
  1. A fixed length output data set has a block size smaller than the record length, or a variable length output data set has a block size smaller than the record length plus four. Example: The record length is 1000 and BLKSIZE=800 is specified on the SORTOUT DD statement.
  2. The record length cannot be determined, LRECL=X was specified, or the record length is larger than the maximum allowed. Example: The SORTIN data set was created with LRECL=X.
  3. Input data sets have mixed fixed length and variable length record formats, or mixed valid and invalid record formats. Examples: Concatenated SORTIN data sets have RECFM=FB and RECFM=VB. The SORTIN01 data set has RECFM=V and the SORTIN02 data set has RECFM=FB. Concatenated SORTIN data sets have RECFM=VB and RECFM=U.
  4. A variable length spanned input data set was found after a variable length unspanned input data set. Example: Concatenated SORTIN tape data sets have RECFM=VB and RECFM=VBS.
  5. Fixed length input data sets have different record lengths or ICETPEX returned a record length that does not match the record length in the tape label. Examples: Concatenated SORTIN data sets have RECFM=FB with LRECL=100 and RECFM=FB with LRECL=80. The SORTIN01 data set has RECFM=FB with LRECL=100 and the SORTIN02 data set has RECFM=FB with LRECL=135. ICETPEX returned 255 as the record length, but the tape label has 360 as the record length.
  6. The record format is fixed length and the block size is smaller than the record length or is not a multiple of the record length. Example: The reformatted fixed record length is 1200 from OUTREC BUILD=(11,1200) and the SORTOUT data set has BLKSIZE=25000.
  7. An input tape data set with the largest block size was not the first data set, and the block size for that data set was not available in the DD statement, from DFSMSrmm, or from a tape management system using ICETPEX. Example: Concatenated SORTIN tape data sets are unmanaged: the first data set was created with RECFM=FB, LRECL=80 and BLKSIZE=32720 and the second data set was created with RECFM=FB, LRECL=80 and BLKSIZE=262080.
  8. Input and output data sets have mixed fixed length and variable length record formats, or mixed valid and invalid record formats. Examples: The SORTIN data set has RECFM=FB and the SORTOUT data set has RECFM=VB. The SORTIN01 data set has RECFM=VB and the SORTOUT data set has RECFM=F or RECFM=U.
  9. The record format is fixed length and the output record length is larger than the input record length or reformatted record length. Examples: The SORTIN01 data set has RECFM=FB and LRECL=80 and the SORTOUT data set has LRECL=100. The SORTIN01 data set has RECFM=FB and LRECL=80, the reformatted record length is 60 from OUTREC BUILD=(1,60) and the SORTOUT data set has LRECL=80.
  10. The record format cannot be determined or is not valid for DFSORT processing. Examples: The SORTIN data set has DUMMY or NULLFILE but does not have RECFM=value. The SORTOUT data set has RECFM=U.
  11. The track capacity of the device for the output data set was smaller than the block size for the output data set. Example: The SORTOUT data set is allocated on a 3350 and has BLKSIZE=32000.
  12. The block size cannot be determined or is not valid for DFSORT processing. Examples: The SORTIN DD statement has DUMMY or NULLFILE but does not have BLKSIZE=value. The block size of the first SORTIN data set cannot be determined
  13. The record format is variable length and the OUTFIL output data set has a fixed length record format, or OUTFIL parameter FTOV or VLFILL is specified and the OUTFIL output data set has a fixed length record format. Examples: SORTIN has RECFM=VB, OUTFIL FNAMES=OUT1 is specified, and OUT1 has RECFM=FB. SORTIN has RECFM=FB, OUTFIL FNAMES=OUT2,FTOV is specified and OUT2 has RECFM=F. SORTIN has RECFM=VB, OUTFIL FNAMES=OUT3, VLFILL=C’*’,BUILD=(70) is specified and OUT3 has RECFM=FB.
  14. The record format is fixed length and the OUTFIL output data set has a variable length record format, or OUTFIL parameter VTOF or CONVERT is specified and the OUTFIL output data set has a variable length record format. Examples: SORTIN has RECFM=FB, OUTFIL FNAMES=OUT1 is specified, and OUT1 has RECFM=VBS. SORTIN has RECFM=VB, OUTFIL FNAMES=OUT2,VTOF,BUILD=(5,60) is specified and OUT2 has RECFM=VB.
  15. The input data set with the largest block size was not the first input data set. Example: SORTIN01 has BLKSIZE=15000 and SORTIN02 has BLKSIZE=20000 and Blockset could not be used.
  16. A data set with RECFM=F has a block size that is not equal to the record length, or the first input data set has RECFM=F and is followed by a data set with a different block size. Example: SORTOUT has RECFM=F, LRECL=80 and BLKSIZE=160.

System action

The program terminates.

Programmer response

For the data set associated with the indicated ddname, and the indicated attribute, take the action for the indicated reason code value (rsn) as follows:
  1. Let DFSORT set the output data set block size, specify BLKSIZE=value with a value that is valid for the record length, or use an existing data set with a block size that is valid for the record length, as appropriate.
  2. Do not use a data set with LRECL=X. Ensure that the record length is available, and is not larger than 32767 or the maximum allowed for the record format. Specify LRECL=value on the DD statement, if appropriate, and especially for a DUMMY or NULLFILE data set.
  3. Ensure that all of the input data sets have fixed length record formats (for example, RECFM=FB), or that all of the input data sets have variable length record formats (for example, RECFM=VB and RECFM=VBS). Do not use a data set with RECFM=U.
  4. Ensure that a variable length spanned input data set (for example RECFM=VBS) is not preceded by a variable length unspanned input data set (for example, RECFM=VB).
  5. Ensure that all of the fixed length input data sets have the same record length. If appropriate, use fixed input data sets padded to the largest record length. Ensure that ICETPEX returns the correct record length.
  6. Let DFSORT set the output data set block size, specify BLKSIZE=value with a value equal to or larger than the record length and a multiple of the record length, or use an existing data set with a block size that is valid for the record length, as appropriate.
  7. Use managed tapes, or specify BLKSIZE=value, with a value equal to the largest block size, in the first input DD statement.
  8. Ensure that all of the input data and output data sets have fixed length record formats (for example, RECFM=FB), or that all of the input and output data sets have variable length record formats (for example, RECFM=VB and RECFM=VBS). If you want to convert from fixed length input records to variable length output records, use an OUTFIL statement with FTOV. If you want to convert from variable length input records to fixed length output records, use an OUTFIL statement with VTOF and BUILD.
  9. Ensure that the SOLRF parameter is in effect. Use INREC or OUTREC to pad the output records to the needed length. Let DFSORT set the output record length, specify LRECL=value with a value equal to the reformatted record length, or use an existing data set with a record length equal to the reformatted record length, as appropriate.
  10. Ensure that the record format is available and is valid for DFSORT processing (for example, RECFM=F, RECFM=FB, RECFM=VB, RECFM=VBS). Do not use RECFM=U. Specify RECFM=value on the DD statement, if appropriate, and especially for a DUMMY or NULLFILE data set. Specify RECORD TYPE=value, if appropriate, and especially for a VSAM input data set.
  11. Ensure that the output data set block size is equal to or smaller than the track capacity for the device on which the output data set resides.
  12. Ensure that the block size is available and is valid for DFSORT processing. Specify BLKSIZE=value on the DD statement, if appropriate, and especially for a DUMMY or NULLFILE data set.
  13. If you want to use FTOV or VLFILL, ensure that the OUTFIL output data set has a variable length record format or no record format. If you want to convert from variable length input records to fixed length output records, use VTOF and BUILD and ensure that the OUTFIL output data set has a fixed length record format or no record format.
  14. If you want to use VTOF or CONVERT, ensure that the OUTFIL output data set has a fixed length record format or no record format. If you want to convert from from fixed length input records to variable length output records, use FTOV and ensure that the OUTFIL output data set has a variable length record format or no record format.
  15. Rerun the job with a SORTDIAG DD statement to get message ICE800I, which indicates the reason Blockset could not be used. If possible, remove the condition preventing the use of Blockset. Alternatively, specify BLKSIZE=value, with a value equal to the largest block size, in the first input DD statement.
  16. Ensure that data sets with RECFM=F have a block size equal to the record length, or specify RECFM=FB in the first input DD statement.