Page 2 of 2

Re: SORT FIELDS=(1,32,CH,A)

PostPosted: Wed Feb 29, 2012 2:21 am
by dn2012
Thanks its work.

Re: SORT FIELDS=(1,32,CH,A)

PostPosted: Wed Feb 29, 2012 3:41 am
by dn2012
We were expecting around 10k records but file has 206K records.

I think it was due to repeating values.
Do you see any problem with sorting?

Re: SORT FIELDS=(1,32,CH,A)

PostPosted: Wed Feb 29, 2012 3:54 am
by Akatsukami
dn2012 wrote:We were expecting around 10k records but file has 206K records.

I think it was due to repeating values.
Do you see any problem with sorting?

No.

The messages that you posted at 14:32 CST (UTC-6) indicate that the data set does have about 206K records in it. Either your expectations are incorrect, or you screwed the pooch in writing your control cards.

Re: SORT FIELDS=(1,32,CH,A)

PostPosted: Wed Feb 29, 2012 3:59 am
by Frank Yaeger
But here is the issue

We expecting around 10k records but file has 206K records.


You do NOT need to send me a private e-mail every time you post here. Either post here, or send me a private e-mail- don't do both!

I don't understand how you expect me to help you with just this information. I certainly can't verify that you should get 206K records or 10K records since I don't have your input file.

DFSORT pulls the records based on the control statements you give it which are:

  INCLUDE COND=(26,7,CH,EQ,C'MCIPROB')
  SORT FIELDS=(1,32,CH,A)
  SUM FIELDS=NONE


This tells DFSORT to select records with 'MCIPROB' in positions 26-32, sort them on 1-32 and only keep one record with each value in 1-32.
If you're not getting the number of records you expect, then something is not correct in your control statements.

Also, I thought you just wanted to process the IMSTESTA.IMF310.ITD.SOURCE(TCIS0223) data set, so I told you to use:

//SORTIN DD DSN=IMSTESTA.IMF310.ITD.SOURCE(TCIS0223),DISP=SHR

But your JCL shows you using all of the data sets for SORTIN:

//SORTIN DD DISP=OLD,DSN=IMSTESTA.IMF310.ITD.SOURCE(DEFAULT)
// DD DISP=OLD,DSN=IMSTESTA.IMF310.ITD.SOURCE(CWS)
// DD DISP=OLD,DSN=IMSTESTA.IMF310.ITD.SOURCE(TCIS0223)
// DD DISP=OLD,DSN=IMSTESTA.IMF310.ITD.SOURCE(PDB) ## 10/28/11
// DD DISP=OLD,DSN=IMSTESTA.IMF310.ITD.SOURCE(ETRS1211)

You should only have the data set you want to process for SORTIN.

Re: SORT FIELDS=(1,32,CH,A)

PostPosted: Wed Feb 29, 2012 8:59 pm
by dn2012
Thanks for your help.
Problem has been fixed.


ACTION to solve the issue:

I wrote a JCL “ABC.DATA(ICETOOL)” as below:

//*********************************************************************
//*  USE ICETOOL TO DIAGNOSE DATA IN THE DS AT PARTICLAR POSITIONS     
//********************************************************************
//S1    EXEC  PGM=ICETOOL                                             
//TOOLMSG DD SYSOUT=*                                                 
//DFSMSG  DD SYSOUT=*                                                 
//IN DD DSN=IMSTESTA.IMF310.ITD.SOURCE(TCIS0228),DISP=SHR             
//RPT DD SYSOUT=*                                                     
//TOOLIN DD *                                                         
  OCCUR FROM(IN) LIST(RPT) ON(25,7,CH) ON(VALCNT)                     
/*     


TSSDNICE JOB18657
Its count me total count for (TCIS0228).

1234567890123456789012345678901
MCTPMNAMC000493 MCIPROB

I found required record starts at position 25 not 26.
(25,7,CH)

I also noticed that it ends on position 31.


I changed the respective values and its work.

INCLUDE COND=(25,7,CH,EQ,C'MCIPROB')
SORT FIELDS=(1,31,CH,A)

Re: SORT FIELDS=(1,32,CH,A)

PostPosted: Thu Mar 01, 2012 12:35 am
by Frank Yaeger
It took a while but we got this resolved offline via several notes.