View previous topic :: View next topic
Author
Message
narendrabade New User Joined: 27 Jan 2011Posts: 6 Location: Pune
My requirement is : Compare records in file1 and file2 with column position from 12 to 25 and Write all records which are ONLY present in File1 and not in FILE2.
I ran below 2 Jobs but getting Job abend ABENDED S000 U0016 CN(INTERNAL) . I referred and go through earlier post about same abend, but nothing helped me.
I write below JCL to get non duplicates from input file.
Code:
//TNLNSB2 JOB 0000,'NDV SCAN',CLASS=D,MSGCLASS=U,NOTIFY=TNLNSB
//STEP004 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=TNL.OUTPUT.OUT3,DISP=SHR
// DD DSN=TNL.LV1A.CR.CRLIST.LOADFILE.DT0422,DISP=SHR
//NODUPES DD DSN=TNL.OUTPUT.OUT4,DISP=SHR
//TOOLIN DD *
SELECT FROM(SORTIN) TO(NODUPES) -
ON(12,14,CH) NODUPS
/*
//
in DFSMSG : below got populated.
Code:
PARMLIST :
OPTION RESINV=0,ARESINV=0,MSGDDN=DFSMSG,SORTIN=SORTIN,SORTOUT=NODUPES,DYNALLOC,C
MP=CLC,NOVLSHRT,EQUALS
SORT FIELDS=(00012,0014,CH,A)
MODS E35=(SYNCT$35,4096,,N)
WER428I CALLER-PROVIDED IDENTIFIER IS "0001"
WER276B SYSDIAG= 477547, 4795652, 4795652, 5381250
WER164B 24,596K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B 0 BYTES RESERVE REQUESTED, 992K BYTES USED
WER146B 32K BYTES OF EMERGENCY SPACE ALLOCATED
WER108I SORTIN : RECFM=FB ; LRECL= 143; BLKSIZE= 27885
WER110I NODUPES : RECFM=FB ; LRECL= 143; BLKSIZE= 27885
WER171A CONCAT DS, LRECLS NE OR RECFMS DIFF
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
******************************* BOTTOM OF DATA ****
Please let me know if I need to paste anything?
As above JCL is not workinhg, I tried other way. I know, above JCL will not help me what I wanted but i am concerned with Job abend.
2. Below Job is just used to select records from F1 and not F2
Code:
//TNLNSB3 JOB 0000,'NDV SCAN',CLASS=D,MSGCLASS=U,NOTIFY=TNLNSB
//JK3 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTJNF1 DD DSN=TNL.LV1A.CR.MERGED.TRIGGER.SORTED.DT0419,DISP=SHR
//SORTJNF2 DD DSN=TNL.LV1A.CR.MERGED.TRIGGER.G0001.DT0420,DISP=SHR
//SORTOUT DD DSN=TNL.OUTPUT.OUT1,DISP=SHR
//SYSIN DD *
JOINKEYS F1=IN1,FIELDS=(12,14,A)
JOINKEYS F2=IN2,FIELDS=(12,14,A)
JOIN UNPAIRED,F1,ONLY
SORT FIELDS=COPY
/*
I got the same abend with below information in sysout:
Code:
SYSIN :
JOINKEYS F1=IN1,FIELDS=(12,14,A)
*
JOINKEYS F2=IN2,FIELDS=(12,14,A)
*
JOIN UNPAIRED,F1,ONLY
SORT FIELDS=COPY
WER268A JOINKEYS STATEMENT: SYNTAX ERROR
WER268A JOINKEYS STATEMENT: SYNTAX ERROR
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
Please help me in this..
Code'd
Back to top
Robert Sample Global Moderator Joined: 06 Jun 2008Posts: 8697 Location: Dubuque, Iowa, USA
Quote:
WER171A CONCAT DS, LRECLS NE OR RECFMS DIFF
Here is your root problem. Your concatenated SORTIN data sets do not have the same LRECL, or one is FB and one is VB.
Back to top
Bill Woodger Moderator Emeritus Joined: 09 Mar 2011Posts: 7309 Location: Inside the Matrix
Please use the Code tags.
You don't have the "same" abend in the second JOB.
You have a Syntax error. Check the JOINKEYS syntax for SyncSort (examples in this forum).
Back to top
Anuj Dhawan Superior Member Joined: 22 Apr 2006Posts: 6250 Location: Mumbai, India
As Bill has correctly suggested, try this:
Code:
//SYSIN DD *
JOINKEYS FILE=F1,FIELDS=(12,14,A)
JOINKEYS FILE=F2,FIELDS=(12,14,A)
JOIN UNPAIRED,F1,ONLY
SORT FIELDS=COPY
/*
For second Job you already have a hint from Robert.
Back to top
Please enable JavaScript!