Joined: 14 Jun 2006 Posts: 331 Location: Jacksonville, FL
Frank,
We discussed last week that some issues occurred with ICETOOL as related to systems under z/OS1.10 and z/OS1.12.
I set up some tests that sorts some records by a single column. Under z/OS1.10, I ran the following. One step with the option of NOEQUALS and another step with the option of EQUALS:
Code:
//DELETE1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE IZZZ.DATASET.TEST1
SET MAXCC=0
//ICETOOL1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//DFSPARM DD *
OPTION NOEQUALS
//TOOLIN DD *
SORT FROM(INFILE1) TO(SORTOUT1) USING(CTL1)
/*
//INFILE1 DD *
ZZZZZZZZ A
ZZZZZZZZ A
ZZZZZZZZ B
ZZZZZZZZ B
ZZZZZZZZ C
ZZZZZZZZ C
XXXXXXXX A
XXXXXXXX B
XXXXXXXX C
/*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SORTOUT1 DD DSN=IZZZ.DATASET.TEST1,
// UNIT=SYSDA,DISP=(NEW,CATLG),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920),
// SPACE=(TRK,(200,50),RLSE)
//CTL1CNTL DD *
SORT FIELDS=(23,1,CH,A)
OUTFIL FNAMES=SORTOUT1
/*
//DELETE2 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE IZZZ.DATASET.TEST2
SET MAXCC=0
//ICETOOL2 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//DFSPARM DD *
OPTION EQUALS
//TOOLIN DD *
SORT FROM(INFILE1) TO(SORTOUT1) USING(CTL1)
/*
//INFILE1 DD *
ZZZZZZZZ A
ZZZZZZZZ A
ZZZZZZZZ B
ZZZZZZZZ B
ZZZZZZZZ C
ZZZZZZZZ C
XXXXXXXX A
XXXXXXXX B
XXXXXXXX C
/*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SORTOUT1 DD DSN=IZZZ.DATASET.TEST2,
// UNIT=SYSDA,DISP=(NEW,CATLG),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920),
// SPACE=(TRK,(200,50),RLSE)
//CTL1CNTL DD *
SORT FIELDS=(23,1,CH,A)
OUTFIL FNAMES=SORTOUT1
/*
The output of DATASET.TEST1 looked like:
Code:
----+----1----+----2----+----3
******************************
ZZZZZZZZ A
ZZZZZZZZ A
XXXXXXXX A
ZZZZZZZZ B
ZZZZZZZZ B
XXXXXXXX B
ZZZZZZZZ C
ZZZZZZZZ C
XXXXXXXX C
The output of DATASET.TEST2 looked like:
Code:
----+----1----+----2----+----3
******************************
ZZZZZZZZ A
ZZZZZZZZ A
XXXXXXXX A
ZZZZZZZZ B
ZZZZZZZZ B
XXXXXXXX B
ZZZZZZZZ C
ZZZZZZZZ C
XXXXXXXX C
DFSMSG output from the 1st sort:
Code:
ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001
ICE143I 0 BLOCKSET SORT TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R10 - 14:31 ON THU APR 28, 2011 -
OPTION NOEQUALS
ICE140I 0 END OF PARAMETERS FROM DFSPARM - SYSIN OR CTL1CNTL/PARAMETER LIST CONTROL STATEMENTS FOLLOW
SORT FIELDS=(23,1,CH,A)
OUTFIL FNAMES=SORTOUT1
ICE146I 0 END OF STATEMENTS FROM CTL1CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL1,SORTIN=INFILE*
1,SORTOUT=SORTOUT1,DYNALLOC
ICE201I G RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K51707 C6-K51707 C7-K51707 C8-K51707 E4-K51707 C9-BASE E5-K51707 E6-K51707 E7-K51707
ICE193I 0 ICEAM2 INVOCATION ENVIRONMENT IN EFFECT - ICEAM2 ENVIRONMENT SELECTED
ICE252I 1 PARMLIB OPTIONS WERE MERGED WITH INSTALLATION MODULE DEFAULTS
ICE088I 5 IS4275A .ICETOOL1. , INPUT LRECL = 80, BLKSIZE = 80, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,8388608,8364032)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (8306672,8306672)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=256
ICE128I 0 OPTIONS: SIZE=8388608,MAXLIM=1048576,MINLIM=450560,EQUALS=N,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=(SYSDA ,006),ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,COBEXIT=COB2
ICE131I 0 OPTIONS: TMAXLIM=8388608,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=N,DSA=0
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
ICE133I 0 OPTIONS: HIPRMAX=0 ,DSPSIZE=0 ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE084I 0 BSAM ACCESS METHOD USED FOR INFILE1
ICE750I 0 DC 500000 TC 0 CS DSVVV KSZ 1 VSZ 1
ICE752I 0 FSZ=6250 RC IGN=0 E AVG=80 0 WSP=650 C DYN=0 0
ICE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 20480, ABOVE 16M = 2121728
ICE210I 0 SORTOUT1 : EXCP USED, LRECL = 80, BLKSIZE = 27920, TYPE = FB
ICE751I 1 BA-K48846 BB-K48846 BC-BASE CB-K90014 E8-K51707
ICE080I 0 IN MAIN STORAGE SORT
ICE055I 0 INSERT 0, DELETE 0
ICE054I 0 RECORDS - IN: 9, OUT: 9
ICE227I 0 SORTOUT1 : DELETED = 0, REPORT = 0, DATA = 9
ICE228I 0 SORTOUT1 : TOTAL IN = 9, TOTAL OUT = 9
ICE134I 0 NUMBER OF BYTES SORTED: 720
ICE253I 0 RECORDS SORTED - PROCESSED: 9, EXPECTED: 6250
ICE165I 0 TOTAL WORK DATA SET TRACKS ALLOCATED: 0 , TRACKS USED: 0
ICE199I 0 MEMORY OBJECT STORAGE USED = 1M BYTES
ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES
ICE052I 0 END OF DFSORT
DFSMSG output from the 2nd sort:
Code:
ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001
ICE143I 0 BLOCKSET SORT TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R10 - 14:31 ON THU APR 28, 2011 -
OPTION EQUALS
ICE140I 0 END OF PARAMETERS FROM DFSPARM - SYSIN OR CTL1CNTL/PARAMETER LIST CONTROL STATEMENTS FOLLOW
SORT FIELDS=(23,1,CH,A)
OUTFIL FNAMES=SORTOUT1
ICE146I 0 END OF STATEMENTS FROM CTL1CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL1,SORTIN=INFILE*
1,SORTOUT=SORTOUT1,DYNALLOC
ICE201I G RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K51707 C6-K51707 C7-K51707 C8-K51707 E4-K51707 C9-BASE E5-K51707 E6-K51707 E7-K51707
ICE193I 0 ICEAM2 INVOCATION ENVIRONMENT IN EFFECT - ICEAM2 ENVIRONMENT SELECTED
ICE252I 1 PARMLIB OPTIONS WERE MERGED WITH INSTALLATION MODULE DEFAULTS
ICE088I 5 IS4275A .ICETOOL2. , INPUT LRECL = 80, BLKSIZE = 80, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,8388608,8364032)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (8306672,8306672)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=256
ICE128I 0 OPTIONS: SIZE=8388608,MAXLIM=1048576,MINLIM=450560,EQUALS=Y,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=(SYSDA ,006),ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,COBEXIT=COB2
CE131I 0 OPTIONS: TMAXLIM=8388608,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=N,DSA=0
CE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
CE133I 0 OPTIONS: HIPRMAX=0 ,DSPSIZE=0 ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
CE235I 0 OPTIONS: NULLOUT=RC0
CE084I 0 BSAM ACCESS METHOD USED FOR INFILE1
CE750I 0 DC 500000 TC 0 CS DSVVV KSZ 5 VSZ 5
CE752I 0 FSZ=6250 RC IGN=0 E AVG=84 0 WSP=682 C DYN=0 0
CE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 20480, ABOVE 16M = 2121728
CE210I 0 SORTOUT1 : EXCP USED, LRECL = 80, BLKSIZE = 27920, TYPE = FB
CE751I 1 BA-K48846 BB-K48846 BC-BASE CB-K90014 E8-K51707
CE080I 0 IN MAIN STORAGE SORT
CE055I 0 INSERT 0, DELETE 0
CE054I 0 RECORDS - IN: 9, OUT: 9
CE227I 0 SORTOUT1 : DELETED = 0, REPORT = 0, DATA = 9
CE228I 0 SORTOUT1 : TOTAL IN = 9, TOTAL OUT = 9
CE134I 0 NUMBER OF BYTES SORTED: 720
CE253I 0 RECORDS SORTED - PROCESSED: 9, EXPECTED: 6250
CE165I 0 TOTAL WORK DATA SET TRACKS ALLOCATED: 0 , TRACKS USED: 0
CE199I 0 MEMORY OBJECT STORAGE USED = 1M BYTES
CE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
CE188I 0 DATA SPACE STORAGE USED = 0K BYTES
CE052I 0 END OF DFSORT
Under z/OS1.12, I ran the exact same JCL. One step with the option of NOEQUALS and another step with the option of EQUALS:
The output of DATASET.TEST1 looked like:
Code:
----+----1----+----2----+----3---
*********************************
ZZZZZZZZ A
XXXXXXXX A
ZZZZZZZZ A
ZZZZZZZZ B
XXXXXXXX B
ZZZZZZZZ B
ZZZZZZZZ C
XXXXXXXX C
ZZZZZZZZ C
The output of DATASET.TEST2 looked like:
Code:
----+----1----+----2----+----3----+
********************************* T
ZZZZZZZZ A
ZZZZZZZZ A
XXXXXXXX A
ZZZZZZZZ B
ZZZZZZZZ B
XXXXXXXX B
ZZZZZZZZ C
ZZZZZZZZ C
XXXXXXXX C
DFSMSG output from the 1st sort:
Code:
ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001
ICE201I H RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K90026 C6-K90026 C7-K58148 C8-K90026 E4-K58148 C9-BASE E5-K59517 E6-K58148 E7-K90026
ICE143I 0 BLOCKSET SORT TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R12 - 14:14 ON THU APR 28, 2011 -
OPTION NOEQUALS
ICE140I 0 END OF PARAMETERS FROM DFSPARM - SYSIN OR CTL1CNTL/PARAMETER LIST CONTROL STATEMENTS FOLLOW
SORT FIELDS=(23,1,CH,A)
OUTFIL FNAMES=SORTOUT1
ICE146I 0 END OF STATEMENTS FROM CTL1CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL1,SORTIN=INFILE*
1,SORTOUT=SORTOUT1,DYNALLOC
ICE201I H RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K90026 C6-K90026 C7-K58148 C8-K90026 E4-K58148 C9-BASE E5-K59517 E6-K58148 E7-K90026
ICE193I 0 ICEAM2 INVOCATION ENVIRONMENT IN EFFECT - ICEAM2 ENVIRONMENT SELECTED
ICE252I 1 PARMLIB OPTIONS WERE MERGED WITH INSTALLATION MODULE DEFAULTS
ICE088I 1 IS4275A .ICETOOL1. , INPUT LRECL = 80, BLKSIZE = 80, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,8388608,8364032)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (8306672,8306672)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=256
ICE128I 0 OPTIONS: SIZE=8388608,MAXLIM=1048576,MINLIM=450560,EQUALS=N,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=(SYSDA ,006),ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,COBEXIT=COB2
ICE131I 0 OPTIONS: TMAXLIM=8388608,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=N,DSA=0
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
ICE133I 0 OPTIONS: HIPRMAX=0 ,DSPSIZE=0 ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE236I 0 OPTIONS: DYNAPCT=10 ,MOWRK=Y
ICE084I 0 BSAM ACCESS METHOD USED FOR INFILE1
ICE750I 0 DC 500000 TC 0 CS DSVVV KSZ 1 VSZ 1
ICE752I 0 FSZ=6250 RC IGN=0 E AVG=80 0 WSP=650 C DYN=0 0
ICE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 20480, ABOVE 16M = 2121728
ICE210I 0 SORTOUT1 : EXCP USED, LRECL = 80, BLKSIZE = 27920, TYPE = FB
ICE751I 1 DE-K61439 D5-K58148 D9-K58148 CB-BASE E8-K61439
ICE080I 0 IN MAIN STORAGE SORT
ICE055I 0 INSERT 0, DELETE 0
ICE054I 0 RECORDS - IN: 9, OUT: 9
ICE227I 0 SORTOUT1 : DELETED = 0, REPORT = 0, DATA = 9
ICE228I 0 SORTOUT1 : TOTAL IN = 9, TOTAL OUT = 9
ICE134I 0 NUMBER OF BYTES SORTED: 720
ICE253I 0 RECORDS SORTED - PROCESSED: 9, EXPECTED: 6250
ICE165I 0 TOTAL WORK DATA SET TRACKS ALLOCATED: 0 , TRACKS USED: 0
ICE199I 0 MEMORY OBJECT USED AS MAIN STORAGE = 0M BYTES
ICE299I 0 MEMORY OBJECT USED AS WORK STORAGE = 0M BYTES
ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES
ICE052I 0 END OF DFSORT
DFSMSG output from the 2nd sort:
Code:
ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001
ICE201I H RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K90026 C6-K90026 C7-K58148 C8-K90026 E4-K58148 C9-BASE E5-K59517 E6-K58148 E7-K90026
ICE143I 0 BLOCKSET SORT TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R12 - 14:14 ON THU APR 28, 2011 -
OPTION EQUALS
ICE140I 0 END OF PARAMETERS FROM DFSPARM - SYSIN OR CTL1CNTL/PARAMETER LIST CONTROL STATEMENTS FOLLOW
SORT FIELDS=(23,1,CH,A)
OUTFIL FNAMES=SORTOUT1
ICE146I 0 END OF STATEMENTS FROM CTL1CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL1,SORTIN=INFILE*
1,SORTOUT=SORTOUT1,DYNALLOC
ICE201I H RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K90026 C6-K90026 C7-K58148 C8-K90026 E4-K58148 C9-BASE E5-K59517 E6-K58148 E7-K90026
ICE193I 0 ICEAM2 INVOCATION ENVIRONMENT IN EFFECT - ICEAM2 ENVIRONMENT SELECTED
ICE252I 1 PARMLIB OPTIONS WERE MERGED WITH INSTALLATION MODULE DEFAULTS
ICE088I 1 IS4275A .ICETOOL2. , INPUT LRECL = 80, BLKSIZE = 80, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,8388608,8364032)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (8306672,8306672)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=256
ICE128I 0 OPTIONS: SIZE=8388608,MAXLIM=1048576,MINLIM=450560,EQUALS=Y,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=(SYSDA ,006),ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,COBEXIT=COB2
ICE131I 0 OPTIONS: TMAXLIM=8388608,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=N,DSA=0
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
ICE133I 0 OPTIONS: HIPRMAX=0 ,DSPSIZE=0 ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE236I 0 OPTIONS: DYNAPCT=10 ,MOWRK=Y
ICE084I 0 BSAM ACCESS METHOD USED FOR INFILE1
ICE750I 0 DC 500000 TC 0 CS DSVVV KSZ 5 VSZ 5
ICE752I 0 FSZ=6250 RC IGN=0 E AVG=84 0 WSP=682 C DYN=0 0
ICE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 20480, ABOVE 16M = 2121728
ICE210I 0 SORTOUT1 : EXCP USED, LRECL = 80, BLKSIZE = 27920, TYPE = FB
ICE751I 1 DE-K61439 D5-K58148 D9-K58148 CB-BASE E8-K61439
ICE080I 0 IN MAIN STORAGE SORT
ICE055I 0 INSERT 0, DELETE 0
ICE054I 0 RECORDS - IN: 9, OUT: 9
ICE227I 0 SORTOUT1 : DELETED = 0, REPORT = 0, DATA = 9
ICE228I 0 SORTOUT1 : TOTAL IN = 9, TOTAL OUT = 9
ICE134I 0 NUMBER OF BYTES SORTED: 720
ICE253I 0 RECORDS SORTED - PROCESSED: 9, EXPECTED: 6250
ICE165I 0 TOTAL WORK DATA SET TRACKS ALLOCATED: 0 , TRACKS USED: 0
ICE199I 0 MEMORY OBJECT USED AS MAIN STORAGE = 0M BYTES
ICE299I 0 MEMORY OBJECT USED AS WORK STORAGE = 0M BYTES
ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES
ICE052I 0 END OF DFSORT
So the output from DATASET.TEST1 under z/OS1.10 is in a different order than the output from DATASET.TEST1 under Z/OS1.12. You can see from DFSMSG that EQUALS=N is in effect for both.
The ICEPRM00 member of SYS1.PARMLIB has no references to either EQUALS or NOEQUALS.
My question is why would the sort order be different between jobs running under z/OS1.10 and z/OS1.12? Other areas at my company are coming forward with a similiar issue. It appears that under z/OS1.10 it treated the SORT like an EQUALS even though EQUALS was not in effect.
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
1) This has nothing to do with ICETOOL. ICETOOL just calls DFSORT in this case. ICETOOL does not do anything with EQUALS or NOEQUALS for a SORT operator.
2) By definition, EQUALS in effect means that DFSORT must put the duplicate records in their original order. By definition, NOEQUALS in effect means that DFSORT can put the duplicate records in any order. If you want to guarantee that duplicate records are in order, EQUALS must be in effect. With NOEQUALS in effect, duplicate records may or may not be in their original order.
3) Everything here is working as designed and documented.
4) DFSORT can use different sorting techniques for the same job depending on resources available, site options, changes in the code for a release, PTF, etc. In this case z/OS DFSORT V1R10 used memory objects whereas /OS DFSORT V1R12 did not use memory objects. With NOEQUALS in effect, DFSORT was free to put the duplicate records in any order with these techniques. Putting them in their original order or not in their original order are both WAD with NOEQUALS in effect.
Joined: 14 Jun 2006 Posts: 331 Location: Jacksonville, FL
Thank you for your response. I guess the assumption here you must use OPTION EQUALS to ensure your sorted in the correct order. Without it, records can appear in different order even with the same sort fields. Good to know.
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
"the assumption here"? Odd choice of words for something that is fully documented to be true.
From the DFSORT Application Programming Guide:
Quote:
EQUALS or NOEQUALS
Temporarily overrides the EQUALS installation option, which specifies whether the original sequence of records that collate identically for a sort or a merge should be preserved from input to output.
EQUALS
specifies that the original sequence must be preserved.
NOEQUALS
specifies that the original sequence need not be preserved.
Two years later and I have something to say!
I think it is clear here, and I have seen similar examples, that cpuhawg doesn't fully understand the equals/noequals function. In his 9 record input file he gave what he thought was 3 sets of records of which each set contained 2 identical records and 1 similar record. In fact, the input consists of 3 sets of 3 identical records as far as the operation of the sort is concerned. The equals/noequals option operates only on the sort fields, and it doesn't matter what the contents of the other fields of the record are.
Thanks for the backhanded welcome Mr Scherrer.
I was led to the exchange by searching for information on ICE253I, a message that sometimes sems to give quantities at odds with quantities in other messages.
Although it is a good bet that the exchange was finished, there is nothing about the exchange that explicitly says that it was finished; and how much time should elapse before declaring an exchange to be exhausted?
Also, my motive in making the comment I made was to inform cpuhawg about a misconception that he may still have; and I imagined that my posting would trigger an email to cpudawg that there is further comment to his exchange. But I don't think the forum is set up to do that since I did not get an email to tell me that there had been a reply to my comment.
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
Hello,
The welcome was Not backhanded - there were was just more to say.
Quote:
there is nothing about the exchange that explicitly says that it was finished
A 2-year "window" between the last post and "now" should have been sufficient.
There is no official "time-out" for topics. Some have suggested this, but every once in a while, someone makes a rather good reply to an old topic.
Quote:
I imagined that my posting would trigger an email to cpudawg that there is further comment to his exchange. But I don't think the forum is set up to do that since I did not get an email to tell me that there had been a reply to my comment.
Yes, the forum Does send an e-mail - but only if the user (cpuhawg) has indicated a notification e-mail is desired.