Page 1 of 2

abend u016

PostPosted: Mon Jan 16, 2012 3:06 pm
by jvinoth
I have two sequential files which are storted before
file1-
emp-id salary
1200 3000
second file also similar to file one
I am trying to Merge both files but getting U016 abend how to slove this problem
My JCL
//VNAMALAA JOB (ACCT,ROOM),'JCL(SRTJCL)',
// CLASS=A,LINES=999,
// MSGCLASS=X,REGION=0M,
// NOTIFY=&SYSUID
//*
//SORTSETP EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN01 DD DSN=VNAMALA.VINOD.PRG9.INFILE1,DISP=SHR
//SORTIN02 DD DSN=VNAMALA.VINOD.PRG9.INFILE2,DISP=SHR
//SORTOUT DD DSN=VNAMALA.VINOD.SORTOUT2,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(3,3)),
// DCB=(LRECL=80,BLKSIZE=800,RECFM=FB)
//SYSIN DD DSN=VNAMALA.VINOD.COPY29.CONTROL(SORTCNTC),DISP=SHR


*****IN control card ie:SORTCNTC
merge fields=(1,9,ch,a)

please solve my problem

Re: abend u016

PostPosted: Mon Jan 16, 2012 3:10 pm
by BillyBoyo
Please show us the output messages from the Sort step.

The only thing I can prior to seeing the messages, is does the word MERGE begin in column one?

Re: abend u016

PostPosted: Mon Jan 16, 2012 3:19 pm
by jvinoth
IEF403I VNAMALAA - STARTED - TIME=04.43.14
IEF450I VNAMALAA SORTSETP - ABEND=S000 U0016 REASON=00000000 S000 U0016 REASON=00000000 066

TIME=04.43.14

********************
Merge starts at second column only

Re: abend u016

PostPosted: Mon Jan 16, 2012 3:38 pm
by BillyBoyo
I meant the messages starting with ICE (DFSORT) or WER (SyncSort).

Re: abend u016

PostPosted: Mon Jan 16, 2012 3:44 pm
by jvinoth
SYSIN :
MERGE FIELDS=(1,4,CH,A)
WER276B SYSDIAG= 1276543, 2129557, 2129557, 3149775
WER164B 6,912K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B 0 BYTES RESERVE REQUESTED, 1,288K BYTES USED
WER146B 4K BYTES OF EMERGENCY SPACE ALLOCATED
WER109I MERGE INPUT : TYPE=F; LRECL= 9
WER110I SORTOUT : RECFM=FB ; LRECL= 80; BLKSIZE= 800
WER462I OUTPUT LRECL DIFFERS FROM SORTOUT LRECL
WER410B 5,884K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,
WER410B 0 BYTES RESERVE REQUESTED, 824K BYTES USED
WER068A OUT OF SEQ SORTIN02 , BLOCK 3
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
WER449I SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
******************************** BOTTOM OF DATA ********************************

Re: abend u016

PostPosted: Mon Jan 16, 2012 3:57 pm
by Akatsukami
jvinoth wrote:SYSIN :
MERGE FIELDS=(1,4,CH,A)
WER276B SYSDIAG= 1276543, 2129557, 2129557, 3149775
WER164B 6,912K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B 0 BYTES RESERVE REQUESTED, 1,288K BYTES USED
WER146B 4K BYTES OF EMERGENCY SPACE ALLOCATED
WER109I MERGE INPUT : TYPE=F; LRECL= 9
WER110I SORTOUT : RECFM=FB ; LRECL= 80; BLKSIZE= 800
WER462I OUTPUT LRECL DIFFERS FROM SORTOUT LRECL
WER410B 5,884K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,
WER410B 0 BYTES RESERVE REQUESTED, 824K BYTES USED
WER068A OUT OF SEQ SORTIN02 , BLOCK 3
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
WER449I SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
******************************** BOTTOM OF DATA ********************************

Does that tell you anything, mushi?

Re: abend u016

PostPosted: Mon Jan 16, 2012 3:59 pm
by BillyBoyo
jvinoth wrote:SYSIN :
   MERGE FIELDS=(1,4,CH,A)                                                     
 WER276B  SYSDIAG= 1276543, 2129557, 2129557, 3149775                           
 WER164B  6,912K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,             
 WER164B     0 BYTES RESERVE REQUESTED, 1,288K BYTES USED                       
 WER146B  4K BYTES OF EMERGENCY SPACE ALLOCATED                                 
 WER109I  MERGE INPUT  :   TYPE=F; LRECL=     9                                 
 WER110I  SORTOUT  : RECFM=FB   ; LRECL=    80; BLKSIZE=   800                 
 WER462I  OUTPUT LRECL DIFFERS FROM SORTOUT LRECL                               
 WER410B  5,884K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,       
 WER410B     0 BYTES RESERVE REQUESTED, 824K BYTES USED                         
 WER068A  OUT OF SEQ SORTIN02 , BLOCK 3                                         
 WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                                 
 WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE                                 
******************************** BOTTOM OF DATA ********************************


There seem to be a number of things.

You earlier showed (1,9,CH,A) for your merge, but here it is (1,4,CH,A). Your inputs are 9 byte records, your output dataset is defined at 80.

The abend itself will be this:

 WER068A  OUT OF SEQ SORTIN02 , BLOCK 3


So, your SORTIN02 is not in sequence.

Re: abend u016

PostPosted: Mon Jan 16, 2012 6:33 pm
by jvinoth
I have changed the output dataset length to 9 and blksize 90 still i am getting error. and now SORTIN01 is out of sequence. how to solve this problem please help me out. I am new to mainframe so that only i am asking so much questions.thanks billy for your answers.

Re: abend u016

PostPosted: Mon Jan 16, 2012 7:15 pm
by BillyBoyo
If the input datasets are not in sequence, then you will not be able to merge them.

You said that your input datasets were sorted, but they are not.

You have (say)

1111 xxxx
2222 xxxx
3333 xxxx
and

1110 xxxx
2223 xxxx
3333 xxxx

And your MERGE is (1,4,CH,A).

This would get you

1110 xxxx
1111 xxxx
2222 xxxx
2223 xxxx
3333 xxxx
3333 xxxx

You may have duplicate keys on either of both of the input datasets, and between the datasets. You cannot have, however, a key arriving out-of-sequence. If you get 0000, or TRLb or something after the above data, you will get that abend.

Can you post some data from the begining, middle and end of both your input datasets? In the Code tags please (the button which says Code, highlight the text, click the button, press Preview, amend if necessary until the text in the preview is aligned how you want it). Can you also provide the SORT statements for the two input datasets, they seem to be at fault.

Re: abend u016

PostPosted: Mon Jan 16, 2012 7:43 pm
by bodatrinadh
If both the Input datasets are having same LRECL, RECFM & same key length then
U can try an alternate method by concatenate input datasets...
//SORTSETP EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=VNAMALA.VINOD.PRG9.INFILE1,DISP=SHR
//       DD DSN=VNAMALA.VINOD.PRG9.INFILE2,DISP=SHR
//SORTOUT DD DSN=VNAMALA.VINOD.SORTOUT2,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(3,3)),
// DCB=*.SORTIN
//SYSIN DD DSN=VNAMALA.VINOD.COPY29.CONTROL(SORTCNTC),DISP=SHR

*****IN control card ie:SORTCNTC
sort fields=(1,4,ch,a)