z/OS DFSORT Messages, Codes and Diagnosis Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


ICE126A

z/OS DFSORT Messages, Codes and Diagnosis Guide
SC23-6879-00

ICE126A
INCONSISTENT REFORMATTING FOR {*INREC|*OUTREC|ddname}: REASON CODE rsn, IFTHEN n

Explanation

Critical. The FIELDS, BUILD, or IFTHEN BUILD operand of an INREC or OUTREC statement, or the OUTREC, BUILD or IFTHEN BUILD operand of an OUTFIL statement, contained a field that was inconsistent with the format (fixed or variable) of the input or output records, or with other fields.

OUTFIL data sets for which VTOF or CONVERT is used have variable-length input records and fixed length output records. OUTFIL data sets for which FTOV is used have fixed-length input records and variable-length output records.

The following information is displayed in the message:
  • *INREC if the error is associated with an INREC statement. *OUTREC if the error is associated with an OUTREC statement. ddname if the error is associated with an OUTFIL statement.
  • 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.
  • n: 0 if the error is not associated with an IFTHEN clause. Otherwise, n identifies the number of the IFTHEN clause associated with the error (starting at 1 for the first IFTHEN clause).
The statement and operand associated with the error are identified as follows:
  • *INREC and n=0 indicates that the FIELDS or BUILD operand of the INREC statement caused the error.
  • *OUTREC and n=0 indicates that the FIELDS or BUILD operand of the OUTREC statement caused the error.
  • ddname and n=0 indicates that the OUTREC or BUILD operand of an OUTFIL statement caused the error. ddname identifies the first data set in the associated OUTFIL group.
  • *INREC and n>0 indicates that an IFTHEN BUILD operand of the INREC statement caused the error. n identifies the number of the associated IFTHEN clause (starting at 1 for the first IFTHEN clause in the INREC statement).
  • *OUTREC and n>0 indicates that an IFTHEN BUILD operand of the OUTREC statement caused the error. n identifies the number of the associated IFTHEN clause (starting at 1 for the first IFTHEN clause in the OUTREC statement).
  • ddname and n>0 indicates that an IFTHEN BUILD operand of an OUTFIL statement caused the error. ddname identifies the first data set in the associated OUTFIL group. n identifies the number of the associated IFTHEN clause (starting at 1 for the first IFTHEN clause in the OUTFIL statement).

Reason code values (rsn) are as follows:

  1. An IFOUTLEN=n operand was specified without an IFTHEN operand.

    Example:

     OUTREC IFOUTLEN=50
  2. The last position was specified without a corresponding length for fixed-length input records.

    Examples (fixed-length input):

     INREC BUILD=(1,5,6X,8) 
    or 
     OUTFIL FNAMES=O1,
     OUTREC=(1,20,28),FTOV       
  3. For variable-length input records, the last position was specified without a corresponding length for one, but not all, of the FIELDS or BUILD operand of the INREC statement, the FIELDS or BUILD operand of the OUTREC statement, or the OUTREC or BUILD operand of an OUTFIL statement (without a VTOF or CONVERT operand):

    Examples (variable-length input):

     INREC FIELDS=(1,20,31)
     OUTREC FIELDS=(1,25)
    or
     OUTREC BUILD=(1,20,31,10)
     OUTFIL BUILD=(1,25,27)
  4. A column overlapped the previous output field in the reformatted record.

    Example (fixed-length input):

     INREC IFTHEN=(WHEN=INIT,
             BUILD=(81:SEQNUM,8,ZD)),
           IFTHEN=(WHEN=(81,8,ZD,EQ,+1),
             BUILD=(3,20,20:C'ABC'))
  5. A VTOF or CONVERT operand was specified without an OUTREC or BUILD operand for variable-length input record to fixed-length output record conversion in an OUTFIL statement.

    Example (variable-length input):

     OUTFIL VTOF
    Note: VTOF cannot be used with an IFTHEN or OVERLAY operand.
  6. A VLFILL=C'x' or VLFILL=X'yy' operand was specified without an OUTREC or BUILD operand for variable-length input records in an OUTFIL statement.

    Example (variable-length input):

     OUTFIL VLFILL=C'*'
    Note: VLFILL cannot be used with an IFTHEN or OVERLAY operand.
  7. An OUTREC or BUILD operand did not specify any input or separation fields.

    Example (fixed-length input):

     OUTFIL OUTREC=(//)

System action

The program terminates.

Programmer response

Take the action for the indicated reason code value (rsn) as follows:
  1. Specify an IFTHEN operand with an IFOUTLEN=n operand.

    Example:

     OUTREC IFOUTLEN=50,
       IFTHEN=(WHEN=(5,1,CH,EQ,C'A'),
          OVERLAY=(21:C'N')),
       IFTHEN=(WHEN=NONE,OVERLAY=(21:C'Y'))
  2. Specify the last position with a corresponding length.

    Example (fixed-length input):

     INREC BUILD=(1,5,6X,8,25)
    
     OUTFIL FNAMES=O1,
       OUTREC=(1,20,28,40),FTOV
  3. Specify the last position without a corresponding length for the INREC, OUTREC and OUTFIL statements, or specify the last position with a corresponding length for the INREC, OUTREC, and OUTFIL statements, as appropriate.

    Examples (variable-length input):

     INREC FIELDS=(1,20,31)
     OUTREC FIELDS=(1,20,5X,21)
    or
     OUTREC BUILD=(1,20,31,10)
     OUTFIL BUILD=(1,20,5X,21,10)
  4. Ensure that columns do not overlap previous fields in the reformatted record.

    Example (fixed-length input):

     INREC IFTHEN=(WHEN=INIT,
             BUILD=(81:SEQNUM,8,ZD)),
           IFTHEN=(WHEN=(81,8,ZD,EQ,+1),
             BUILD=(3,20,25:C'ABC'))
  5. Specify an OUTREC or BUILD operand with the VTOF or CONVERT operand.

    Example (variable-length input):

     OUTFIL VTOF,BUILD=(5,60)
  6. Specify an OUTREC or BUILD operand with the VLFILL=C'x' or VLFILL=X yy operand.

    Example (variable-length input):

    OUTFIL VLFILL=C'*',BUILD=(1,4,8,45)
  7. Specify an input or separation field.

    Example (fixed-length input):

     OUTFIL OUTREC=(//,X)

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014