Page 1 of 1

SB37 abend in Join Keys

PostPosted: Wed Jan 21, 2015 9:26 am
by ragsara
Hi ,

Problem statement : Need to find out if a person (First name , Last name and DOB) has more than one unique ID. A person can have more than one record in the file.

Solution approach : Copy the file and use it to match against the original file using the key value (First name, Last name and DOB). If Key values match write the two records (Original File and Duplicate file) consecutively in the output file. Later using INclude condition , compare the Key values, write the record if it has different uniuqe ID's.

File lay out (Starting position, Length) : FB , LRECL = 206

Partition number : 1,5
UNique ID : 6,10
Other Fields : 16,86
Last NAme: 102,60
First NAme : 162,35
DOB : 197,10

//STEP3    EXEC PGM=SORT                                   
//SYSOUT   DD SYSOUT=*                                     
//SORTIN   DD DUMMY                                       
//SORTJNF1 DD DSN=F6435T.EHP.L6435CNS.D2150120,DISP=SHR   
//SORTJNF2 DD DSN=F6435T.EHP.L6435CNS.D2150120.DUP,DISP=SHR
//OUT12  DD DSN=F6435T.EHP.L6435CNS.D2150120.BOTH,         
//         DISP=(NEW,CATLG,DELETE),                       
//         SPACE=(CYL,(4350,9000),RLSE),UNIT=(,56)         
//OUT1   DD DSN=F6435T.EHP.L6435CNS.D2150120.ONLY,         
//         DISP=(NEW,CATLG,DELETE),                       
//         SPACE=(CYL,(4350,9000),RLSE),UNIT=(,56)         
//OUT2   DD DSN=F6435T.EHP.L6435CNS.D2150120.DUP.ONLY,     
//         DISP=(NEW,CATLG,DELETE),                       
//         SPACE=(CYL,(4350,9000),RLSE),UNIT=(,56)         
//JNF1CNTL DD *                                           
  OPTION DYNALLOC=(,256),FILSZ=E10000000000               
/*                                                         
//JNF2CNTL DD *                                           
  OPTION DYNALLOC=(,256),FILSZ=E10000000000               
/*                                                         
//SYSIN    DD *                                 
  JOINKEYS FILE=F1,FIELDS=(102,105,A)           
  JOINKEYS FILE=F2,FIELDS=(102,105,A)           
  JOIN UNPAIRED,F1,F2                           
  REFORMAT FIELDS=(F1:1,206,F2:1,206,?)         
  OPTION COPY                                   
  OUTFIL FNAMES=OUT12,INCLUDE=(413,1,CH,EQ,C'B'),
  BUILD=(1,412)                                 
  OUTFIL FNAMES=OUT1,INCLUDE=(413,1,CH,EQ,C'1'),
  BUILD=(1,206)                                 
  OUTFIL FNAMES=OUT2,INCLUDE=(413,1,CH,EQ,C'2'),
  BUILD=(207,206)                               
/*                                               
//DFSPARM DD *                                   
  OPTION DYNALLOC=(,256),FILSZ=E10000000000     
/*                                               


Help required :

Both the files which am comparing have 488948457 (488 Million records) each. This job abended stating ABEND=SB37 U0000 REASON=00000004

1) Will i be able to compare such huge files using SORT ? or is there any better solution approach to my problem statement

Thanks in advance for you help

Error message :

IEF403I TSUEGDUA - STARTED - TIME=18.11.17                   
IEC030I B37-04,IFG0554A,TSUEGDUA,STEP3,OUT12,3A46,PSL660,  141
F6435T.EHP.L6435CNS.D2150120.BOTH                             
IEA995I SYMPTOM DUMP OUTPUT  143                             
SYSTEM COMPLETION CODE=B37  REASON CODE=00000004             
 TIME=18.56.59  SEQ=62375  CPU=0000  ASID=010B               
 PSW AT TIME OF ERROR  075C1000   80E57926  ILC 2  INTC 0D   
   NO ACTIVE MODULE FOUND                                     
   NAME=UNKNOWN                                               
   DATA AT PSW  00E57920 - 41003038  0A0DB20A  00509808       
   AR/GR 0: 009FF320/00E57B34   1: 00000000/A4B37000         
         2: 00000000/00011248   3: 00000000/00E57AFC         
         4: 00000000/009CD4A8   5: 00000000/00E6E000         
         6: 00000000/009CD74C   7: 00000000/009CD7A4         
         8: 00000000/009CD76C   9: 00000000/009CE7C0         
         A: 00000000/00797700   B: 00000000/00E575B2         
         C: 00000000/009B5D58   D: 00000000/7F5EECE8         
         E: 00000000/00E575B2   F: 00000000/00000004         
 END OF SYMPTOM DUMP                                         
IEF450I TSUEGDUA STEP3 - ABEND=SB37 U0000 REASON=00000004  153
OPS1000J                                                     

Re: SB37 abend in Join Keys

PostPosted: Wed Jan 21, 2015 1:16 pm
by BillyBoyo
Why are you estimating at 10 billion records when you "only" have 488m? Why are you estimating anyway?

Why do you want to write all of your data, not just the matches?

You are SORTing the data twice. Each time you attempt the job. If a massive JOINKEYS needing the same file twice, SORT to a permananet file in one step, use that for both JOINKEYS with SORTED,NOSEQCK.

No, you don't need JOINKEYS. .

Re: SB37 abend in Join Keys

PostPosted: Wed Jan 21, 2015 6:17 pm
by Robert Sample
Have you contacted your site support group? The SB37 indicates a storage problem and your site support group would be the best group to help you resolve such issues.