PGM=SORT, PGM=ICEMAN and PGM=SYNCSORT. Are they all same?

Is there a difference?

What is the difference between PGM=SORT, PGM=ICEMAN, PGM=ICETOOL and PGM=SYNCSORT. Are they all IBM products. Which one should be used in JCLs?

Am I using DFSORT or SyncSort e1532498807509

This is one of the questions I see quite often at different places and have seen on our board www.zMainframes.com, too. So it make sense to talk in detail about it.

ICEMAN, SORT are two of the program aliases that can be used to invoke the sort product. ICEMAN is the program name for DFSORT. You can invoke DFSORT with PGM=ICEMAN. DFSORT is also shipped with an alias of SORT, so you can use PGM=SORT too.

What’s official about it?

DFSORT’s official three-character identifier is ICE, so all of the DFSORT modules start with ICE (for example – ICEMAN, ICETOOL, ICEGENER etc…) and all of the DFSORT messages start with ICE (ICExxxs).

Other sort products, Syncsort, CA-Sort use SORT or ICEMAN as an alias, most of the time but this based on experience and it might differ for a specific shop. So when you use PGM=SORT or PGM=ICEMAN, you’ll invoke the sort product installed at your site.

Blue Computer Icon Technology Presentation

In nutshell – PGM=ICEMAN and PGM=SORT are equivalent. However many a times, you might hear a [i]lead[/i] saying that, ” “ICEMAN is performance wise better than SORT”. To get to the bottom of that, if you look a the Chapter 2 of “z/OS DFSORT Application Programming Guide”: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ICE1CA20/2.3?DT=20060615185603, syntax shows PGM=SORT and PGM=ICEMAN as equivalent and later it says:

[quote]If you do not use a cataloged procedure, use PGM= either with the actual name of the sort module (ICEMAN) or with one of its aliases: SORT, IERRCO00, or IGHRCO00. Be sure that the alias has not been changed at your site.[/quote]

So unless somebody at your site changed the shipped aliases, whoever says you that “ICEMAN is performance wise better than SORT” doesn’t know what they are talking about.

How do I check it?

Obviously, you can confirm if DFSORT is invoked by PGM=ICEMAN and PGM=SORT at your site by trying both of them and checking the messages.

Syncsort is a sort product produced by SyncSort Inc. CA-Sort is a sort product produced by another company called Computer Associate, CA.. DFSORT is the IBM sort product. EXEC PGM=SORT or EXEC PGM=ICEMAN are typically executing IBM’s sort product, although some sites use aliases for Syncsort so EXEC PGM=SORT actually invokes Syncsort.

Conclusion:

Actually,  you probably should use NONE of these. Most sites allows you to enter EXEC SORT (or EXEC PROC=SORT) to invoke the site sort product via a PROCEDURE (or PROC) that includes most of the DD statements needed for a sort. While some sites have more than one sort product, they are not cheap and hence most sites only use one sort product so it is fairly rare to have a choice of which to use.

Thanks for stopping by,