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
 

 

Getting error while using ICETOOL to split the file dynamica

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> SYNCSORT
View previous topic :: :: View next topic  
Author Message
snammi

New User


Joined: 18 Mar 2009
Posts: 11
Location: Bangalore

PostPosted: Mon Aug 31, 2015 5:54 pm    Post subject: Getting error while using ICETOOL to split the file dynamica
Reply with quote

Hi All,

I am trying to split input file dynamically into 3 files using DFSORT. I came across an example in the DFSORT PDF file which matches my requirment. I altered my test jcl accordingly but its failing with Userabend16 when I submit. below is the code and error log. Please review and let me know what I am missing in the jcl. I changed and tried different combinations to resolve the error.
Thank you.
Code:

//STEPICE  EXEC PGM=ICETOOL
//TOOLMSG  DD  SYSOUT=*
//DFSMSG   DD  SYSOUT=*
//*
//IN       DD  DSN=XXX.CSC916.EXTR.AUG21.SORT,DISP=SHR
//T1       DD DSN=&&T1,UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(NEW,PASS)
//C1       DD DSN=&&C1,UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(NEW,PASS)
//CTL3CNTL DD *
     OUTFIL FNAMES=(OUT01,OUT02,OUT03),
//    DD DSN=*.C1,VOL=REF=*.C1,DISP=(OLD,PASS)
//OUT01    DD DSN=USR204T.XXX.EXTR1,
//             DISP=(NEW,CATLG,DELETE),
//             UNIT=SYSDA,
//             SPACE=(CYL,(200,60),RLSE),
//             RECFM=FB,LRECL=600,BLKSIZE=0
//OUT02    DD DSN=USR204T.XXX.EXTR2,
//             DISP=(NEW,CATLG,DELETE),
//             UNIT=SYSDA,
//             SPACE=(CYL,(200,60),RLSE),
//             RECFM=FB,LRECL=600,BLKSIZE=0
//OUT03    DD DSN=USR204T.XXX.EXTR3,
//             DISP=(NEW,CATLG,DELETE),
//             UNIT=SYSDA,
//             SPACE=(CYL,(200,60),RLSE),
//             RECFM=FB,LRECL=600,BLKSIZE=0
//TOOLIN   DD *
 COPY FROM(IN) USING(CTL1)
 COPY FROM(T1) TO(C1) USING(CTL2)
 COPY FROM(IN) USING(CTL3)
/*
//CTL1CNTL DD *
 OUTFIL FNAMES=T1,REMOVECC,NODETAIL,
 TRAILER1=(COUNT=(M11,LENGTH=8))
/*
//CTL2CNTL DD *
 OUTREC IFOUTLEN=80,
 IFTHEN=(WHEN=INIT,BUILD=(1:1,8,ZD,DIV,+03,TO=ZD,LENGTH=8)),
 IFTHEN=(WHEN=(1,8,ZD,GT,+0),
 BUILD=(2X,C'SPLIT1R=',1,8)),
 IFTHEN=(WHEN=NONE,
 BUILD=(2X,C'SPLIT1R=1'))
/*
//


Error Log
Code:

WER416B  TOTAL OF 2 EXCP'S ISSUED FOR COPYING
WER054I  RCD IN          1, OUT          1
WER169I  RELEASE 1.4 BATCH 0525 TPF LEVEL 1.0
WER052I  END SYNCSORT - YRP246H,STEPICE,,DIAG=C200,404E,EA82,0066,8A7E,6DC2,2AC
SYNCSORT FOR Z/OS  1.4.1.0RI   U.S. PATENTS: 4210961, 5117495   (C) 2010 SYNCSO
                                               ROADWAY   z/OS   1.13.0
SYNCSORT LICENSED FOR CPU SERIAL NUMBER 27943, MODEL 2094 503             LICEN
CTL3CNTL :
     OUTFIL  FNAMES=(OUT01,OUT02,OUT03),
  SPLIT1R=0004265C
                 *
WER428I  CALLER-PROVIDED IDENTIFIER IS "0003"
WER268A  OUTFIL STATEMENT  : SYNTAX ERROR
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000
WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
******************************* BOTTOM OF DATA ********************************
Back to top
View user's profile Send private message

Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7225

PostPosted: Mon Aug 31, 2015 7:11 pm    Post subject: Reply to: Getting error while using ICETOOL to split the file dynamica
Reply with quote

Well, you may be trying to do it with DFSORT, but you are using SyncSORT.

Do you have 42653 records on your file?

Why don't you use ICETOOL's COUNT operator?

You'd be better without the LRECL on your outputs. Why so much SPACE allocated?

From your input DSN, why don't you out a "count" while you're already processing that data elsewhere?
Back to top
View user's profile Send private message
Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7225

PostPosted: Mon Aug 31, 2015 7:16 pm    Post subject: Reply to: Getting error while using ICETOOL to split the file dynamica
Reply with quote

The answer to why you got the C is TO=ZD. If you change that to TO=ZDF your long-winded approach should work. Note, M11 is SyncSORT's default edit mask, so needn't be provided.
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2422
Location: Netherlands, Amstelveen

PostPosted: Mon Aug 31, 2015 7:33 pm    Post subject:
Reply with quote

Quote:

Code:

//CTL3CNTL DD *
     OUTFIL FNAMES=(OUT01,OUT02,OUT03),
//    DD DSN=*.C1,VOL=REF=*.C1,DISP=(OLD,PASS)



Maybe you look at that.
Back to top
View user's profile Send private message
Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7225

PostPosted: Mon Aug 31, 2015 8:12 pm    Post subject: Reply to: Getting error while using ICETOOL to split the file dynamica
Reply with quote

DSN=*.C1 contains the problem, but isn't what caused the problem.

The division will produce a signed result for positives when TO=ZD is specified. To get the "unsigned" result for positives, TO=ZDF is required.
Back to top
View user's profile Send private message
snammi

New User


Joined: 18 Mar 2009
Posts: 11
Location: Bangalore

PostPosted: Tue Sep 01, 2015 12:58 pm    Post subject:
Reply with quote

Hi Bill,

My input file contains more than 120000 on any given day and it would be emailed in subsequent steps. Due to size of the file, email program is giving out error so we have decided to split the file into 3 equal parts and email them individually. Since I do not know the size of input file prior, I have defined extra space for the output files. The input file mentioned in the above code has 127961 records and 127961/3 is 42653.6 and when commented out the
Code:
 //    DD DSN=*.C1,VOL=REF=*.C1,DISP=(OLD,PASS)
and removed the coma it wrote all records into 3 output files instead of splitting the records equally.
I am not processing the file else where if that was the case, I would have used 3 output files and split the records programattically.
Thank you for your replies.
Back to top
View user's profile Send private message
Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7225

PostPosted: Tue Sep 01, 2015 1:04 pm    Post subject: Reply to: Getting error while using ICETOOL to split the file dynamica
Reply with quote

Did you do what I suggested, and change the TO=ZD to TO=ZDF?
Back to top
View user's profile Send private message
snammi

New User


Joined: 18 Mar 2009
Posts: 11
Location: Bangalore

PostPosted: Tue Sep 01, 2015 1:29 pm    Post subject:
Reply with quote

Yes Bill. I just did that change and it worked. Thank You icon_smile.gif
Back to top
View user's profile Send private message
Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7225

PostPosted: Tue Sep 01, 2015 3:10 pm    Post subject: Reply to: Getting error while using ICETOOL to split the file dynamica
Reply with quote

120,000 records is under 90 cylinders. You're chopping that in three, because 120,000 records (or 90 cylinders) is too big for the email attachment - yet you have defined primary space for the chopped-down as... 200 cylinders, in case it grows?

You should be able to establish pretty accurately how much data is "too much" for the email attachment. Then limit your split outputs to that, no secondary space, and talk to your Production Control to check that running out of space will cause an abend.

If you know there is something that is not going to work, there's no point in allowing for it, is there? That'll just waste time.
Quote:

I am not processing the file else where if that was the case, I would have used 3 output files and split the records programattically.


Really? Why is this the DSN?

Code:
XXX.CSC916.EXTR.AUG21.SORT


I'd imagine something had extracted data for logical-date Aug 21 and then SORTed it before it got to you. Even if that was one SORT step, the count or the split could have been done there.

I don't know why you thought that removing your concatenation and the comma would do anything other than exactly what you stated it did. Did you read what I wrote?

Quote:
DSN=*.C1 contains the problem, but isn't what caused the problem.

The division will produce a signed result for positives when TO=ZD is specified. To get the "unsigned" result for positives, TO=ZDF is required.
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 -> SYNCSORT All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts S922 Error yuvan ABENDS & Debugging 3 Fri Dec 02, 2016 6:58 pm
No new posts Add PD field from 2nd file to PD in 1st Sushant Garje DFSORT/ICETOOL 6 Thu Dec 01, 2016 4:32 pm
No new posts Invoke Webservice Fails with DFHPI100... divated CICS 2 Thu Nov 24, 2016 5:57 pm
No new posts File Aid to File Manager conversion murali3955 IBM Tools 4 Thu Nov 24, 2016 3:41 pm
No new posts How to convert the VBM file to VB or... Sulabh Agrawal JCL & VSAM 4 Fri Nov 18, 2016 1:04 pm


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