z/OS DFSORT Application Programming Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Operand descriptions

z/OS DFSORT Application Programming Guide
SC23-6878-00

The operands described in this section can be specified in any order.
FROM(indd)
Specifies the ddname of the input data set to be read by DFSORT for this operation. An indd DD statement must be present and must define an input data set that conforms to the rules for DFSORT's SORTIN data set. In addition, the LRECL of the data set must be at least 4.
ON(p,m,f)
Specifies the position, length, and format of a numeric or character field to be used for this operation. '(p,m,f)' is used for the standard column heading (see HEADER('string1'), HEADER('string1','string2'), HEADER('string1','string2','string3'), HEADER(NONE) and NOHEADER for alternative heading options).

By default, three blanks appear between columns. You can change the space between columns with BETWEEN(n).

p specifies the first byte of the field relative to the beginning of the input record. p is 1 for the first data byte of a fixed-length record and 5 for the first data byte of a variable-length record as illustrated in the following (RRRR represents the 4-byte record descriptor word):

    Fixed-length record    |    Variable-length record
    | D | A | T | A | ...  |    | R | R | R | R | D | A | T | A | ...
 p=   1   2   3   4        | p=   1   2   3   4   5   6   7   8
    

m specifies the length of the field in bytes. A field must not extend beyond position 32752 or beyond the end of a record. The maximum length for a field depends on its format.

f specifies the format of the field as shown in the following.
Field formats of ICETOOL DISPLAY operator
Format Code
Length Description
BI 1 to 8 bytes Unsigned binary
FI 1 to 8 bytes Signed fixed-point
PD 1 to 16 bytes Signed packed decimal
ZD 1 to 31 bytes Signed zoned decimal
FL 4 or 8 bytes Signed hexadecimal floating-point converted to signed integer
CH 1 to 4000 bytes Character
CSF or FS 1 to 32 bytes (31 digit limit) Signed numeric with optional leading floating sign
UFF 1 to 44 bytes (31 digit limit) Unsigned free form numeric
SFF 1 to 44 bytes (31 digit limit) Signed free form numeric
DT1 4 bytes SMF date interpreted as Z'yyyymmdd'
DT2 4 bytes SMF date interpreted as Z'yyyymm'
DT3 4 bytes SMF date interpreted as Z'yyyyddd'
DC1 8 bytes TOD date interpreted as Z'yyyymmdd'
DC2 8 bytes TOD date interpreted as Z'yyyymm'
DC3 8 bytes TOD date interpreted as Z'yyyyddd'
DE1 8 bytes ETOD date interpreted as Z'yyyymmdd'
DE2 8 bytes ETOD date interpreted as Z'yyyymm'
DE3 8 bytes ETOD date interpreted as Z'yyyyddd'
TM1 4 bytes SMF time interpreted as Z'hhmmss'
TM2 4 bytes SMF time interpreted as Z'hhmm'
TM3 4 bytes SMF time interpreted as Z'hh'
TM4 4 bytes SMF time interpreted as Z'hhmmssxx'
TC1 8 bytes TOD time interpreted as Z'hhmmss'
TC2 8 bytes TOD time interpreted as Z'hhmm'
TC3 8 bytes TOD time interpreted as Z'hh'
TC4 8 bytes TOD time interpreted as Z'hhmmssxx'
TE1 8 bytes ETOD time interpreted as Z'hhmmss'
TE2 8 bytes ETOD time interpreted as Z'hhmm'
TE3 8 bytes ETOD time interpreted as Z'hh'
TE4 8 bytes ETOD time interpreted as Z'hhmmssxx'
Note: See Data format descriptions for detailed format descriptions.
   
For a CSF, FS, UFF, or SFF format field:
  • A maximum of 31 digits is allowed. If a value with more than 31 digits is found, ICETOOL issues an error message and terminates the operation.
For a ZD or PD format field:
  • If a decimal value contains an invalid digit (A-F), ICETOOL identifies the bad value in a message and prints asterisks for that value, and for the total, maximum, minimum and average (if specified) for that field, in the list data set. If the number of bad values reaches the LIMIT for invalid decimal values, ICETOOL terminates the operation. If the LIMIT operand is not specified, a default of 200 is used for the invalid decimal value limit.
  • A value is treated as positive if its sign is F, E, C, A, 8, 6, 4, 2, or 0.
  • A value is treated as negative if its sign is D, B, 9, 7, 5, 3, or 1.
For an FL format field:
  • The normalized or unnormalized FL (hexadecimal floating-point) value is converted to a signed integer in the range -9223372036854775808 to 9223372036854775807. The fractional part of the FL value is lost, and in some cases the signed integer may be one of a number of possible signed integers for the FL value depending on its precision. Converted values less than -9223372036854775808 are set to -9223372036854775808. Converted values greater than 9223372036854775807 are set to 9223372036854775807.
  • If you are not running in z/Architecture mode, specifying an FL format field results in an error message and termination.
For a DT1, DT2 or DT3 format field:
  • An invalid SMF date can result in a data exception (0C7 ABEND) or an incorrect ZD date.
  • SMF date values are always treated as positive.
For a DC1, DC2, DC3, DE1, DE2, or DE3 format field:
  • TOD and ETOD date values are always treated as positive.
For a TM1, TM2, TM3 or TM4 format field:
  • An invalid SMF time can result in an incorrect ZD time.
  • SMF time values are always treated as positive.
For a TC1, TC2, TC3, TC4, TE1, TE2, TE3, or TE4 format field:
  • TOD and ETOD time values are always treated as positive.
ON(p,m,f,formatting)
Specifies the position, length, and format of a numeric or character field to be used for this operation and how the data for this field is to be formatted for printing. The BLANK operand is automatically in effect.

See ON(p,m,f) for further details.

formatting
Read syntax diagramSkip visual syntax diagram
   .-,------------------.   
   V                    |   
>>---+-+-mask-------+-+-+--------------------------------------><
     | '-E'pattern'-' |     
     +-L'string'------+     
     +-F'string'------+     
     +-T'string'------+     
     +-LZ-------------+     
     +-NOST-----------+     
     +-+-Ndd-+--------+     
     | '-Udd-'        |     
     '-/x-------------'     

specifies formatting items that indicate how the data for this field is to be formatted for printing. Formatting items can be specified in any order, but each item can only be specified once. Any formatting item can be specified for a numeric field, but only L'string' and T'string' can be specified for a character field.

The column width is dynamically adjusted to accommodate the maximum bytes to be inserted as a result of all formatting items specified.

mask
specifies an edit mask to be applied to the numeric data for this field. Thirty-nine pre-defined edit masks are available, encompassing many of the numeric notations throughout the world with respect to separators, decimal point, decimal places, signs, and so forth. ICETOOL edits the data according to the selected mask. If other formatting items are specified but mask is not, the default mask of A0 is applied to the data.

E'pattern' cannot be specified with a mask.

The attributes of each group of masks is shown in Table 1.
Table 1. Attributes of Edit Masks
Attributes of Edit Masks Masks
Separators Decimal Places Positive Sign Negative Sign
A0 No 0 blank -
A1-A5 Yes 0 blank -
B1-B6 Yes 1 blank -
C1-C6 Yes 2 blank -
D1-D6 Yes 3 blank -
E1-E4 Yes 0 blank ( )
F1-F5 Yes 2 blank ( )
G1-G6 Yes 4 blank -
Table 2 describes the available masks and shows how the values 12345678 and -1234567 would be printed for each mask. In the pattern:
  • d is used to represent a decimal digit (0-9)
  • w is used to represent a leading sign that will be blank for a positive value or - for a negative value
  • x is used to represent a trailing sign that will be blank for a positive value or - for a negative value
  • y is used to represent a leading sign that will be blank for a positive value or ( for a negative value
  • z is used to represent a trailing sign that will be blank for a positive value or ) for a negative value
Table 2. Edit Mask Patterns
Edit Mask PatternsMask
Pattern 12345678 -1234567
A0 wddddddddddddddddddddddddddddddd 12345678 -1234567
A1 wd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd 12,345,678 -1,234,567
A2 wd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd 12.345.678 -1.234.567
A3 wd ddd ddd ddd ddd ddd ddd ddd ddd ddd ddd 12 345 678 -1 234 567
A4 wd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd 12'345'678 -1'234'567
A5 d ddd ddd ddd ddd ddd ddd ddd ddd ddd dddx 12 345 678  1 234 567-
B1 wddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd.d 1,234,567.8 -123,456.7
B2 wddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd,d 1.234.567,8 -123.456,7
B3 wddd ddd ddd ddd ddd ddd ddd ddd ddd ddd,d 1 234 567,8 -123 456,7
B4 wddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd.d 1'234'567.8 -123'456.7
B5 wddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd,d 1'234'567,8 -123'456,7
B6 ddd ddd ddd ddd ddd ddd ddd ddd ddd ddd,dx 1 234 567,8  123 456,7-
C1 wdd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd.dd 123,456.78 -12,345.67
C2 wdd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd,dd 123.456,78 -12.345,67
C3 wdd ddd ddd ddd ddd ddd ddd ddd ddd ddd,dd 123 456,78 -12 345,67
C4 wdd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd.dd 123'456.78 -12'345.67
C5 wdd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd,dd 123'456,78 -12'345,67
C6 dd ddd ddd ddd ddd d ddd ddd ddd ddd,ddx 123 456,78  12 345,67-
D1 wd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd.ddd 12,345.678 -1,234.567
D2 wd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd,ddd 12.345,678 -1.234,567
D3 wd ddd ddd ddd ddd ddd ddd ddd ddd ddd,ddd 12 345,678 -1 234,567
D4 wd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd.ddd 12'345.678 -1'234.567
D5 wd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd,ddd 12'345,678 -1'234,567
D6 d ddd ddd ddd ddd ddd ddd ddd ddd ddd,dddx 12 345,678  1 234,567-
E1 yd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,dddz 12,345,678  (1,234,567)
E2 yd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.dddz 12.345.678  (1.234.567)
E3 yd ddd ddd ddd ddd ddd ddd ddd ddd ddd dddz 12 345 678  (1 234 567)
E4 yd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'dddz 12'345'678  (1'234'567)
F1 ydd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd.ddz 123,456.78  (12,345.67)
F2 ydd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd,ddz 123.456,78  (12.345,67)
F3 ydd ddd ddd ddd ddd ddd ddd ddd ddd ddd,ddz 123 456,78  (12 345,67)
F4 ydd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd.ddz 123'456.78  (12'345.67)
F5 ydd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd,ddz 123'456,78  (12'345,67)
G1 wddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd.dddd 1,234.5678 -123.4567
G2 wddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd.ddd,dddd 1.234,5678 -123,4567
G3 wddd ddd ddd ddd ddd ddd ddd ddd ddd,dddd 1 234,5678 -123,4567
G4 wddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd.dddd 1'234.5678 -123.4567
G5 wddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd'ddd,dddd 1'234,5678 -123,4567
G6 ddd ddd ddd ddd ddd ddd ddd ddd ddd,ddddx 1 234,5678  123,4567-

If LZ is specified, leading zeros are printed. for example, +1 is shown as 0,000.01 with ON(21,6,FS,C1,LZ).

If LZ is not specified, leading zeros are suppressed except when inappropriate. For example, +1 is shown as 1 with ON(21,6,FS,A1) and as 0.01 with ON(21,6,FS,C1).

The leading sign (blank for a positive value or - for a negative value) appears to the left of the first non-suppressed digit of the formatted value. For example, -1 is shown as -1 with ON(21,6,FS,A2), as -000.001 with ON(21,6,FS,A2,LZ) and as -0.01 with ON(21,6,FS,C2).

E'pattern'
specifies an edit pattern to be applied to the numeric data for this field. E'pattern' is useful for formatting unsigned numeric data such as telephone numbers, dates, time-of-day, social security numbers, and so on. For example, 0123456789 is shown as (012)-345-6789 with ON(21,10,ZD,E'(999)-999-9999').

The pattern (1 to 44 characters) must be enclosed in single apostrophes. Each 9 in the pattern (up to 31) is replaced by a corresponding digit from the numeric value. Characters other than 9 in the pattern appear as specified. To include a single apostrophe (') in the pattern, specify two single apostrophes ('').

F'string' or a mask cannot be specified with E'pattern'.

When E'pattern' is specified for a field:
  • Values are shown unsigned. For example, +120622 and -120622 are both shown as 12:06:22 with ON(12,7,FS,E'99:99:99').
  • If the number of significant digits in a value is less than the number of 9's in the pattern, 0's are filled in on the left. For example, 1234 is shown as 0012-34 with ON(12,6,FS,E'9999-99').
  • If the number of significant digits in a value is greater than the number of 9's in the pattern, digits are truncated from the left. For example, 1234567 is shown as *45:67* with ON(9,4,PD,E'*99:99*').
L'string'
specifies a leading string to appear at the beginning of the character or numeric data column for this field. For example, 'DFSORT ' is shown as '**DFSORT ' with ON(1,8,CH,L'**').

The string (1 to 10 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes ('').

F'string'
specifies a floating string to appear to the left of the first non-blank character of the formatted numeric data for this field. For example, 0001234 is shown as $12.34 with ON(9,7,ZD,C1,F'$').

The string (1 to 10 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes ('').

E'pattern' cannot be specified with F'string'.

T'string'
specifies a trailing string to appear at the end of the character or numeric data column for this field. For example, 'DFSORT ' is shown as '**DFSORT ***' with ON(1,8,CH,L'**',T'***').

The string (1 to 10 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes ('').

LZ
specifies that leading zeros are to be printed when the specified edit mask is applied to the numeric data for this field, overriding the default of suppressing leading zeros. For example, +123 is shown as 123 with ON(21,6,FS,A0), but as 000123 with ON(21,6,FS,A0,LZ).

LZ is useful for formatting numeric data, such as account numbers, for which leading zeros must be printed.

Leading zeros are always printed for E'pattern' regardless of whether or not LZ is specified.

NOST
specifies that requested statistics (TOTAL, MAXIMUM, MINIMUM, AVERAGE, BTOTAL, BMAXIMUM, BMINIMUM, BAVERAGE) are not to be printed for this numeric field.
Ndd or Udd
specifies the number of digits to be used for the numeric field. Ndd or Udd can be used to change the column width for numeric fields, and to prevent overflow for totals. dd specifies the number of digits and must be a two-digit number between 01 and 31.

The default number of digits (d) for a numeric field is the maximum number of digits for that field. For example, d is 5 for ON(1,5,ZD). If you know that your numeric field requires less than d digits, you can use a lower number of digits (dd) instead by specifying Udd, thus reducing the column width if it is determined by d. For example, ON(1,5,ZD,U03) reduces d from 5 to 3. If you want your numeric field to be displayed with more than d digits, you can use a higher number of digits (dd) instead by specifying Ndd or Udd, thus increasing the column width if it is determined by d. For example, ON(1,5,ZD,U10) increases d from 5 to 10.

The default number of digits (d) for a total is 15 if the numeric field is BI or FI with a length up to 4, PD with a length up to 8, or ZD, CSF, FS, UFF or SFF with a length up to 15. The default number of digits (d) for a total is 31 if the numeric field is BI or FI with a length greater than 4, PD with a length greater than 8, or ZD, CSF, FS, UFF or SFF with a length greater than 15.

If you know that your total requires less than d digits, you can use a lower number of digits (dd) instead by specifying Ndd or Udd for the ON field, thus reducing the column width if it is determined by d. For example, ON(1,18,ZD,U18) with TOTAL reduces d from 31 to 18. If you know that your total can overflow d digits, you can use a higher number of digits (dd) instead by specifying Ndd or Udd, thus preventing overflow and increasing the column width if it is determined by d. For example, ON(1,15,ZD,U17) with TOTAL increases d from 15 to 17.

Either Ndd or Udd can be used to set d greater than the maximum for a numeric field, but only Udd can be used to set d less than the maximum for a numeric field.

For Udd:

dd is used for d. For example:

If TOTAL and BTOTAL are not used:
  • If ON(1,5,ZD) is specified, 5 digits (default for 5,ZD) are used.
  • If ON(1,5,ZD,U10) is specified, 10 digits (from U10) are used..
  • If ON(1,5,ZD,U03) is specified, 3 digits (from U03) are used.
  • If ON(1,16,FS) is specified, 16 digits (default for 16,FS) are used.
  • If ON(1,16,FS,U16) is specified, 16 digits (from U16) are used..
  • If ON(1,16,FS,U15) is specified, 15 digits (from U15) are used.
If TOTAL or BTOTAL is used:
  • If ON(1,5,ZD) is specified, 15 digits (default for TOTAL or BTOTAL and 5,ZD) are used.
  • If ON(1,5,ZD,U10) is specified, 10 digits (from U10) are used.
  • If ON(1,5,ZD,U03) is specified, 3 digits (from U03) are used.
  • If ON(1,16,FS) is specified, 31 digits (default for TOTAL or BTOTAL and 16,FS) are used.
  • If ON(1,16,FS,U16) is specified, 16 digits (from U16) are used.
  • If ON(1,16,FS,U15) is specified, 15 digits (from U15) are used.

If you use Udd and a numeric value or total overflows dd digits, ICETOOL prints asterisks for that numeric value or total and terminates the operation. You can prevent the overflow by specifying an appropriately higher dd value for Udd. For example, if ON(1,12,ZD,U09) results in overflow, you can use ON(1,12,ZD,U10) instead.

If E'pattern' is specified, Udd is ignored, because d is determined from the pattern.

For Ndd:

If dd is greater than or equal d, dd is used. If dd is less than d, d is used. For example:

If TOTAL and BTOTAL are not used:
  • If ON(1,5,ZD) is specified, 5 digits (default for 5,ZD) are used.
  • If ON(1,5,ZD,N10) is specified, 10 digits (from N10) are used.
  • If ON(1,5,ZD,N03) is specified, 5 digits (from 5,ZD) are used
If TOTAL or BTOTAL is used:
  • If ON(1,5,ZD) is specified, 15 digits (default for TOTAL or BTOTAL and 5,ZD) are used.
  • If ON(1,5,ZD,N10) is specified, 10 digits (from N10) are used.
  • If ON(1,5,ZD,N03) is specified, 5 digits (from 5,ZD) are used.

If you use Ndd and a total overflows dd digits, ICETOOL prints asterisks for the total and terminates the operation. You can prevent the overflow by specifying an appropriately higher dd value for Ndd. For example, if ON(1,17,ZD,N17) with TOTAL results in overflow, you can use ON(1,17,ZD,N18) instead

If E'pattern' is specified, Ndd is ignored, because d is determined from the pattern.

/x
specifies division of the numeric data for this field before formatting. x indicates the division factor to be used as described later in this section. The resulting values are rounded down to the nearest integer. Statistics (TOTAL, MAXIMUM, MINIMUM, AVERAGE, BTOTAL, BMAXIMUM, BMINIMUM, BAVERAGE) and column widths reflect the divided numbers.
/D
specifies division by 10 before formatting. For example, -1234 is shown as -123 with ON(11,2,FI,/D).
/C
specifies division by 100 before formatting. For example, 12345 is shown as 12.3 with ON(11,2,BI,/C,B1).
/K
specifies division by 1000 before formatting. For example, -1234567890 is shown as (1 234 567) with ON(1,11,FS,/K,E3).
/DK
specifies division by 10000 (10*1000) before formatting. For example, 6213849653 is shown as 0-6213-84 with ON(31,10,FS,/DK,E'9-9999-99').
/CK
specifies division by 100000 (100*1000) before formatting. For example, 1234567890123456789012345 is shown as 1,234,567,890,123,456.7890 with ON(21,25,ZD,G1,/CK).
/M
specifies division by 1000000 (1000*1000) before formatting. For example, -123456789 is shown as -1.23 with ON(31,10,FS,/M,C4).
/G
specifies division by 1000000000 (1000*1000*1000) before formatting. For example, 1234567898765 is shown as 1'234 with ON(15,13,ZD,A4,/G).
/KB
specifies division by 1024 before formatting. For example, 1234567890 is shown as 1 205 632 with ON(45,10,ZD,/KB,A3).
/MB
specifies division by 1048576 (1024*1024) before formatting. For example, 123456789 is shown as 117 with ON(60,9,FS,/MB).
/GB
specifies division by 1073741824 (1024*1024*1024) before formatting. For example, 1234567898765 is shown as 1,149 with ON(15,13,ZD,/GB,A1).
ON(p,m,HEX)
Specifies the position and length of a character field to be used for this operation and printed in hexadecimal format (00-FF for each byte). '(p,m,HEX)' is used for the standard column heading. See HEADER('string1'), HEADER('string1','string2'), HEADER('string1','string2','string3'), HEADER(NONE), and NOHEADER for alternative heading options.

See ON(p,m,f) for a discussion of p.

m specifies the length of the field in bytes. A field must not extend beyond position 32752 or beyond the end of a record. A field can be 1 to 2000 bytes.

ON(VLEN)
Equivalent to specifying ON(1,2,BI); a two-byte binary field starting at position 1. For variable-length records, ON(VLEN) represents the record-length for each record. ' RECORD LENGTH' is used for the standard column heading. See HEADER('string1'), HEADER('string1','string2'), HEADER('string1','string2','string3'), HEADER(NONE), and NOHEADER for alternative heading options.
ON(VLEN,formatting)
Equivalent to specifying ON(1,2,BI,formatting); a two-byte binary field starting at position 1, and how the data for this field is to be formatted for printing. The BLANK operand is automatically in effect.

See ON(VLEN) for further details.

formatting
Read syntax diagramSkip visual syntax diagram
   .-,------------------.   
   V                    |   
>>---+-+-mask-------+-+-+--------------------------------------><
     | '-E'pattern'-' |     
     +-L'string'------+     
     +-F'string'------+     
     +-T'string'------+     
     +-LZ-------------+     
     +-NOST-----------+     
     +-+-Ndd-+--------+     
     | '-Udd-'        |     
     '-/x-------------'     

specifies formatting items that indicate how the data for this field is to be formatted for printing. Formatting items can be specified in any order, but each item can only be specified once.

The column width is dynamically adjusted to accommodate the maximum bytes to be inserted as a result of all formatting items specified.

See ON(p,m,f,formatting) for a discussion of formatting.

ON(NUM)
Specifies that the record number is to be printed. The record number starts at 1 and is incremented by 1 for each record printed in the list data set. 'RECORD NUMBER' is used for the standard column heading. See HEADER('string1'), HEADER('string1','string2'), HEADER('string1','string2','string3'), HEADER(NONE), and NOHEADER for alternative heading options.
ON(NUM,formatting)
Specifies that the record number is to be printed, and how the record number is to be formatted for printing. The BLANK operand is automatically in effect.

See ON(NUM) for further details.

formatting
Read syntax diagramSkip visual syntax diagram
   .-,------------------.   
   V                    |   
>>---+-+-mask-------+-+-+--------------------------------------><
     | '-E'pattern'-' |     
     +-L'string'------+     
     +-F'string'------+     
     +-T'string'------+     
     +-LZ-------------+     
     '-+-Ndd-+--------'     
       '-Udd-'              

specifies formatting items that indicate how the record number is to be formatted for printing. Formatting items can be specified in any order, but each item can only be specified once.

The column width is dynamically adjusted to accommodate the maximum bytes to be inserted as a result of all formatting items specified.

mask
See ON(p,m,f,formatting) for a discussion of mask.
E'pattern'
specifies an edit pattern to be applied to the record number. The pattern (1 to 24 characters) must be enclosed in single apostrophes. Each 9 in the pattern (up to 15) is replaced by a corresponding digit from the numeric value. Characters other than 9 in the pattern appear as specified. To include a single apostrophe (') in the pattern, specify two single apostrophes ('').

F'string' or a mask cannot be specified with E'pattern'.

When E'pattern' is specified for the record number:
  • If the number of significant digits in a record number is less than the number of 9's in the pattern, 0's are filled in on the left. For example, 1234 is shown as 001234 with ON(NUM,E'999999').
  • If the number of significant digits in a record number is greater than the number of 9's in the pattern, digits are truncated from the left. For example, 1234567 is shown as *4567* with ON(NUM,E'*9999*').
L'string'
See ON(p,m,f,formatting) for a discussion of L'string'.
F'string'
See ON(p,m,f,formatting) for a discussion of F'string'.
T'string'
See ON(p,m,f,formatting) for a discussion of T'string'.
LZ
See ON(p,m,f,formatting) for a discussion of LZ.
Ndd or Udd
Specifies the number of digits to be used for the record number when determining the column width. dd specifies the number of digits and must be a two-digit number between 01 and 15.

The default number of digits (d) for the record number is 15. If you know that your record numbers require less than 15 digits, you can use a lower number of digits (dd) instead by specifying Ndd or Udd thus reducing the column width if it is determined by d. For example, if ON(NUM,N09) or ON(NUM,U09) is specified, 9 digits (from N09 or U09) is used instead of 15 (default for record number).

If you use Ndd or Udd and the number of records overflows the number of digits used, ICETOOL terminates the operation. You can prevent the overflow by specifying an ppropriately higher dd value for Ndd or Udd. For example, if ON(NUM,N05) results in overflow, you can use ON(NUM,N06) instead.

If E'pattern' is specified, Ndd or Udd is ignored, because d is determined from the pattern.

LIST(listdd)
Specifies the ddname of the list data set to be produced by ICETOOL for this operation. A listdd DD statement must be present. ICETOOL sets the attributes of the list data set as follows:
  • If NOCC is not specified, RECFM is set to FBA. If NOCC is specified, RECFM is set to FB.
  • LRECL is set to one of the following:
    • If WIDTH(n) is specified, LRECL is set to n. Use WIDTH(n) if your LRECL must be set to a particular value (for example, if you use DISP=MOD to place several reports in the same data set).
    • If WIDTH(n) is not specified and NOCC is not specified, LRECL is set to 121 or to the calculated required line length if it is greater than 121 characters.
    • If WIDTH(n) is not specified and NOCC is specified, LRECL is set to 120 or to the calculated required line length if it is greater than 120 characters.

    If your LRECL does not need to be set to a particular value, you can let ICETOOL determine and set the appropriate LRECL value by not specifying WIDTH(n).

  • BLKSIZE is set to one of the following:
    • The BLKSIZE from the DD statement, DSCB, or label, if it is a multiple of the LRECL used.
    • The LRECL if the BLKSIZE from the DD statement, DSCB, or label is not a multiple of the LRECL used.
    • The block size as directed by LISTSDB or LISTNOSDB if specified, or otherwise as directed by the SDBMSG installation option from ICEAM2 or ICEAM4 (see z/OS DFSORT Installation and Customization), if the BLKSIZE is not available from the DD statement, DSCB, or label.

Refer to JCL restrictions for more information regarding the selection of ddnames.

TITLE('string')
Specifies printing of a title string in a title line. The title string is of the form:
string

Up to three TITLE operands can be specified.

The first TITLE operand, if specified, supplies a string for the first title line. Other title elements (PAGE for page number, DATE, DATE(abcd), DATENS(abc), YDDD(abc) or YDDDNS(ab) for the date, and TIME, TIME(abc) or TIMENS(ab) for the time) can also be specified for the first title line with or without a title string.

The second TITLE operand, if specified, specifies a string for the second title line. The third TITLE operand, if specified, specifies a string for the third title line.

If you specify any title elements (title string, page number, date or time), the first title line is printed at the top of each page of the list data set. It contains the title elements you specify in the order in which you specify them. By default, eight blanks appear between title elements on the first title line. You can change the space between title elements on the first title line with TBETWEEN(n). A blank line is printed after the first title line.

If you specify a second TITLE operand, the second title line containing the specified title string is printed after the first title line. A blank line is printed after the second title line. If you specify a third TITLE operand, the third title line containing the specified title string is printed after the second title line. A blank line is printed after the third title line.

By default, the title strings in the title lines are centered with respect to each other. TLEFT can be used to left-justify the title string in the title lines with respect to each other.

By default, the title lines are printed on every page. TFIRST can be used to only print the title lines on the first page.

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). Blanks at the start of the string move the text to the right. Blanks at the end of the string increase the spacing between the string and the next title element.

TITLE('string1','string2')
Specifies printing of a two part title string in a title line. The title string is of the form:
string1string2
Note: string1 and string2 can be any combination of inline constants, DFSORT symbol constants, and DFSORT symbol constants for system information (for example, S'&Sysname').

See TITLE('string') for additional informaton on title lines.

Each string (1 to 50 characters) must be enclosed in single apostrophes. The total combined length of string1 and string2 can be up to 50 characters. To include a single apostrophe (') in a string, specify two single apostrophes (''). Blanks at the start of a string move the text to the right. Blanks at the end of string1 increase the spacing between string1 and string2. Blanks at the end of string2 increase the spacing between string2 and the next title element.

TITLE('string1','string2','string3')
Specifies printing of a three part title string in a title line. The title string is of the form:
string1string2string3
Note: string1, string2 and string3 can be any combination of inline constants, DFSORT symbol constants, and DFSORT symbol constants for system information (for example, S'&Sysname').

See TITLE('string') for additional informaton on title lines.

Each string (1 to 50 characters) must be enclosed in single apostrophes. The total combined length of string1, string2 and string3 can be up to 50 characters. To include a single apostrophe (') in a string, specify two single apostrophes (''). Blanks at the start of a string move the text to the right. Blanks at the end of string1 increase the spacing between string1 and string2. Blanks at the end of string2 increase the spacing between string2 and string3. Blanks at the end of string3 increase the spacing between string3 and the next title element.

TLEFT
Specifies that the title strings in each title line are to be left justified with respect to each other (overriding the default of centering the title strings with respect to each other). See TITLE('string') for additional informaton on title lines.
TFIRST
Specifies that the title lines are only to appear on the first page of the report (overriding the default of having the title lines appear on every page of the report). See TITLE('string') for additional informaton on title lines.
PAGE
Specifies printing of the page number in the first title line. The page number is printed in the form - p - where p is in decimal with no leading zeros. The page number is 1 for the first page and is incremented by 1 for each subsequent page. See TITLE('string') for additional information on the first title line.
DATE
Specifies printing of the date in the first title line. The date is printed in the form mm/dd/yy where mm is the month, dd is the day, and yy is the year. DATE is equivalent to specifying DATE(MDY/). See TITLE('string') for additional information on the first title line.
DATE(abcd)
Specifies printing of the date in the first title line. The date is printed in the form 'adbdc' according to the specified values for abc and d. For example, on March 29, 2002, DATE(4MD-) would produce '2002-03-29' and DATE(MDY.) would produce '03.29.02'. See TITLE('string') for additional information on the first title line.

abc can be any combination of M, D, and Y or 4 (each specified once) where M represents the month (01-12), D represents the day (01-31), Y represents the last two digits of the year (for example, 02), and 4 represents the four digits of the year (for example, 2002).

d can be any character and is used to separate the month, day, and year.

DATENS(abc)
Specifies printing of the date in the first title line. The date is printed in the form 'abc' according to the specified values for abc. For example, on March 29, 2002, DATENS(4MD) would produce '20020329' and DATENS(MDY) would produce '032902'. See TITLE('string') for additional information on the first title line.

abc can be any combination of M, D, and Y or 4 (each specified once) where M represents the month (01-12), D represents the day (01-31), Y represents the last two digits of the year (for example, 02), and 4 represents the four digits of the year (for example, 2002).

YDDD(abc)
specifies printing of the date in the first title line. The date is printed in the form 'acb' according to the specified values for ab and c. For example, on April 7, 2004, YDDD(DY-) would produce '098-04' and YDDD(4D/) would produce '2004/098'. See TITLE('string') for additional information on the first title line.

ab can be any combination of D, and Y or 4 (each specified once) where D represents the day of the year (001-366), Y represents the last two digits of the year (for example, 04), and 4 represents the four digits of the year (for example, 2004).

c can be any character and is used to separate the month, day and year.

YDDDNS(ab)
specifies printing of the date in the first title line. The date is printed in the form 'ab' according to the specified values for ab. For example, on April 7, 2004, YDDDNS(DY) would produce '09804' and YDDD(4D) would produce '2004098'. See TITLE('string') for additional information on the first title line.

ab can be any combination of D, and Y or 4 (each specified once) where D represents the day of the year (001-366), Y represents the last two digits of the year (for example, 04), and 4 represents the four digits of the year (for example, 2004).

TIME
Specifies printing of the time in the first title line. The time is printed in the form hh:mm:ss where hh is hours, mm is minutes and ss is seconds. TIME is equivalent to specifying TIME(24:). See TITLE('string') for additional information on the first title line.
TIME(abc)
Specifies printing of the time in the first title line. The time is printed in the form 'hhcmmcss xx' according to the specified value for ab and c. For example, at 08:25:13 pm, TIME=(24:) would produce '20:25:13' and TIME=(12.) would produce '08.25.13 pm'. See TITLE('string') for additional information on the first title line.
ab can be:
  • 12 to indicate 12-hour time. hh (hours) is 01-12, mm (minutes) is 00-59, ss (seconds) is 00-59 and xx is am or pm.
  • 24 to indicate 24-hour time. hh (hours) is 00-23, mm (minutes) is 00-59, ss (seconds) is 00-59 and xx is not included.

c can be any character and is used to separate the hours, minutes, and seconds.

TIMENS(ab)
Specifies printing of the time in the first title line. The time is printed in the form 'hhmmss xx' according to the specified value for ab. For example, at 08:25:13 pm, TIMENS=(24) would produce '202513' and TIMENS=(12) would produce '082513 pm'. See TITLE('string') for additional information on the first title line.
ab can be:
  • 12 to indicate 12-hour time. hh (hours) is 01-12, mm (minutes) is 00-59, ss (seconds) is 00-59 and xx is am or pm.
  • 24 to indicate 24-hour time. hh (hours) is 00-23, mm (minutes) is 00-59, ss (seconds) is 00-59 and xx is not included.
BLANK
Specifies an alternate format for printing character and numeric data as follows:
  • Numeric values for which formatting is not specified are printed with blank for plus sign, - for minus sign and no leading zeros (overriding the default of + for plus sign and leading zeros).
    Numeric values are thus displayed as:
    • d...d for positive values (blank sign immediately to the left of the digits and no leading zeros)
    • -d...d for negative values (- sign immediately to the left of the digits and no leading zeros)
  • Column widths are dynamically adjusted according to the length of the headings and the maximum number of bytes needed for the character or numeric data
  • Headings and data for numeric fields are right-justified (overriding the default of left-justified headings and data for numeric fields)
PLUS
Specifies an alternate format for printing character and numeric data as follows:
  • Numeric values for which formatting is not specified are printed with + for plus sign, - for minus sign and no leading zeros (overriding the default of leading zeros).
    Numeric values are thus displayed as:
    • +d...d for positive values (- sign immediately to the left of the digits and no leading zeros)
    • -d...d for negative values (- sign immediately to the left of the digits and no leading zeros)
  • Column widths are dynamically adjusted according to the length of the headings and the maximum number of bytes needed for the character or numeric data
  • Headings and data for numeric fields are right-justified (overriding the default of left-justified headings and data for numeric fields)

For ON(NUM), PLUS is treated as BLANK.

NOCC
Specifies that carriage control characters are not to be included in the lines of the list data set (overriding the default of using a carriage control character as the first byte of each line). A blank line is used instead of a page eject control character to separate elements of the report (such as sections).

The RECFM of the list data set is set to FB.

The LRECL of the list data set will not include a byte for the carriage control character. If the line length is less than or equal to 120 bytes, the LRECL will be set to 120. If the line length is greater than 120 bytes, the LRECL will be set to the line length. The maximum line length is 2047 bytes if LONGLINE is not specified, or 8191 bytes if LONGLINE is specified.

If WIDTH(n) is specified, n can be 121 to 8191.

HEADER('string1')
Specifies a heading to be printed for the corresponding ON field. The specified string is used instead of the standard column heading for the corresponding ON field. (ON fields and HEADER operands correspond one-for-one according to the order in which they are specified; that is, the first HEADER operand corresponds to the first ON field, the second HEADER operand corresponds to the second ON field, and so on.)

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). If the string length is greater than the column width for the corresponding ON field, the column width is increased to the string length.

The heading is left-justified for character fields or right-justified for numeric fields and is underlined with hyphens for the entire column width (overriding the default of left-justified, non-underlined headings). Character values are left-justified and numeric values are right-justified (overriding the default of left-justified field values).

A null string ('') or blank string (' ') may be used to set string1 to blanks.

Blanks at the start or end of a heading string may alter the justification of the heading or the width of the column.

If HEADER('string1') is used for any ON field, HEADER('string1'), HEADER('string1','string2'), HEADER('string1','string2','string3'), or HEADER(NONE) must be used for each ON field.

HEADER('string1','string2')
Specifies a heading to be printed for the corresponding ON field. A two-line heading is used with string1 on line1 and string2 on line2. A null string ('') or blank string (' ') may be used to set string1 or string2 to blanks. A comma (,) may also be used to set string1 to blanks. For example, HEADER(,'string1') results in blanks for this heading in line1 and string1 for this heading in line2.

If HEADER('string1','string2') is used for any ON field, HEADER('string1'), HEADER('string1','string2'), HEADER('string1','string2','string3') or HEADER(NONE) must be used for each ON field.

If a HEADER('string1','string2') operand is specified, a two-line heading is also used for any HEADER('string1') operands you specify, with string1 for that heading on line1 and blanks for that heading on line2. HEADER(,'string1') can be used to put blanks for that heading on line1 and string1 for that heading on line2.

See HEADER('string1') for more details on the HEADER operand.

HEADER('string1','string2','string3')
Specifies a heading to be printed for the corresponding ON field. A three-line heading is used with string1 on line1, string2 on line2 and string3 on line3. A null string ('') or blank string (' ') may be used to set string1, string2 or string3 to blanks. A comma (,) may also be used to set string1 or string2 to blanks. For example, HEADER(,,'string1') results in blanks for this heading in line1 and line2 and string1 for this heading in line3.

If HEADER('string1','string2','string3') is used for any ON field, HEADER('string1'), HEADER('string1','string2'), HEADER('string1','string2','string3') or HEADER(NONE) must be used for each ON field.

If a HEADER('string1','string2','string3') operand is specified:
  • a three-line heading is also used for any HEADER('string1') operands you specify, with string1 for that heading on line1 and blanks for that heading on line2 and line3. HEADER(,,'string1') can be used to put blanks for that heading on line1 and line2 and string1 for that heading on line3.
  • a three-line heading is also used for any HEADER('string1','string2') operands you specify, with string1 for that heading on line1, string2 for that heading on line2 and blanks for that heading on line3. HEADER(,'string1','string2') can be used to put blanks for that heading on line1, string1 for that heading on line2 and string2 for that heading on line3.

See HEADER('string1') for more details on the HEADER operand.

HEADER(NONE)
Specifies that a heading is not to be printed for the corresponding ON field. The standard column heading for the corresponding ON field is suppressed.

If HEADER(NONE) is used for any ON field, HEADER('string1'), HEADER('string1','string2'), HEADER('string1','string2','string3'), or HEADER(NONE) must be used for each ON field. Specifying HEADER(NONE) for every ON field is equivalent to specifying NOHEADER.

NOHEADER
Specifies that headings for ON fields are not to be printed (overriding the default of printing standard headings for ON fields).

If NOHEADER is used, it must be specified only once and HEADER('string1'), HEADER('string1','string2'), HEADER('string1','string2','string3'), and HEADER(NONE) must not be used.

If NOHEADER is specified without any TITLE, DATE, TIME, or PAGE operands, the resulting list data set contains only data records. Data sets created in this way can be processed further by other operators (for example, STATS or UNIQUE) using CH for character values or FS for numeric values.

LINES(n)
Specifies the number of lines per page for the list data set (overriding the default of 58). n must be greater than 9, but less than 1000.
INDENT(n)
Specifies the number of blanks to be used to indent the report (overriding the default of 0). n can be from 0 to 50. For example, if INDENT(n) is not specified, the report starts in column 2 (after the control character), whereas if INDENT(10) is specified, the report starts in column 12 (after the control character and 10 blanks).
BETWEEN(n)
Specifies the number of blanks to be used between the columns of data (overriding the default of 3). n can be from 0 to 50. For example, if BETWEEN(n) is not specified, three blanks appear between columns, whereas if BETWEEN(7) is specified, seven blanks appear between columns.
TBETWEEN(n)
Specifies the number of blanks to be used between title elements (title strings, page number, date and time) in the first title line (overriding the default of 8). n can be from 0 to 50. For example, if TBETWEEN(n) is not specified, eight blanks appear between the title strings and page number in the first title line, whereas if TBETWEEN(4) is specified, four blanks appear between the title strings and page number in the first title line.
TOTAL('string')
Specifies an overall TOTAL line is to be printed after the rows of data for the report. The specified string is printed starting at the indent column of the overall TOTAL line, followed by the overall total for each numeric data column. If STATLEFT is specified, the string is printed to the left of the first column of data with the totals on the same line as the string. If STATLEFT is not specified, the string is printed in the first column of data with the totals on the same line as the string, or on the next line, as appropriate. A blank line is printed before the overall TOTAL line.

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). To suppress printing of a string, specify TOTAL('') using two single apostrophes.

The overall total for each numeric ON field is printed in the format (formatting, PLUS, BLANK, or standard) you specify. The total for a specific numeric field is suppressed if the NOST formatting item is specified for that field. Totals are printed for ON(VLEN) fields, but not for ON(NUM) fields.

The default number of digits (d) for a total is 15 if the ON field is BI or FI with a length up to 4, PD with a length up to 8, or ZD, CSF, FS, UFF or SFF with a length up to 15. The default number of digits (d) for a total is 31 if the ON field is BI or FI with a length greater than 4, PD with a length greater than 8, ZD, CSF, FS, UFF or SFF with a length greater than 15, or FL. By default, column widths are adjusted to allow for a maximum of a sign and d digits for the totals. If the overall total for an ON field overflows d digits, ICETOOL prints asterisks for the overall total for that field and terminates the operation.

You can use the Ndd or Udd formatting item to decrease or increase the number of digits used for a total. If you use Ndd or Udd and the overall total for an ON field overflows dd digits, ICETOOL prints asterisks for the overall total for that field and terminates the operation.

You can prevent overflow by specifying an appropriate dd value for Ndd or Udd. For example, if ON(1,15,ZD) with TOTAL overflows the default of 15 digits, you can specify ON(1,15,ZD,U16) to prevent overflow. If ON(1,15,ZD,U16) still results in overflow, you can specify ON(1,15,ZD,U17), and so on.

Either Ndd or Udd can be used to set the number of digits greater than the maximum for a numeric field, but only Udd can be used to set the number of digits less than the maximum for a numeric field.

See the discussion of Ndd or Udd under ON(p,m,f,formatting) for more details on using Ndd or Udd with TOTAL.

The TOTAL, MAXIMUM, MINIMUM, AVERAGE, and COUNT lines are printed in the order in which you specify them.

MAXIMUM('string')
Specifies an overall MAXIMUM line is to be printed after the rows of data for the report. The specified string is printed starting at the indent column of the overall MAXIMUM line, followed by the overall maximum for each numeric data column. If STATLEFT is specified, the string is printed to the left of the first column of data with the maximums on the same line as the string. If STATLEFT is not specified, the string is printed in the first column of data with the maximums on the same line as the string, or on the next line, as appropriate. A blank line is printed before the overall MAXIMUM line.

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). To suppress printing of a string, specify MAXIMUM('') using two single apostrophes.

The overall maximum for each numeric ON field is printed in the format (formatting, PLUS, BLANK, or standard) you specify. The maximum for a specific numeric field is suppressed if the NOST formatting item is specified for that field. Maximums are printed for ON(VLEN) fields, but not for ON(NUM) fields.

The TOTAL, MAXIMUM, MINIMUM, AVERAGE, and COUNT lines are printed in the order in which you specify them.

MINIMUM('string')
Specifies an overall MINIMUM line is to be printed after the rows of data for the report. The specified string is printed starting at the indent column of the overall MINIMUM line, followed by the overall minimum for each numeric data column. If STATLEFT is specified, the string is printed to the left of the first column of data with the minimums on the same line as the string. If STATLEFT is not specified, the string is printed in the first column of data with the minimums on the same line as the string, or on the next line, as appropriate. A blank line is printed before the overall MINIMUM line.

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). To suppress printing of a string, specify MINIMUM('') using two single apostrophes.

The overall minimum for each numeric ON field is printed in the format (formatting, PLUS, BLANK, or standard) you specify. The minimum for a specific numeric field is suppressed if the NOST formatting item is specified for that field. Minimums are printed for ON(VLEN) fields, but not for ON(NUM) fields.

The TOTAL, MAXIMUM, MINIMUM, AVERAGE, and COUNT lines are printed in the order in which you specify them.

AVERAGE('string')
Specifies an overall AVERAGE line is to be printed after the rows of data for the report. The specified string is printed starting at the indent column of the overall AVERAGE line, followed by the overall average for each numeric data column. If STATLEFT is specified, the string is printed to the left of the first column of data with the averages on the same line as the string. If STATLEFT is not specified, the string is printed in the first column of data with the averages on the same line as the string, or on the next line, as appropriate. A blank line is printed before the overall AVERAGE line.

The overall average (or mean) is calculated by dividing the overall total by the number of values in the report and rounding down to the nearest integer (examples: 23 / 5 = 4, -23 / 5 = -4).

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes ('). To suppress printing of a string, specify AVERAGE('') using two single apostrophes.

The overall average for each numeric ON field is printed in the format (formatting, PLUS, BLANK, or standard) you specify. The average for a specific numeric field is suppressed if the NOST formatting item is specified for that field. Averages are printed for ON(VLEN) fields, but not for ON(NUM) fields.

You can use the Ndd or Udd formatting item to decrease or increase the number of digits used for a total. If the overall total for an ON field overflows d digits, ICETOOL prints asterisks for the overall average for that field and terminates the operation. You can prevent overflow by specifying an appropriate dd value for Ndd or Udd. For example, if ON(1,15,ZD) with AVERAGE overflows the default of 15 digits for the total, you can specify ON(1,15,ZD,U16) to prevent overflow.

See the discussion of Ndd or Udd under ON(p,m,f,formatting) for more details on using Ndd or Udd.

The TOTAL, MAXIMUM, MINIMUM, AVERAGE, and COUNT lines are printed in the order in which you specify them.

COUNT('string')
Specifies an overall COUNT line is to be printed after the rows of data for the report. The specified string is printed starting at the indent column of the overall COUNT line, followed by the overall count of data records. If STATLEFT is specified, the string is printed to the left of the first column of data. If STATLEFT is not specified, the string is printed in the first column of data. The count is printed on the same line as the string. A blank line is printed before the overall COUNT line.

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). To suppress printing of a string, specify COUNT('') using two single apostrophes.

The count is printed in the format (PLUS, BLANK, or standard) you specify. EDCOUNT(formatting) can be used to apply formatting items to the count. The default number of digits (d) for the count is 15.

The TOTAL, MAXIMUM, MINIMUM, AVERAGE, and COUNT lines are printed in the order in which you specify them.

EDCOUNT(formatting)
Specifies how the overall count is to be formatted for printing. Formatting items can be specified in any order, but each item can only be specified once. EDCOUNT can only be specified if COUNT('string') is specified.
mask
See ON(p,m,f,formatting) for a discussion of mask.
E'pattern'
specifies an edit pattern to be applied to the count. The pattern (1 to 24 characters) must be enclosed in single apostrophes. Each 9 in the pattern (up to 15) is replaced by a corresponding digit from the count. Characters other than 9 in the pattern appear as specified. To include a single apostrophe (') in the pattern, specify two single apostrophes (''). F'string' or a mask cannot be specified with E'pattern'.
When E'pattern' is specified for the count:
  • If the number of significant digits in the count is less than the number of 9's in the pattern, 0's are filled in on the left. For example, 1234 is shown as 001234 with EDCOUNT(E'999999').
  • If the number of significant digits in the count is greater than the number of 9's in the pattern, digits are truncated from the left. For example, 1234567 is shown as *4567* with EDCOUNT(E'*9999*').
L'string'
See ON(p,m,f,formatting) for a discussion of L'string'.
F'string'
See ON(p,m,f,formatting) for a discussion of F'string'.
T'string'
See ON(p,m,f,formatting) for a discussion of T'string'.
LZ
See ON(p,m,f,formatting) for a discussion of LZ.
Udd
specifies the number of digits to be used for the count. dd specifies the number of digits and must be a two-digit number between 01 and 15. The default number of digits (d) for the count is 15.

If you know that your count requires less than 15 digits, you can use a lower number of digits (dd) instead by specifying Udd. For example, if EDCOUNT(U09) is specified, 9 digits (from U09) is used instead of 15 (default for the count).

If you use Udd and the count overflows the number of digits used, ICETOOL terminates the operation. You can prevent the overflow by specifying an appropriately higher dd value for Udd. For example, if EDCOUNT(U05) results in overflow, you can use EDCOUNT(U06) instead.

If E'pattern' is specified, Udd is ignored, because d is determined from the pattern.

LIMIT(n)
Specifies a limit for the number of invalid decimal values (overriding the default of 200). If n invalid decimal values are found, ICETOOL terminates the operation. n can be 1 to 15 decimal digits, but must be greater than 0.
VSAMTYPE(x)
See the discussion of this operand on the COPY statement in COPY operator.
WIDTH(n)
Specifies the line length and LRECL you want ICETOOL to use for your list data set. If NOCC is not specified, n can be from 121 to 8192. If NOCC is specified, n can be from 121 to 8191.
ICETOOL always calculates the line length required to print all titles, headings, data, and statistics and uses it as follows:
  • If WIDTH(n) is specified and the calculated line length is less than or equal to n, ICETOOL sets the line length and LRECL to n.
  • If WIDTH(n) is specified and the calculated line length is greater than n, ICETOOL issues an error message and terminates the operation.
  • If WIDTH(n) is not specified, NOCC is not specified, and the calculated line length is less than or equal to 121, ICETOOL sets the line length and LRECL to 121.
  • If WIDTH(n) is not specified, NOCC is specified, and the calculated line length is less than or equal to 120, ICETOOL sets the line length and LRECL to 120.
  • If WIDTH(n) is not specified, NOCC is specified, and the calculated line length is between 121 and 2047, or between 121 and 8191 if LONGLINE is specified, ICETOOL sets the line length and LRECL to the calculated line length.
  • If WIDTH(n) is not specified, NOCC is not specified, and the calculated line length is between 122 and 2048, or between 122 and 8192 if LONGLINE is specified, ICETOOL sets the line length and LRECL to the calculated line length.
  • If WIDTH(n) is not specified, NOCC is not specified, and the calculated line length is greater than 2048, or greater than 8192 if LONGLINE is specified, ICETOOL issues an error message and terminates the operation.
  • If WIDTH(n) is not specified, NOCC is specified, and the calculated line length is greater than 2047, or greater than 8191 if LONGLINE is specified, ICETOOL issues an error message and terminates the operation.

Use WIDTH(n) if your LRECL must be set to a particular value (for example, if you use DISP=MOD to place several reports in the same data set) or if you want to ensure that the line length for your report does not exceed a specific maximum (for example, 133 bytes). Otherwise, you can let ICETOOL calculate and set the appropriate line length and LRECL by not specifying WIDTH(n).

LONGLINE
Specifies the calculated line length can be a maximum of 8191 bytes if NOCC is specified, or a maximum of 8192 bytes if NOCC is not specified (overriding the defaults of 2047 bytes if NOCC is specified or 2048 bytes if NOCC is specified). Use LONGLINE if you do not specify WIDTH(n) and your calculated line length is larger than the default.
BREAK(p,m,f)
Specifies a numeric or character break field to be used to divide the report into sections. Each set of sequential input records, with the same value for the specified break field, results in a corresponding set of data lines that is treated as a section in the report. The DISPLAY operator should be preceded by a SORT operator (or another application) that sorts the break field and any other appropriate fields in the desired sequence for the report.

Each section starts on a new page. Each page of a section includes a break title line showing the break value for the section. Numeric break values are printed with blank for plus sign, - for minus sign, and no leading zeros. BTITLE can be used to specify a string to appear in the break title line. The break value and break title string appear in the order in which you specify BREAK and BTITLE. Two blanks appear between break title elements. A blank line is printed after the break title line.

BTOTAL, BMAXIMUM, BMINIMUM, BAVERAGE, and BCOUNT can be used to produce break statistics for each numeric ON field and for the break count-for example, the maximum of the values in the section for ON(5,3,ZD) and the maximum of the values in the section for ON(22,2,BI). The break statistics for each section are printed at the end of the section (on one or more pages that include the break title). TOTAL, MAXIMUM, MINIMUM, AVERAGE, and COUNT can be used to produce overall statistics for each numeric ON field and for the overall count-for example, the maximum of the values in the report for ON(5,3,ZD) and the maximum of the values in the report for ON(22,2,BI). The overall statistics for each section are printed at the end of the report (on a separate page that does not include the break title).

See ON(p,m,f) for a discussion of p and m.

f specifies the format of the field as shown for ON(p,m,f).

Note: An FL (hexadecimal floating-point) field can be specified for ON, but not for BREAK.
For a CSF, FS, UFF, or SFF format break field:
  • A maximum of 31 digits is allowed. If a value with more than 31 digits is found, ICETOOL issues an error message and terminates the operation.
For a ZD or PD format break field:
  • If a decimal value with an invalid digit (A-F) is found, ICETOOL issues an error message and terminates the operation.
  • A value is treated as positive if its sign is F, E, C, A, 8, 6, 4, 2, or 0.
  • A value is treated as negative if its sign is D, B, 9, 7, 5, 3, or 1.
For a DT1, DT2 or DT3 format field:
  • An invalid SMF date can result in a data exception (0C7 ABEND) or an incorrect ZD date.
  • SMF date values are always treated as positive.
For a DC1, DC2, DC3, DE1, DE2, or DE3 format field:
  • TOD and ETOD date values are always treated as positive.
For a TM1, TM2, TM3 or TM4 format field:
  • An invalid SMF time can result in an incorrect ZD time.
  • SMF time values are always treated as positive.
For a TC1, TC2, TC3, TC4, TE1, TE2, TE3, or TE4 format field:
  • TOD and ETOD time values are always treated as positive.
BREAK(p,m,f,formatting)
Specifies a numeric or character break field to be used to divide the report into sections, and how the data for this field is to be formatted for printing.

See BREAK(p,m,f) for further details.

formatting
Read syntax diagramSkip visual syntax diagram
   .-,------------------.   
   V                    |   
>>---+-+-mask-------+-+-+--------------------------------------><
     | '-E'pattern'-' |     
     +-L'string'------+     
     +-F'string'------+     
     +-T'string'------+     
     +-LZ-------------+     
     '-Udd------------'     

specifies formatting items that indicate how the record number is to be formatted for printing. Formatting items can be specified in any order, but each item can only be specified once. Any formatting item can be specified for a numeric break field, but only L'string' and T'string' can be specified for a character break field.

mask
See ON(p,m,f,formatting) for a discussion of mask.
E'pattern'
See ON(p,m,f,formatting) for a discussion of E'pattern'.
L'string'
See ON(p,m,f,formatting) for a discussion of L'string'.
F'string'
See ON(p,m,f,formatting) for a discussion of F'string'.
T'string'
See ON(p,m,f,formatting) for a discussion of T'string'.
LZ
See ON(p,m,f,formatting) for a discussion of LZ.
Udd
specifies the number of digits to be used for a numeric break field. Udd can be used to change the column width for numeric break fields. dd specifies the number of digits and must be a two-digit number between 01 and 31.

The default number of digits (d) for a numeric break field is the maximum number of digits for that field. For example, d is 8 for BREAK(1,8,ZD). If you know that your break field requires less than d digits, you can use a lower number of digits (dd) instead by specifying Udd, thus reducing the break field width. For example, BREAK(1,8,ZD,U06) reduces d from 8 to 6. If you want your break field to be displayed with more than d digits, you can use a higher number of digits (dd) instead by specifying Udd, thus increasing the field width. For example, BREAK(1,8,ZD,U11) increases d from 8 to 11.

BTITLE('string')
Specifies a string to appear in the break title line printed for each page of a section. BTITLE can only be specified if BREAK is specified. The break value and break title string appear in the order in which you specify BREAK and BTITLE. Two blanks appear between break title elements. A blank line is printed after the break title line.

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). Blanks at the start of the string move the text to the right. Blanks at the end of the string increase the spacing between the string and the break value if BTITLE is specified before BREAK.

BTOTAL('string')
Specifies a break TOTAL (BTOTAL) line is to be printed after the rows of data for each section. BTOTAL can only be specified if BREAK is specified. The specified string is printed starting at the indent column of the break TOTAL line, followed by the break total for each numeric data column.If STATLEFT is specified, the string is printed to the left of the first column of data with the totals on the same line as the string. If STATLEFT is not specified, the string is printed in the first column of data with the totals on the same line as the string, or on the next line, as appropriate. A blank line is printed before the break TOTAL line.

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). To suppress printing of a string, specify BTOTAL('') using two single apostrophes.

The break total for each numeric ON field is printed in the format (formatting, PLUS, BLANK, or standard) you specify. The total for a specific numeric field is suppressed if the NOST formatting item is specified for that field. Totals are printed for ON(VLEN) fields, but not for ON(NUM) fields.

The default number of digits (d) for a break total is 15 if the ON field is BI or FI with a length up to 4, PD with a length up to 8, or ZD, CSF, FS, UFF or SFF with a length up to 15. The default number of digits (d) for a break total is 31 if the ON field is BI or FI with a length greater than 4, PD with a length greater than 8, or ZD, CSF, FS, UFF or SFF with a length greater than 15. By default, column widths are adjusted to allow for a maximum of a sign and d digits for the totals. If the break total for an ON field overflows d digits, ICETOOL prints asterisks for the break total for that field and terminates the operation.

You can use the Ndd or Udd formatting item to decrease or increase the number of digits used for a break total. If you use Ndd or Udd and the break total for an ON field overflows dd digits, ICETOOL prints asterisks for the break total for that field and terminates the operation.

You can prevent overflow by specifying an appropriate dd value for Ndd or Udd. For example, if ON(1,15,ZD) with BTOTAL overflows the default of 15 digits, you can specify ON(1,15,ZD,U16) to prevent overflow. If ON(1,15,ZD,U16) still results in overflow, you can specify ON(1,15,ZD,U17), and so on.

Either Ndd or Udd can be used to set the number of digits greater than the maximum for a numeric field, but only Udd can be used to set the number of digits less than the maximum for a numeric field.

See the discussion of Ndd or Udd under ON(p,m,f,formatting) for more details on using Ndd or Udd with BTOTAL.

The BTOTAL, BMAXIMUM, BMINIMUM, BAVERAGE, and BCOUNT lines are printed in the order in which you specify them.

BMAXIMUM('string')
Specifies a break MAXIMUM line is to be printed after the rows of data for each section. BMAXIMUM can only be specified if BREAK is specified. The specified string is printed starting at the indent column of the break MAXIMUM line, followed by the break maximum for each numeric data column. If STATLEFT is specified, the string is printed to the left of the first column of data with the maximums on the same line as the string. If STATLEFT is not specified, the string is printed in the first column of data with the maximums on the same line as the string, or on the next line, as appropriate. A blank line is printed before the break MAXIMUM line.

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). To suppress printing of a string, specify BMAXIMUM('') using two single apostrophes.

The break maximum for each numeric ON field is printed in the format (formatting, PLUS, BLANK, or standard) you specify. The maximum for a specific numeric field is suppressed if the NOST formatting item is specified for that field. Maximums are printed for ON(VLEN) fields, but not for ON(NUM) fields.

The BTOTAL, BMAXIMUM, BMINIMUM, BAVERAGE, and BCOUNT lines are printed in the order in which you specify them.

BMINIMUM('string')
Specifies a break MINIMUM line is to be printed after the rows of data for each section. BMINIMUM can only be specified if BREAK is specified. The specified string is printed starting at the indent column of the break MINIMUM line, followed by the break minimum for each numeric data column. If STATLEFT is specified, the string is printed to the left of the first column of data with the minimums on the same line as the string. If STATLEFT is not specified, the string is printed in the first column of data with the minimums on the same line as the string, or on the next line, as appropriate. A blank line is printed before the break MINIMUM line.

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). To suppress printing of a string, specify BMINIMUM('') using two single apostrophes.

The break minimum for each numeric ON field is printed in the format (formatting, PLUS, BLANK, or standard) you specify. The minimum for a specific numeric field is suppressed if the NOST formatting item is specified for that field. Minimums are printed for ON(VLEN) fields, but not for ON(NUM) fields.

The BTOTAL, BMAXIMUM, BMINIMUM, BAVERAGE, and BCOUNT lines are printed in the order in which you specify them.

BAVERAGE('string')
Specifies a break AVERAGE line is to be printed after the rows of data for each section. BAVERAGE can only be specified if BREAK is specified. The specified string is printed starting at the indent column of the break AVERAGE line, followed by the break average for each numeric data column. If STATLEFT is specified, the string is printed to the left of the first column of data with the averages on the same line as the string. If STATLEFT is not specified, the string is printed in the first column of data with the averages on the same line as the string, or on the next line, as appropriate. A blank line is printed before the break AVERAGE line.

The break average (or mean) is calculated by dividing the break total by the number of values in the section and rounding down to the nearest integer (examples: 23 / 5 = 4, -23 / 5 = -4).

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). To suppress printing of a string, specify BAVERAGE('') using two single apostrophes.

The break average for each numeric ON field is printed in the format (formatting, PLUS, BLANK, or standard) you specify. The average for a specific numeric field is suppressed if the NOST formatting item is specified for that field. Averages are printed for ON(VLEN) fields, but not for ON(NUM) fields.

You can use the Ndd or Udd formatting item to decrease or increase the number of digits used for a break total. If the break total for an ON field overflows d digits, ICETOOL prints asterisks for the break average for that field and terminates the operation. You can prevent overflow by specifying an appropriate dd value for Ndd or Udd. For example, if ON(1,15,ZD) with BAVERAGE overflows the default of 15 digits for the total, you can specify ON(1,15,ZD,U16) to prevent overflow.

See the discussion of Ndd or Udd under ON(p,m,f,formatting) for more details on using Ndd or Udd.

The BTOTAL, BMAXIMUM, BMINIMUM, BAVERAGE, and BCOUNT lines are printed in the order in which you specify them.

BCOUNT('string')
Specifies a break COUNT line is to be printed after the rows of data for each section. BCOUNT can only be specified if BREAK is specified. The specified string is printed starting at the indent column of the break COUNT line, followed by the break count of data records in the section. If STATLEFT is specified, the string is printed to the left of the first column of data. If STATLEFT is not specified, the string is printed in the first column of data. The count is printed on the same line as the string. A blank line is printed before the break COUNT line.

The string (1 to 50 characters) must be enclosed in single apostrophes. To include a single apostrophe (') in the string, specify two single apostrophes (''). To suppress printing of a string, specify BCOUNT('') using two single apostrophes.

The count is printed in the format (PLUS, BLANK, or standard) you specify. EDBCOUNT(formatting) can be used to apply formatting items to the count. The default number of digits (d) for the count is 15.

The BTOTAL, BMAXIMUM, BMINIMUM, BAVERAGE, and BCOUNT lines are printed in the order in which you specify them.

EDBCOUNT(formatting)
Specifies how the break count is to be formatted for printing. Formatting items can be specified in any order, but each item can only be specified once. EDBCOUNT can only be specified if BCOUNT('string') is specified.
mask
See ON(p,m,f,formatting) for a discussion of mask.
E'pattern'
See ON(p,m,f,formatting) for a discussion of E'pattern'.
L'string'
See ON(p,m,f,formatting) for a discussion of L'string'.
F'string'
See ON(p,m,f,formatting) for a discussion of F'string'.
T'string'
See ON(p,m,f,formatting) for a discussion of T'string'.
LZ
See ON(p,m,f,formatting) for a discussion of LZ.
Udd
See EDCOUNT(formatting) for a discussion of Udd.
STATLEFT
Specifies that the strings for statistics (TOTAL, MAXIMUM, MINIMUM, AVERAGE, COUNT, BTOTAL, BMAXIMUM, BMINIMUM, BAVERAGE, BCOUNT) are to be placed to the left of the first column of data (overriding the default of placing the strings in the first column). STATLEFT ensures that each statistic appears on the same line as its string while making the statistics lines stand out from the columns of data.
UZERO
Specifies that -0 and +0 are to be treated as unsigned zero values, that is, as the same value. With UZERO, -0 and +0 are treated as positive for ON, MINIMUM, MAXIMUM, BREAK, BMINIMUM and BMAXIMUM processing.

UZERO overrides the default of treating -0 and +0 as signed zero values, that is, as different values. Without UZERO, -0 is treated as negative and +0 is treated as positive for ON, MINIMUM, MAXIMUM, BREAK, BMINIMUM and BMAXIMUM processing.

LISTSDB OR LISTNOSDB
Can be used to override the SDBMSG value for this LIST data set. LISTSDB directs ICETOOL to select the system-determined optimum block size for the LIST data set in the same way as for installation option SDBMSG=YES. LISTNOSDB directs ICETOOL to select the block size for the LIST data set in the same way as for installation option SDBMSG=NO. See the discussion of the LIST(listdd) operand previously in this section for more information on how LISTSDB or LISTNOSDB affects the LIST data set block size.

Attention: LISTSDB has no effect for SYSOUT data sets (for example, //RPT1 DD SYSOUT=*), because the system-determined optimum block size is not used for spool or dummy data sets.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014