|
View previous topic :: View next topic
|
| Author |
Message |
rkarthik22
New User
Joined: 18 Apr 2009 Posts: 47 Location: India
|
|
|
|
Hi all,
I am merging 9 files in to one using the below JCL.
| Code: |
//STEP001 EXEC PGM=SORT
//SYSUDUMP DD SYSOUT=I
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=FILE.SPLIT1,
// DISP=SHR
// DD DSN=FILE.SPLIT2,
// DISP=SHR
// DD DSN=FILE.SPLIT3,
// DISP=SHR
// DD DSN=FILE.SPLIT4,
// DISP=SHR
// DD DSN=FILE.SPLIT5,
// DISP=SHR
// DD DSN=FILE.SPLIT6,
// DISP=SHR
// DD DSN=FILE.SPLIT7,
// DISP=SHR
// DD DSN=FILE.SPLIT8,
// DISP=SHR
// DD DSN=FILE.SPLIT9,
// DISP=SHR
//*
//SORTOUT DD DSN=FINAL.FILE,
//* DISP=SHR
// DCB=(RECFM=FB,LRECL=153,BLKSIZE=0),
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(8500,5500),RLSE)
//*
//SYSIN DD *
SORT FIELDS=COPY
/* |
Each file (Actually these are splitted files) having records of 100,000,000 and the last one (9th file) has 51142574 records.
Already i am allocating maximum space in cylinders
When submitting a job i got ABEND S837. Can anyone please help me to sort this out?!
| Code: |
QW S837
Explanation: The error occurred at an end-of-volume for a sequential data
set. This system completion code is accompanied by message IEC028I. Refer
to the explanation of message IEC028I for complete information about the
task that was ended and for an explanation of the return code (rc in the
message text) in register 15. |
|
|
| Back to top |
|
 |
dick scherrer
Moderator Emeritus

Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
More descriptive diagnostic information is in the "next" place you look - the IEC028I message.
At the top of the page is a link to "IBM Manuals" Among them is the z/OS System Messages. You want volume VII i believe.
If the problem is not clear with that info, post your actual diagnostic info and someone whould be able to clarify.
These aren't by chance input tape files? If they are, that posted jcl will require 9 tape drives and someone from operations may come looking for you to cause damage
If these are tape files, consider using unit=aff for all but the first input file. |
|
| Back to top |
|
 |
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
the reason code wouldn't happen to be an 08 ?
I believe you need a vol count so that the dataset can span across more than 1 volume.
Gerry |
|
| Back to top |
|
 |
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
if my calculations are correct, you will need a total of 175000 cyls of space.
Gerry |
|
| Back to top |
|
 |
expat
Global Moderator

Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Wow, that's just under 6 3390-27's
Hope you have understanding storage people  |
|
| Back to top |
|
 |
rkarthik22
New User
Joined: 18 Apr 2009 Posts: 47 Location: India
|
|
|
|
Hi all,
Abend resolved. I used dynamic Allocation.
| Code: |
//xxxxxxxx JOB (xxxx,C),'MERGING FILES',
// CLASS=0,MSGCLASS=U,NOTIFY=&SYSUID
//*
// SET UNIT='SYSALLDA',
// SPACE='(CYL,(8500,8500),RLSE)',
// VOL='(,,,70)',
// DATACLAS='DCCOMP',
// SYSOUT='*',
// SYSOUTI='I'
//****************************************************************
//* THIS IS TO MERGE THE SPLIT FILES
//****************************************************************
//**
//PS0100 EXEC PGM=SORT,
// PARM='DYNALLOC=(SYSDA,24),HIPRMAX=OPTIMAL,VSCORE=16M,VSCORET=64M'
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=FILE.SPLIT1,DISP=SHR
// DD DSN=FILE.SPLIT2,DISP=SHR
// DD DSN=FILE.SPLIT3,DISP=SHR
// DD DSN=FILE.SPLIT4,DISP=SHR
// DD DSN=FILE.SPLIT5,DISP=SHR
// DD DSN=FILE.SPLIT6,DISP=SHR
// DD DSN=FILE.SPLIT7,DISP=SHR
// DD DSN=FILE.SPLIT8,DISP=SHR
// DD DSN=FILE.SPLIT9,DISP=SHR
//*
//SORTOUT DD DSN=FINAL.FILE,
//* DISP=SHR
// DISP=(NEW,CATLG,DELETE),
// DCB=*.SORTIN,SPACE=&SPACE,
// DATACLAS=&DATACLAS,VOL=&VOL
//*
//SYSIN DD *
SORT FIELDS=COPY
/*
|
Job ran through fine... |
|
| Back to top |
|
 |
dick scherrer
Moderator Emeritus

Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
| Quote: |
| Abend resolved. I used dynamic Allocation. |
Why do you believe this now uses "dynamic allocation". . . ? |
|
| Back to top |
|
 |
mmwife
Super Moderator

Joined: 30 May 2003 Posts: 1592
|
|
|
|
Hi Gerry,
If karthik won't say it, I will:
"Thanks for your help, your suggestion worked." |
|
| Back to top |
|
 |
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Thanks Jack
Gerry |
|
| Back to top |
|
 |
mmwife
Super Moderator

Joined: 30 May 2003 Posts: 1592
|
|
|
|
| BTW, Karthik, do you know you requested a max of 9 million 520 thousand CYLs of direct access space with your &SPACE and &VOL params for SORTOUT? |
|
| Back to top |
|
 |
Robert Sample
Global Moderator

Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
Jack, actually the request wouldn't go that high. The limit is 59 disk volumes for a single data set, so I suspect attempting to allocate the 60th volume would cause an abend. Also, unless running z/OS 1.10 with large data sets (which I think is controlled by SMS -- although I haven't checked that for sure), there's a limit of 65,535 tracks per volume so allocating 8500 cylinders won't work, either.
I suspect the site ACS routines are correcting these issues to prevent the otherwise expected abend. |
|
| Back to top |
|
 |
dick scherrer
Moderator Emeritus

Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Dynamically. . .
Now, i see. . .  |
|
| Back to top |
|
 |
mmwife
Super Moderator

Joined: 30 May 2003 Posts: 1592
|
|
|
|
Hi Robert,
You're right; I forgot about the 56 vol limit. But he did request 9 Mil. .
I thought though, that SMS would accept your o'ride and let the chips fall.
As you say, that's probably site dependant. |
|
| Back to top |
|
 |
|
|
 |
All times are GMT + 6 Hours |
|