Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups 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: 4648
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 Converting Variable block file to Fix... bhavana yalavarthi DFSORT/ICETOOL 10 Tue May 16, 2017 2:20 pm
No new posts Replace values in the input data Vikas Maharnawar DFSORT/ICETOOL 10 Thu May 11, 2017 2:18 pm
No new posts Using ICETOOL, how we can seperate th... bshkris SYNCSORT 5 Tue May 09, 2017 8:33 pm
No new posts find RACF group for access to spooled... jzhardy JCL & VSAM 1 Mon May 08, 2017 11:46 am
No new posts Getting error while opening a variabl... apandey1 COBOL Programming 5 Fri May 05, 2017 12:22 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us