Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Urgent help needed on DFSORT

Status
Not open for further replies.

deveshjogal

Programmer
Dec 30, 2002
61
Hi
my shop just migrated from SYNCSORT to DFSORT
and one of my jobs is abending. I need some help about DFSORT.
The following SYNCSORT statement is giving problem in DFSORT

SORT FIELDS=COPY,FILSZ=E4500000
OUTREC FIELDS=(8,22,1078,18,1439,5,1653,3,1657,3,
1667,2,1700,3,1706,3,1709,2,65X),
CONVERT


What changes do i need to make it ??

Thank in advance

Devesh
 
Hi Devish,

What is the abend? Any text or msgs printed?

Jack
 
OUTREC FIELDS=(8,22,1078,18,1439,5,1653,3,1657,3,
1667,2,1700,3,1706,3,1709,2,65X),
CONVERT

I think for each filed it has to know how to sort it. Like binary Alphanumerc and the Ascending or descending.

If you do not like my post feel free to point out your opinion or my errors.
 
What is 65X for what does that do?

If you do not like my post feel free to point out your opinion or my errors.
 
OUTREC FIELDS=(8,22,1078,18,1439,5,1653,3,1657,3,
1667,2,1700,3,1706,3,1709,2,65X),
CONVERT

The OUTREC control statement changes the format of the output record. Typically, the default is to create an output record that is the same layout as the sorted work record. For example, this statement is saying that for the output record, the first 22 bytes will take the 22 bytes from the sort record starting at position 8. Next will be 18 bytes of data that begin at position 1078 of the sort record. So, in the OUTREC parameters you supply the starting location from the sort record and the number of bytes. So as you see in the above example, there are 9 pairs of numbers coded that will take 9 different pieces of information from the sorted work record to create the output record. The 65X says to insert 65 spaces in the output record. If you wanted 65 asterisks, you could code 65C'*'. This statement is kind of like an OUTPUT PROCEDURE in a COBOL program with a SORT.

I've never seen the CONVERT option that you use on the OUTREC statement. It doesn't appear that it is used in IBM SORT. Maybe that's one thing it is complaining about.
 
You need to post this in the Usenet Group comp.lang.cobol

You can get to it at this forum:


There is often a poster that works for IBM that answers questions on DFSORT that views that forum on a regular basis. There are also a lot of Mainframe COBOL people who might be able to offer some further assistance.

I have never seen a convert statement. I usually build the sort file in my COBOL program since I have to link keyed VSAM files.

Here is an example of a sort statement from my Mainframe. We use VSE/ESA on our 390 mainframe.
* * * * SORT FEE CHECK FILE * * * *
// EXEC SORT,SIZE=100K
SORT FIELDS=(123,2,BI,A,1,5,BI,A,89,26,BI,A,6,9,BI,A),WORK=1
RECORD TYPE=F,LENGTH=170
INPFIL BLKSIZE=5100
OUTFIL BLKSIZE=5100
OPTION FILNM=(SD35,SD35)
END
/*

We are sorting using Binary Ascending. As a note this is for an existing SD file. Usually sort fields= and the part in () are on the same line. You might try looking at the redbook reference library online at the IBM website.


If you do not like my post feel free to point out your opinion or my errors.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top