Page 1 of 1

Please help me in ICETOOL

PostPosted: Thu May 20, 2010 7:02 pm
by ajuatsgp
Hi,
I am using ICETOOL in my job.
My input file has following data:
00012000140000000051012122010
00012000140000000050512122010
00012000140000000050212122010
00012000140000000050112122010
00012000140000000051012122010

In my out put file I need the digits in red colour and green colour and the count.
my job contains
//TOOLIN DD *
OCCUR FROM(BLCYL) LIST(COUNTDD1) NOCC NOHEADER BETWEEN(0) -
ON(20,10,ZD,LZ) ON(VALCNT,LZ)
/*


my output file looks like:
***************************
0112122010 000000000000008
0212122010 000000000000009
0412122010 000000000000009
0512122010 000000000000008
1012122010 000000000000015
1212201009 000000000000001
3112122010 000000000000001
***************************
I am not able to omit the intial space and the space coming before the count.

Note:I have pasted only a part of my input file.

Please let me know how to achieve this asap.
let me know if you need any more clarification.

Thanks in advance

Re: Please help me in ICETOOL

PostPosted: Thu May 20, 2010 10:58 pm
by Frank Yaeger
The extra blanks are for the sign (blank for positive sign). You can eliminate them by using E'9...9' to format the output values:

OCCUR FROM(BLCYL) LIST(COUNTDD1) NOCC NOHEADER BETWEEN(0) -       
   ON(20,10,ZD,E'9999999999') ON(VALCNT,E'999999999999999')         

Re: Please help me in ICETOOL

PostPosted: Mon Jun 21, 2010 10:34 pm
by ajuatsgp
Hi Frank,

The solution you provided worked fine.
But I am facing a new issue now...
Actually my job has one more step after the ICETOOL step in which the output from the ICETOOL step is copied to a vsam file of Maximum Record size 25.
even if I give the LRECL=25 in the DCB parameter for the out put dataset from ICETOOL step it is creating the dataset with a Record size of 120.

For your information the input file has record size of 35 and using ICETOOL I am getting few records from it.

Please let me know if by any way I can keep my output file of Record size 25.

Re: Please help me in ICETOOL

PostPosted: Mon Jun 21, 2010 10:51 pm
by Frank Yaeger
LRECL=25 is NOT used for a VSAM file.

You can use COPY and INREC to shorten the file:

//TOOLIN DD *
...
COPY FROM(input) TO(vsamout) VSAMTYPE(F) USING(CTL1)
//CTL1CNTL DD *
   OPTION COPY
   INREC BUILD=(1,25)
/*


However, if the input records have bytes beyond position 25, they will be truncated for output.

Re: Please help me in ICETOOL

PostPosted: Tue Jun 22, 2010 12:21 am
by ajuatsgp
I think there is some confusion in understanding my question.The ICETOOL is working fine and also it's giving the proper output of 25 bytes as per my requirement but the issue is the file to which ICETOOL is writing output is getting created with an LRECL=120,even if I am explicitely mentioning the in the DCB parameter LRECL=25

Hence it is creating issue for me inthe next step where I am copying it to a VSAM file of record length 25.
How can I keep the LRECL of the ictool output dataset to 25

Re: Please help me in ICETOOL

PostPosted: Tue Jun 22, 2010 12:33 am
by dick scherrer
Hello,

Posting the complete jcl and control statements as well as the complete informational output generated (including message ids) will help . . .

Re: Please help me in ICETOOL

PostPosted: Tue Jun 22, 2010 1:47 am
by Frank Yaeger
Your explanation of what you wanted was not clear. If you want to create the ICETOOL output file with LRECL=25, you can use this DFSORT/ICETOOL job:

//S1    EXEC  PGM=ICETOOL                                       
//TOOLMSG DD SYSOUT=*                                           
//DFSMSG  DD SYSOUT=*                                           
//BLCYL DD DSN=...  input file                       
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)     
//COUNTDD1 DD DSN=...  output file (FB/25)                                         
//TOOLIN DD *                                                   
OCCUR FROM(BLCYL) LIST(T1) NOCC NOHEADER BETWEEN(0) -           
ON(20,10,ZD,E'9999999999') ON(VALCNT,E'999999999999999')       
COPY FROM(T1) TO(COUNTDD1) USING(CTL1)                         
/*                                                             
//CTL1CNTL DD *                                                 
  INREC BUILD=(1,25)           
/*                                 

Re: Please help me in ICETOOL

PostPosted: Tue Jun 22, 2010 2:02 pm
by ajuatsgp
Thanks Frank....
Your soultion worked fine....