Page 1 of 1

SORTING Input file

Posted: Tue May 12, 2009 10:37 am
by biswaranjan
Hi,

In windows files are sorted in a different order.

My I/P file contains:

137-28-430
16-101
16-101-001
16-101-010
504-36
504-36-020
504-36-020

It contains duplicates.

O/P expected is:

16-101
16-101-001
16-101-010
137-28-430
504-36
504-36-020


Is it possibel in SORT? The character '-' is creating problem in Sorting and in SUM FIELDS=NONE command.

Thanks,
Biswa.

Posted: Tue May 12, 2009 3:19 pm
by maheshvamsi
could you please provide more information like, what is key length??

is the key length is 10?

Posted: Tue May 12, 2009 4:36 pm
by biswaranjan
Hi Mahesh,

The key length is 13.


My I/P file contains:

137-28-430
16-101
16-101-001
16-101-010
504-36
504-36-020
504-36-020
504-36-020918
504-36-020910

Thanks,
biswa.

Posted: Tue May 12, 2009 4:45 pm
by maheshvamsi
could you please post sysout messages if you are still facing any issues after using below sort card.

Code: Select all

SORT FIELDS=(1,13,CH,A)
SUM FIELDS=NONE
At present i am not in front of my mainframes. I didn't tested it. I will check it tomoro.

If you are facing problems still, someone can assist you..

hope this will help you.

Posted: Tue May 12, 2009 8:06 pm
by Frank Yaeger
biswaranjan,

You can use a DFSORT job like the following to do what you asked for. I assumed your input file has RECFM=FB and LRECL=80, but the job can be changed for other attributes as appropriate.

Code: Select all

//S1    EXEC  PGM=SORT
//SYSOUT    DD  SYSOUT=*
//SORTIN DD *
137-28-430
16-101
16-101-001
16-101-010
504-36
504-36-020
504-36-020
/*
//SORTOUT DD SYSOUT=*
//SYSIN    DD    *
  INREC PARSE=(%01=(ENDBEFR=C'-',FIXLEN=3),
               %02=(ENDBEFR=C'-',ENDBEFR=C' ',FIXLEN=3),
               %03=(FIXLEN=3)),
  OVERLAY=(81:%01,UFF,EDIT=(TTT),
              %02,UFF,EDIT=(TTT),
              %03,UFF,EDIT=(TTT))
  SORT FIELDS=(81,9,ZD,A)
  SUM FIELDS=NONE
  OUTREC BUILD=(1,80)
/*

Posted: Tue May 12, 2009 8:08 pm
by Frank Yaeger
MaheshVamsi,

Your "solution" does not produce the correct results (and leads me to think that you don't even understand the situation). Please don't post untested jobs.