Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
Mismatch between input and output file when using ICETOOL

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
View previous topic :: :: View next topic  
Author Message
thirunarayanan_sampath

New User


Joined: 04 Dec 2006
Posts: 6
Location: Pune,India

PostPosted: Fri Jan 05, 2007 7:10 pm    Post subject: Mismatch between input and output file when using ICETOOL
Reply with quote

Hi Frank

Iam have a huge input file(19 lakhs odd records) and Iam using ICETOOL utility to perform some file handling producing a output file(expecting all the records)

But After the job ececutes successfully I have found only 48000 odd records in the o/p file.

Iam sending you the snap shot of the DFSMSG.
Why is there a mismatch between input and output file.

The job Iam using is as below

Code:

//S1    EXEC  PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//CONCAT DD DSN=file1..,DISP=SHR   VB,RECL=250004
//       DD DSN=file2..,DISP=SHR         VB,RECL=250004
//HDR DD DSN=&&HD,UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(,PASS)
//TRL DD DSN=&&TR,UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(,PASS)
//DET DD DSN=&&DT,UNIT=SYSDA,SPACE=(CYL,(500,500)),DISP=(,PASS)
//CON2 DD DSN=*.HDR,VOL=REF=*.HDR,DISP=(OLD,PASS)
//     DD DSN=*.DET,VOL=REF=*.DET,DISP=(OLD,PASS)
//     DD DSN=*.TRL,VOL=REF=*.TRL,DISP=(OLD,PASS)
//OUT DD DSN=file-out..,DISP=SHR      VB,RECL=250004
//OUT2 DD SYSOUT=*
//OUT3 DD SYSOUT=*
//TOOLIN DD *
COPY FROM(CONCAT) USING(CTL1)
COPY FROM(CON2) TO(OUT)
//CTL1CNTL DD *
  OUTFIL FNAMES=HDR,ENDREC=1
  OUTFIL FNAMES=DET,INCLUDE=(5,1,CH,EQ,C'D')
  OUTFIL FNAMES=TRL,REMOVECC,NODETAIL,INCLUDE=(5,1,CH,EQ,C'D'),
    TRAILER1=(1:C'T',2:TOT=(562,8,PD,TO=PD),
      COUNT=(TO=PD,LENGTH=6))
/*
Back to top
View user's profile Send private message

superk

Moderator Team Head


Joined: 26 Apr 2004
Posts: 4650
Location: Raleigh, NC, USA

PostPosted: Fri Jan 05, 2007 7:41 pm    Post subject: Re: Issue regarding Job using ICETOOL
Reply with quote

Quote:

Standard system data management rules apply to all DFSORT data set processing. In particular, be aware that, in some cases, if a DD statement specifies a data set for output that is extended to a second or subsequent volume, and another DD statement within the same step requests the same data set, only the records on the first volume will be read, and incorrect output will result. Specifically, when a new output data set is allocated with a unit count and volume count greater than one, but specifies no volume serial numbers, one volume is allocated. If a second or succeeding DD statement within the same step requests the same data set, the same volume is allocated to it. If this job step extends the output data set to more volumes, this new volume information is not available to the second or succeeding DD statement. Thus, you should not use different DDs for a data set to be used for output and then input in the same step, unless the data set cannot be extended to a second or subsequent volume, or is allocated with the guaranteed space attribute in the storage class. See "z/OS MVS JCL Reference, SA22-7597" and z/OS DFSMS Using Data Sets, SC26-7410" for more details.
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Moderator


Joined: 15 Feb 2005
Posts: 7130
Location: San Jose, CA

PostPosted: Fri Jan 05, 2007 9:44 pm    Post subject:
Reply with quote

Superk's quote from "z/OS DFSORT Application Programming Guide" about that system restriction would be my guess as well.

I believe this DFSORT/ICETOOL job will do what you want without running afoul of the system restriction:

Code:

//S1    EXEC  PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//CONCAT DD DSN=file1..,DISP=SHR   VB,RECL=250004
//       DD DSN=file2..,DISP=SHR   VB,RECL=250004
//** Use MOD for OUT
//OUT DD DSN=file-out..,DISP=MOD   VB,RECL=250004
//TOOLIN DD *
COPY FROM(CONCAT) TO(OUT) USING(CTL1)
COPY FROM(CONCAT) USING(CTL2)
/*
//CTL1CNTL DD *
  OPTION STOPAFT=1
/*
//CTL2CNTL DD *
  OUTFIL FNAMES=OUT,REMOVECC,INCLUDE=(5,1,CH,EQ,C'D'),
    TRAILER1=(1:C'T',2:TOT=(562,8,PD,TO=PD),
      COUNT=(TO=PD,LENGTH=6))
/*
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Difference in SORT & ICETOOL Mohan Kothakota DFSORT/ICETOOL 4 Fri Sep 22, 2017 4:56 pm
No new posts it is possible output a SET value fro... Martylin JCL & VSAM 3 Fri Sep 22, 2017 7:08 am
No new posts Split 1 file into 10 output Files - S... Prasanth Kumar SYNCSORT 5 Sat Sep 16, 2017 12:02 am
No new posts BUILD OUTFIL based on condition other... balaji81_k DFSORT/ICETOOL 13 Fri Sep 08, 2017 11:06 pm
No new posts Hardcoded negative sign value in output scdinesh SYNCSORT 8 Fri Sep 08, 2017 5:28 am

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us