To initiate DFSORT processing with a system macro instruction,
you must:
- Write the required job control language (JCL) DD statements.
- Write DFSORT control statements as operands of assembler DC instructions.
(Using DFSPARM or SORTCNTL data sets to specify program control statements
can be more convenient. See Using DFSORT program control statements for details.)
- Write a parameter list containing information to be passed to
DFSORT and a pointer containing the address of the parameter list.
DFSORT accepts three types of parameter lists: a
24-bit parameter list, an extended (31-bit) parameter list,
and a 64-bit parameter list. Although you can choose any one of the
three parameter lists, the 64-bit parameter list can perform
a superset of the functions of the other parameter lists; therefore,
it is recommended for new DFSORT applications.
Note: DFSORT
can also be called using the system's EXEC PARM parameter list, provided
that the rules for passing it are followed (for example, the parameter
list must reside below 16MB virtual). DFSORT interprets a call using
the EXEC PARM parameter list as a direct invocation rather than a
program invocation.
- If you are using the 64-bit parameter list, prepare
the macro instruction specifying one of the following as the entry
point name: ICEMAN64 or SORT64.
- If you are using the 31-bit or 24-bit parameter
list, prepare the macro instruction specifying one of the following
as the entry point name: ICEMAN, SORT, IERRCO00, or IGHRCO00.
In addition, the following rule applies:
- If you are invoking DFSORT repeatedly (for example, from an E15
or E35 user exit), you must always wait for the last invoked sort
to end before you can give control back to any of your user exits
in an earlier invoked sort.
Note: The save area passed to DFSORT must
begin on a fullword boundary.