MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Please help me to solve a syncsort abend

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities
View previous topic :: View next topic  
Author Message
magopala
Beginner


Joined: 02 Mar 2006
Posts: 4
Topics: 3

PostPosted: Thu Mar 02, 2006 6:50 am    Post subject: Please help me to solve a syncsort abend Reply with quote

I have input file with 70000000 number of records with record length 750.
The SORT job initially failed with RC=16 and following message

Code:

WER036B  G=13529,B=6,BIAS=01                                                 
WER162B  0 PREALLOCATED SORTWORK TRACKS, 240,000 DYNAMICALLY ALLOCATED,       
WER162B     302,415 ACQUIRED IN 152 SECONDARY EXTENTS, 0 RELEASED, TOTAL OF 542,415 TRACKS USED
WER046A  SORT CAPACITY EXCEEDED                                               
WER055I  INSERT          0, DELETE          0                                 
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                                 
WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE                                 
WER066A  APROX RCD CNT        35509259                                       


Hence i changed this ordinary sort to MAXSORT and the job again failed with the following messgae
Code:

WER162B  75,000 PREALLOCATED SORTWORK TRACKS, 225 DYNAMICALLY ALLOCATED,     
WER162B     377,025 ACQUIRED IN 95 SECONDARY EXTENTS, 0 RELEASED, TOTAL OF 419
WER124I  PREALLOCATED/USED SORTWORK SPACE USAGE FACTOR = 1.07                 
WER045C  END SORT PHASE                                                       
WER055I  INSERT          0, DELETE          0                                 
WER322A  TAPE DYNALLOC FAILURE--CODE = 021C                                   
WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE                                 


Here is the JCL i used (after incl MAXSORT)
Code:

//STEP20A EXEC PGM=SYNCSORT,REGION=0M,                             
//     PARM='MAXSORT,DYNATAPE,SVC=0,RESTART=LAST,BKPTDSN=PROD.'     
//STEPLIB   DD DSN=SYS1.SORTLIB,DISP=SHR                           
//SYSOUT    DD SYSOUT=&WTRA                                         
//SYSPRINT  DD SYSOUT=&WTRA                                         
//SYSUDUMP  DD SYSOUT=&WTRA                                         
//SORTLIST  DD SYSOUT=&WTRA                                         
//SORTMSG   DD SYSOUT=&WTRA                                         
//SORTIN    DD DSN=&SHS..ALL.RR.COMM.MONTHS.TAPE,DISP=SHR           
//SORTBKPT DD  DSN=PROD.TRDHIST.BKUP,DISP=(OLD,KEEP)               
//SORTWK01 DD  UNIT=SYSDA,                                         
//             SPACE=(CYL,(500,500))                               
//SORTWK02 DD  UNIT=SYSDA,                                         
//             SPACE=(CYL,(500,500))                               
//SORTWK03 DD  UNIT=SYSDA,                                         
//             SPACE=(CYL,(500,500))                               
//SORTWK04 DD  UNIT=SYSDA,                                         
//             SPACE=(CYL,(500,500))       
//SORTWK05 DD  UNIT=SYSDA,                 
//             SPACE=(CYL,(500,500))       
//SORTWK06 DD  UNIT=SYSDA,                 
//             SPACE=(CYL,(500,500))       
//SORTWK07 DD  UNIT=SYSDA,                 
//             SPACE=(CYL,(500,500))       
//SORTWK08 DD  UNIT=SYSDA,                 
//             SPACE=(CYL,(500,500))       
//SORTWK09 DD  UNIT=SYSDA,                 
//             SPACE=(CYL,(500,500))       
//SORTWK10 DD  UNIT=SYSDA,                 
//             SPACE=(CYL,(500,500))       
//SORTOU00 DD  DSN=&WRKH..HIST.SORTOU00,                       
//             UNIT=(T3490E,,DEFER),DISP=(,KEEP)               
//SORTOU01 DD  DSN=&WRKH..HIST.SORTOU01,                       
//             UNIT=(T3490E,,DEFER),DISP=(,KEEP)               
//SORTOU02 DD  DSN=&WRKH..HIST.SORTOU02,                       
//             UNIT=(T3490E,,DEFER),DISP=(,KEEP)               
//SORTOUT   DD DSN=&SHS..MAE.LCCB507.TRADEDT.SORTED,           
//       DISP=(,CATLG,DELETE),UNIT=3590,LABEL=EXPDT=99000,     
//       DCB=(LRECL=750,RECFM=FB),SPACE=(CYL,(100,50),RLSE)   
//SYSIN    DD DSN=&BPS..CARDLIB(LCC507S1),DISP=SHR             
//*                                                           


Please help me out to code the sortwk and sortou dd files.
As this is a production abend, also please let me know if there is any other way to resolve the issue without using MAXSORT. Also please not that both sortin and sortout files are allocation in tape
Back to top
View user's profile Send private message
Phantom
Data Mgmt Moderator
Data Mgmt Moderator


Joined: 07 Jan 2003
Posts: 1056
Topics: 91
Location: The Blue Planet

PostPosted: Thu Mar 02, 2006 7:22 am    Post subject: Reply with quote

magopala,

If you are running on the latest version of Syncsort (Ver. 1.1 or 1.2) then try using PARASORT or PIPESORT (available only in ver 1.2)

Check the first line of sysout to get the version of sort.

Thanks,
Phantom
Back to top
View user's profile Send private message
magopala
Beginner


Joined: 02 Mar 2006
Posts: 4
Topics: 3

PostPosted: Thu Mar 02, 2006 7:28 am    Post subject: Reply with quote

Phantom

Yes iam using Syncsort 1.1. I will try Parasort. But is my sortwk and sortou allocations correct for the input file size i specified.

Thank you
Manjula
Back to top
View user's profile Send private message
Bill Dennis
Advanced


Joined: 03 Dec 2002
Posts: 579
Topics: 1
Location: Iowa, USA

PostPosted: Thu Mar 02, 2006 9:02 am    Post subject: Reply with quote

The Dynamic Allocation error x'021C' explains that you have a bad UNIT name.

For MAXSORT, you must tell SORT the name of the tape units it can allocate. Add TAPENAME=T3490 to your PARM.

For SORTWKs, MAXSORT will use whatever you tell it to use. Add MAXWKSP=nnnM to your PARM. Provide the approx megabytes you've allocated in SORTWKs.
_________________
Regards,
Bill Dennis

Disclaimer: My comments on this foorum are my own and do not represent the opinions or suggestions of any other person or business entity.
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12376
Topics: 75
Location: San Jose

PostPosted: Thu Mar 02, 2006 11:55 am    Post subject: Reply with quote

magopala,


Here is an explanation of the error.


Code:

WER322A    TAPE DYNALLOC FAILURE - CODE=xxxx                                   
                                                                               
           EXPLANATION: Attempts to dynamically allocate tape units for a merge
           phase met with unexpected failure. Code xxxx gives the hexadecimal   
           return code from the dynamic allocation request. For an explanation 
           of this code, see either IBM publication OS MVS Programming:         
           Authorized Assembler Services Guide SA22-7608 or MVS/ESA System     
           Programming Library: Application Development Guide, GC28-1852.       


And here is the explanation of the error reason code 021C

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2A840/26.3.2?DT=20040108161603

Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group