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)
See the discussion of this operand on the COPY statement in COPY operator.
TO(outdd)
Specifies the ddname of the output data set to which DFSORT will write the records it selects for the operation (that is, the records that are kept or not removed according to the specified criteria).

An outdd DD statement must be present and must define an output data set that conforms to the rules for DFSORT's SORTOUT data set.

TO and DISCARD can both be specified. If DISCARD is not specified, TO must be specified. If TO is not specified, DISCARD must be specified.

The ddname specified in the TO operand must not be the same as the ddname specified in the FROM or DISCARD operand.

Refer to JCL restrictions for more information.

DISCARD(savedd)
Specifies the ddname of the output data set to which DFSORT will write the records it does not select for the operation.

A savedd DD statement must be present and must define an output data set that conforms to the rules for DFSORT's OUTFIL data set.

TO and DISCARD can both be specified. If DISCARD is not specified, TO must be specified. If TO is not specified, DISCARD must be specified.

The ddname specified in the DISCARD operand must not be the same as the ddname specified in the FROM or TO operand.

Refer to JCL restrictions for more information.

KEEP
Specifies that the records that meet the criteria are to be kept.
REMOVE
Specifies that the records that meet the criteria are to be removed.
INPUT
Specifies that the criteria are to be applied using the first n input records, relative input record numbers, and the last n input records. Use INPUT if you want to apply the criteria directly to the records from the indd data set.

The criteria will be applied to keep or remove records before they are reformatted by INREC, sorted by SORT and summed by SUM. The kept records will subsequently be reformatted, sorted and summed. OUTFIL will be applied to the resulting records.

As an example, if the input data set contains these records:
AAAA R01
AAAA R02
BBBB R03
CCCC R04
CCCC R05
CCCC R06
DDDD R07
DDDD R08
EEEE R09
EEEE R10
EEEE R11
and the following SUBSET operator and DFSORT control statements were specified:
  ...
//TOOLIN DD *
SUBSET FROM(IN) TO(OUT) KEEP INPUT RRN(3,10) USING(CTL1)
//CTL1CNTL DD *
  SORT FIELDS=(1,5,CH,D)
  SUM FIELDS=NONE
/*
First, input records 3-10 would be kept, so the intermediate result would be:
BBBB R03
CCCC R04
CCCC R05
CCCC R06
DDDD R07
DDDD R08
EEEE R09
EEEE R10
Then the SORT statement would be applied, so the intermediate result would be:
EEEE R09
EEEE R10
DDDD R07
DDDD R08
CCCC R04
CCCC R05
CCCC R06
BBBB R03
Finally, the SUM statement would be applied, so the final output in the OUT data set would be:
EEEE R09
DDDD R07
CCCC R04
BBBB R03
OUTPUT
Specifies that the criteria are to be applied using the first n output records, relative output record numbers, and the last n output records. Use OUTPUT if you want to apply the criteria to the indd records after they are processed by INREC, SORT and SUM as specified.

The criteria will be applied to keep or remove records after they are reformatted by INREC, sorted by SORT and summed by SUM. OUTFIL will be applied to the resulting records.

As an example, if the input data set contains these records:
AAAA R01
AAAA R02
BBBB R03
CCCC R04
CCCC R05
CCCC R06
DDDD R07
DDDD R08
EEEE R09
EEEE R10
EEEE R11
and the following SUBSET operator and DFSORT control statements were specified:
  ...
//TOOLIN DD *
SUBSET FROM(IN) TO(OUT) KEEP OUTPUT RRN(2,3) USING(CTL1)
//CTL1CNTL DD *
  SORT FIELDS=(1,5,CH,D)
  SUM FIELDS=NONE
/*
First, the SORT statement would be applied, so the intermediate result would be:
EEEE R09
EEEE R10
EEEE R11
DDDD R07
DDDD R08
CCCC R04
CCCC R05
CCCC R06 
BBBB R03
AAAA R01
AAAA R02
Then the SUM statement would be applied, so the intermediate result would be:
EEEE R09
DDDD R07
CCCC R04
BBBB R03
AAAA R01
Finally, output records 2-3 would be kept, so the final output in the OUT data set would be:
DDDD R07  
CCCC R04
HEADER or FIRST
Specifies one header record (the first record) is to be kept or removed.

HEADER and FIRST are equivalent to HEADER(1) and FIRST(1).

HEADER(u) or FIRST(u)
Specifies u header records (the first u records) are to be kept or removed. For example, HEADER(3) or FIRST(3) keeps or removes the first three records.

u must be specified as n or +n where n can be 1 to 999999999999999.

TRAILER or LAST
Specifies one trailer record (the last record) is to be kept or removed.

TRAILER and LAST are equivalent to TRAILER(1) and LAST(1).

TRAILER(v) or LAST(v)
Specifies v trailer records (the last v records) are to be kept or removed. For example, TRAILER(4) or LAST(4) keeps or removes the last 4 records.

v must be specified as n or +n where n can be 1 to 999999999999999.

RRN(q)
Specifies relative record number q is to be kept or removed. For example, RRN(8) keeps or removes the eighth record.

q must be specified as n or +n where n can be 1 to 999999999999999.

RRN(q,r) or RRN(r,q)
Specifies relative record numbers q through r are to be kept or removed. q can be less than, equal to, or greater than r. For example, RRN(5,10) and RRN(10,5) both keep or remove the fifth through tenth records.

q and r must be specified as n or +n where n can be 1 to 99999999999999.

RRN(q,*)
Specifies relative record numbers q through the last record are to be kept or removed. For example, RRN(7,*) keeps or removes the seventh through last records.

q must be specified as n or +n where n can be 1 to 99999999999999.

Note: RRN(*,q) is not valid
USING(xxxx)
Specifies the first 4 characters of the ddname for the control statement data set to be used by DFSORT for this operation. xxxx must be four characters that are valid in a ddname of the form xxxxCNTL. xxxx must not be SYSx.

If USING is specified, an xxxxCNTL DD statement must be present. Control statements in xxxxCNTL can be used as described for "SUBSET Operator" on page xxx, and must conform to the rules for DFSORT's SORTCNTL data set.

VSAMTYPE(x)
See the discussion of this operand on the COPY statement in COPY operator.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014