As the number of input records are more than 11,000.
I am getting below error
COPY FROM(INPUT2) TO(OUTPUT) USING(CTL2)
DFSORT CALL 0002 FOR COPY FROM INPUT2 TO OUTPUT USING CTL2CNTL TERMINATED
OPERATION RETURN CODE: 16
Please let me know is there any alternative method.
We have searched the forum and took your solution from one of the post, here we are trying to tell you that creating dynamic INCLUDE doesn't support for more rows. We have tested the same with 20 records and it is working perfectly, but it not with 12000 rows.
Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
Posted: Thu Dec 08, 2005 11:14 am Post subject:
Quote:
We have searched the forum and took your solution from one of the post, here we are trying to tell you that creating dynamic INCLUDE doesn't support for more rows. We have tested the same with 20 records and it is working perfectly, but it not with 12000 rows.
Anyone can help us on this ?
sushma4satya,
Did you even look at the link I posted? Please go thru it once again and come back if it did not answer your question. The solutions posted in that topic does not dynamically generate the include conditions. Check it once again.
Joined: 02 Dec 2002 Posts: 1618 Topics: 31 Location: San Jose
Posted: Thu Dec 08, 2005 11:58 am Post subject:
sushma4satya,
Here's a DFSORT/ICETOOL job that will do what you asked for. I assumed that:
1) There are no duplicates in File-1.
2) There are no duplicates in File-2.
3) You want the output records in their original order.
Code:
//STEP1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=... input file1 (FB/150)
//IN2 DD DSN=... input file2 (FB/150)
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
//T2 DD DSN=&&T2,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//OUT DD DSN=... output file (FB/150)
//TOOLIN DD *
* IN1->T1: Add a sequence number in 151-158
COPY FROM(IN1) TO(T1) USING(CTL1)
* IN2->T1: Add blanks in 151-158
COPY FROM(IN2) TO(T1) USING(CTL2)
* T1->T2: Get the nondup records.
SELECT FROM(T1) TO(T2) ON(49,12,CH) NODUPS
* T2->OUT: Remove the records with blanks in 151-158 (these
* are the records from input file2). Sort the remaining
* records on the seqnum to get them back in their original order.
* Remove the seqnum.
SORT FROM(T2) TO(OUT) USING(CTL3)
/*
//CTL1CNTL DD *
OUTREC OVERLAY=(151:SEQNUM,8,ZD)
/*
//CTL2CNTL DD *
OUTREC OVERLAY=(151:8X)
/*
//CTL3CNTL DD *
OMIT COND=(151,1,CH,EQ,C' ')
SORT FIELDS=(151,8,ZD,A)
OUTREC FIELDS=(1,150)
/*
_________________ Frank Yaeger - DFSORT Development Team (IBM)
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
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