IBM Mainframe Forum Index
Log In
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register

Match and NoMatch using Sort

IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message

New User

Joined: 11 Sep 2007
Posts: 65
Location: Gurgaon

PostPosted: Sat Feb 06, 2016 4:48 pm
Reply with quote

I have 2 files

File 1 = 260 length
File 2 = 70 length

I am trying to join File 1 to File 2 using first 20 bytes. For the records that join from File 1 to File 2 should go in one file (260 bytes from File 1 and 50 bytes from File 2) and records that doesn't match from File 1 should go in another file. Following is JCL I wrote. It was working file only for Match but when I put No Match statements, I am getting error END OF SORTOF01 FIELD BEYOND MAXIMUM RECORD LENGTH


//STEP05   EXEC PGM=SORT                                     
//SORTOF01 DD DSN=FILE3,           
//       DISP=(NEW,CATLG,DELETE),SPACE=(CYL,(100,200),RLSE),
//       DCB=(RECFM=FB,BLKSIZE=0,LRECL=310)                 
//SORTOF02 DD DSN=FILE4,         
//       DISP=(NEW,CATLG,DELETE),SPACE=(CYL,(100,200),RLSE),
//       DCB=(RECFM=FB,BLKSIZE=0,LRECL=310)                 
//SYSIN    DD *                                             
 JOINKEYS FILES=F1,FIELDS=(1,20,A)                           
 JOINKEYS FILES=F2,FIELDS=(1,20,A)                           
 JOIN UNPAIRED,F1                                           
 REFORMAT FIELDS=(F1:1,260,F2:21,50),FILL=X'FF'             
 OUTFIL FILES=01,INCLUDE=(311,1,BI,EQ,X'FF'),               
 OUTFIL FILES=02,INCLUDE=(311,1,BI,NE,X'FF'),               

I tried changing the length of output files to 311 and also in outrec but no success. Please let me know what I am missing
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus

Joined: 09 Mar 2011
Posts: 7310
Location: Inside the Matrix

PostPosted: Sat Feb 06, 2016 6:34 pm
Reply with quote

Check the documentation for FILL=. You have misunderstood its use.

Use the match-marker (?) in the REFORMAT statement and test that for C'B' or C'1'.

You only need one test on one OUTFIL. On the other, use SAVE rather than reversing the condition.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours


Similar Topics
Topic Forum Replies
This topic is locked: you cannot edit posts or make replies. Sort card help to prepare status report DFSORT/ICETOOL 13
No new posts Building a sort key DFSORT/ICETOOL 3
No new posts Very Large Sort failed - Seeking reco... DFSORT/ICETOOL 7
No new posts Date conversion using SORT SYNCSORT 4
No new posts Which SORT utility can improve the Pe... DFSORT/ICETOOL 16
Search our Forums:

Back to Top