Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
Regarding Splice option of Icetool

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
Author Message
suganthyprabha

Active User


Joined: 28 Jul 2005
Posts: 58

PostPosted: Thu Jul 28, 2005 12:34 pm    Post subject: Regarding Splice option of Icetool
Reply with quote

Hi all,

i am having doubt in 'with' syntax of Splice option. i have seen this Jcl from Forum only. In this
i couldn't able to understand what ' with(12,1) ' means?

with(p,m) -- in this what p and m stands for? I have seen this syntax using QW.
we didn't mark CTL3 with c'12'. then how it identfies?

Code:
 
//job1 JOB (U,4019),'aaa',CLASS=0,MSGCLASS=R,MSGLEVEL=(1,1),   
//     NOTIFY=&SYSUID                                               
//S1 EXEC PGM=ICETOOL                                               
//TOOLMSG DD SYSOUT=*                                               
//DFSMSG  DD SYSOUT=*                                               
//IN1     DD DSN=a.b.c,DISP=SHR                         
//IN2     DD DSN=x.y.z,DISP=SHR                         
//OUT12   DD SYSOUT=*                                               
//OUT1    DD SYSOUT=*                                               
//OUT2    DD SYSOUT=*                                               
//T1      DD DSN=&&T1,DISP=(MOD,PASS),UNIT=SYSDA,SPACE=(TRK,(3,3))     
//TOOLIN  DD *                                                     
    COPY FROM(IN1) TO(T1) USING(CTL1)                               
    COPY FROM(IN2) TO(T1) USING(CTL2)                               
    SPLICE FROM(T1) TO(OUT12) ON(1,10,CH) WITH(12,1) -         
    USING(CTL3) KEEPNODUPS   
/*                                                                     
//CTL1CNTL DD *                                                       
    OUTREC FIELDS=(1,10,12:C'11')                                     
//CTL2CNTL DD *                                                       
    OUTREC FIELDS=(1,10,12:C'22')                                     
//CTL3CNTL DD *                                                       
    OUTFIL FNAMES=OUT12,INCLUDE=(12,2,CH,EQ,C'12'),OUTREC=(1,10)       
    OUTFIL FNAMES=OUT1,INCLUDE=(12,2,CH,EQ,C'11'),OUTREC=(1,10)       
    OUTFIL FNAMES=OUT2,INCLUDE=(12,2,CH,EQ,C'22'),OUTREC=(1,10)       
/*     

Thanks and regards,
prabha.
Back to top
View user's profile Send private message
References
PostPosted: Thu Jul 28, 2005 12:34 pm    Post subject: Re: Regarding Splice option of Icetool Reply with quote

Frank Yaeger

DFSORT Moderator


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

PostPosted: Thu Jul 28, 2005 10:34 pm    Post subject:
Reply with quote

In WITH(p,m) the p is the starting position and m is the length.

You can find complete details on the SPLICE operator of DFSORT's ICETOOL, with examples, in "z/OS DFSORT Application Programming Guide" at:

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ICE1CA10/6.13?DT=20050222160456

For an explanation of a similar SPLICE example, see this Smart DFSORT Trick:

http://www.ibm.com/servers/storage/support/software/sort/mvs/tricks/srtmst02.html#t05
Back to top
View user's profile Send private message
janmejay

New User


Joined: 22 Jun 2007
Posts: 15
Location: bangalore

PostPosted: Thu May 08, 2008 3:58 pm    Post subject: Re: Regarding Splice option of Icetool
Reply with quote

hi i am also being strucked at same point. can anyone tell me , how it will identify CTL3 , with(12,1)

Thanks and regards,
prabha.[/quote]
Back to top
View user's profile Send private message
rajatbagga

Active User


Joined: 11 Mar 2007
Posts: 124
Location: india

PostPosted: Thu May 08, 2008 4:54 pm    Post subject:
Reply with quote

Hello janmejay,

Well first use the links posted above by Frank.... you will get your answers.

Let me give you a brief idea how this works:

Code:
SPLICE FROM(T1) TO(OUT12) ON(1,10,CH) WITH(12,1) -         
    USING(CTL3) KEEPNODUPS 


The DATA present in T1 will be Spliced based on the KEY field specified in ON i.e (1,10,CH)... where 1 is the starting position and 10 is the length of KEY based on which you will perform splice operation. The values which will be spliced are specified in WITH i.e. (12,1)....where 12 is the starting position and 1 is the length of field with you want to Splice USING a control card which is specified as: USING(CTL3). So the control will go to the control card :----

Code:
//CTL3CNTL DD *                                                       
    OUTFIL FNAMES=OUT12,INCLUDE=(12,2,CH,EQ,C'12'),OUTREC=(1,10)       
    OUTFIL FNAMES=OUT1,INCLUDE=(12,2,CH,EQ,C'11'),OUTREC=(1,10)       
    OUTFIL FNAMES=OUT2,INCLUDE=(12,2,CH,EQ,C'22'),OUTREC=(1,10)       
/*     
 


I hope this will help you
Back to top
View user's profile Send private message
janmejay

New User


Joined: 22 Jun 2007
Posts: 15
Location: bangalore

PostPosted: Fri May 09, 2008 8:09 am    Post subject: splice option ICETOOL
Reply with quote

how it will identify the c'12' . only c'11' and c'22' identifier is being specified in the files.
Back to top
View user's profile Send private message
janmejay

New User


Joined: 22 Jun 2007
Posts: 15
Location: bangalore

PostPosted: Fri May 09, 2008 11:07 am    Post subject: Re: splice option ICETOOL
Reply with quote

it working fine for me. thankx
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL All times are GMT + 6 Hours
Page 1 of 1