MainframeMaster

DFSORT vs Syncsort (Comparison)

DFSORT and Syncsort are both high-performance sort/merge utilities used on IBM mainframes. They do similar jobs—sorting, merging, copying, and transforming datasets—but they come from different vendors and are not the same product. This page compares them so you can understand the differences and work with whichever one your shop uses.

Fundamentals
Progress0 of 0 lessons

Vendor and Product Identity

DFSORT (Data Facility Sort) is IBM's sort/merge utility. It is supplied with z/OS (as an optional feature or part of the operating system, depending on release and licensing). When you use DFSORT, you are using an IBM product supported by IBM documentation and service.

Syncsort is a sort product from Syncsort, Inc. (now part of Precisely). It is a licensed third-party product that many mainframe sites install alongside or instead of DFSORT. Syncsort provides its own documentation and support. So the first big difference is simply: who makes it—IBM vs Syncsort.

How to Tell Which Product You Are Using

Your JCL might look the same either way (e.g. EXEC PGM=SORT). The way to know which product actually ran is to look at the messages in the sort step's SYSOUT (job log).

  • DFSORT — Messages typically start with ICE (e.g. ICE000I, ICE001I). So if you see "ICE..." in the sort step output, you ran DFSORT.
  • Syncsort — Messages typically start with WER (e.g. WER000A, WERxxx). So if you see "WER..." in the sort step output, you ran Syncsort.

Your site may also define which product is the default (e.g. via the load library in JOBLIB or STEPLIB) or may run both and select by library. When in doubt, run a small test job and check the message prefixes in SYSOUT.

JCL: Same Program Names, Different Programs

It is common to see PGM=SORT or PGM=ICEMAN in JCL for both products. The program name does not by itself tell you which product runs; the load library does. Whichever sort program is in the concatenation used for the step (e.g. STEPLIB or JOBLIB) is the one that runs. So the same JCL can run DFSORT in one shop and Syncsort in another—only the SYSOUT messages and product documentation will tell you which.

jcl
1
2
3
4
5
6
7
8
9
//SORTSTEP EXEC PGM=SORT //* STEPLIB points to Syncsort in this example; use system lib for DFSORT //STEPLIB DD DSN=SYSS.SYNCSORT.LOADLIB,DISP=SHR //SYSOUT DD SYSOUT=* //SORTIN DD ... //SORTOUT DD ... //SYSIN DD * SORT FIELDS=(1,20,CH,A) /*

In the example above, STEPLIB points to Syncsort; if you changed it to a library containing IBM's SORT, you would run DFSORT. Control cards (SYSIN) must match the product that actually runs.

Control Statements: Similar but Not Identical

Both products support similar concepts: SORT FIELDS, MERGE, INCLUDE/OMIT, INREC, OUTREC, OUTFIL, SUM, and so on. So basic sort and merge jobs often look alike. But they are different products: syntax and options are not fully interchangeable.

  • DFSORT — Has features like IFTHEN in INREC/OUTREC/OUTFIL for conditional building of fields. Syntax and option names follow IBM's documentation (e.g. ICE... messages and IBM manuals).
  • Syncsort — Has its own syntax and option names. It may not support IFTHEN in the same way; it may have different keywords for similar logic. New DFSORT features are often mirrored later in Syncsort, but you must use the correct manual for the product you run.

If you move a job from a DFSORT shop to a Syncsort shop (or the other way around), do not assume the same SYSIN will work. Test and adjust using the appropriate product's documentation.

Feature Comparison (High Level)

Below is a simplified comparison. Exact capabilities depend on product version; always check the vendor's documentation for your release.

DFSORT

  • Sort, merge, copy with SORT FIELDS, MERGE, OPTION COPY.
  • INCLUDE/OMIT, INREC, OUTREC, OUTFIL, SUM, JOINKEYS.
  • IFTHEN for conditional reformatting in INREC/OUTREC/OUTFIL.
  • ICETOOL for multi-operator jobs and reporting.
  • Wide range of data types (CH, PD, BI, ZD, etc.) and tuning options.

Syncsort

  • Sort, merge, copy with similar control-card concepts.
  • Filtering, reformatting, and reporting with its own syntax.
  • MAXSORT — Can automatically split very large files into smaller sorts and then merge, with optional stop/restart. One JCL setup can handle both small and very large inputs.
  • Feature set often follows DFSORT over time but with different keyword and option names.

So: DFSORT is known for strong IFTHEN and ICETOOL; Syncsort is often noted for MAXSORT when dealing with very large files. Your shop may standardize on one product or use both for different workloads.

Which One Should You Use?

You typically do not choose—your site does. Most shops standardize on either DFSORT or Syncsort (or use one as default and the other for specific cases like MAXSORT). You should:

  • Know which product your job actually runs (SYSOUT messages).
  • Use that product's documentation and syntax.
  • If you migrate jobs between shops, expect to adjust control cards to match the target product.

Explain It Like I'm Five

Imagine two different brands of the same kind of tool—like two brands of scissors. Both cut paper, but they might look a bit different and have different extra features. DFSORT and Syncsort are like that: both "cut" (sort and merge) your data, but they are made by different companies. You use the one your school (your company) has. If you look at the label on the tool (the messages in the job log), you can tell which brand it is.

Exercises

  1. Run a simple sort job at your site and look at SYSOUT. What message prefix do you see—ICE or WER? Which product did you run?
  2. In your shop, is the default sort program (e.g. PGM=SORT) DFSORT or Syncsort? How is that decided (e.g. JOBLIB, STEPLIB, system default)?
  3. Name one feature often associated with DFSORT and one often associated with Syncsort.
  4. Why is it important to use the correct product's documentation when writing control statements?

Quiz

Test Your Knowledge

1. How can you tell from SYSOUT whether you ran DFSORT or Syncsort?

  • Check the EXEC statement
  • DFSORT shows WER messages, Syncsort shows ICE*
  • Syncsort shows WER messages, DFSORT shows ICE*
  • Both show the same messages

2. Who supplies DFSORT and who supplies Syncsort?

  • Both from IBM
  • Both from Syncsort Inc
  • DFSORT from IBM, Syncsort from Syncsort Inc
  • DFSORT from Syncsort Inc, Syncsort from IBM

3. What is a feature often associated with Syncsort for very large files?

  • IFTHEN
  • MAXSORT
  • JOINKEYS
  • ICETOOL

4. Are DFSORT and Syncsort control statements fully interchangeable?

  • Yes, identical
  • No, they are different products and syntax can differ
  • Only for SORT FIELDS
  • Only in JCL

5. Can the same JCL (e.g. PGM=SORT) run either product?

  • No, you must use different program names
  • Yes, depending on what the shop has installed and JOBLIB/STEPLIB
  • Only on Windows
  • Only DFSORT supports PGM=SORT