icetool with splice

In this Mainframe Forum - You can post your queries on DFSORT, ICETOOL , SyncSort & JCL Utilities

Moderators: Frank Yaeger, Moderator Group

Post Reply
4ubobby
Member
Posts: 19
Joined: Fri Nov 06, 2009 7:49 pm
Location: USA

icetool with splice

Post by 4ubobby » Mon Jan 04, 2010 7:08 pm

HI,

I Need to compare two files on a key field which is at different positions and if matching record is found some part of the record from file 1 and complete record from file 2 needs to be written to the output file

input file 1:- lrecl 215 with key at position 1 length 7
input file 2:- lrecl 100 with key at position 87 length 7 has duplicate i want them in the output file as well

This is the jcl i am trying and i am getting errors.

Code: Select all

//STEP01 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=input file 1,DISP=SHR
//IN2 DD DSN=input file 2,DISP=SHR
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
//OUT DD DSN=output file,DISP=(NEW,CATLG,DELETE),
// DCB=(RECFM=FB,LRECL=250,BLKSIZE=2500),
// UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE)
//TOOLIN DD *
COPY FROM(IN2) TO(T1) ON FIRST USING(CTL1)
COPY FROM(IN1) TO(T1) ON FIRST USING(CTL2)
SPLICE FROM(T1) TO(OUT) ON(101,7,CH) -
FIRSTDUP WITH(143,2) USING(CTL3)
/*
//CTL1CNTL DD *
INREC OVERLAY=(1,100,3X,104:1,7,33X,143:C'11')
/*
//CTL2CNTL DD *
INREC OVERLAY=(1,103,104:96,7,110:17,24,135:79,9,143:C'22')
/*
//CTL3CNTL DD *
OUTFIL FNAMES=OUT,INCLUDE=(286,2,CH,EQ,C'12'), -
BUILD=(1,103,104:110,24,128:135,9)
/*

error message
*************

ICE600I 0 DFSORT ICETOOL UTILITY RUN STARTED


ICE632I 0 SOURCE FOR ICETOOL STATEMENTS:  TOOLIN


ICE630I 0 MODE IN EFFECT:  STOP

          COPY FROM(IN2) TO(T1)ON FIRST USING(CTL1)
                               $
ICE604A 0 ERROR IN KEYWORD, PARAMETER, OR DELIMITER
ICE602I 0 OPERATION RETURN CODE:  12

ICE630I 2 MODE IN EFFECT:  SCAN

          COPY FROM(IN1) TO(T1)ON FIRST USING(CTL2)
                               $
ICE604A 0 ERROR IN KEYWORD, PARAMETER, OR DELIMITER
thanks

Bobby

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Mon Jan 04, 2010 10:02 pm

Sigh.

Code: Select all

COPY FROM(IN2) TO(T1) ON FIRST USING(CTL1) 
COPY FROM(IN1) TO(T1) ON FIRST USING(CTL2) 
SPLICE FROM(T1) TO(OUT) ON(101,7,CH) - 
FIRSTDUP WITH(143,2) USING(CTL3) 
Your syntax is incorrect in many ways. You can't just invent your own syntax and expect it to work. You have to use the documented syntax.

If you want help, describe what you're trying to do rather than what you did that didn't work. Please show an example of the records in each input file (relevant fields only) and what you expect for output. Explain the "rules" for getting from input to output. Give the starting position, length and format of each relevant field. Give the RECFM and LRECL of the input files. If file1 can have duplicates within it, show that in your example. If file2 can have duplicates within it, show that in your example.
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

4ubobby
Member
Posts: 19
Joined: Fri Nov 06, 2009 7:49 pm
Location: USA

icetool

Post by 4ubobby » Mon Jan 04, 2010 11:57 pm

I Need to compare two files on a key field which is at different positions and if matching record is found some part of the record from file 1 and complete record from file 2 needs to be written to the output file

input file 1:- lrecl 215 with key at position 1 length 7
input file 2:- lrecl 100 with key at position 87 length 7 has duplicate i want them in the output file as well
thanks

Bobby

4ubobby
Member
Posts: 19
Joined: Fri Nov 06, 2009 7:49 pm
Location: USA

example

Post by 4ubobby » Tue Jan 05, 2010 12:00 am

input1
*****
************1111*********test
************2222*********pest
************3333*********guest


input2
*****
1111testdata
2222aasdfas
3333adsfsafa
1111adfasdfs


output
*****
1111testdatatest
2222aasdfaspest
3333adsfsafaguest
1111adfasdfstest
thanks

Bobby

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Tue Jan 05, 2010 12:14 am

Do you need the output records in the original order of the input2 records, or can the output records be sorted on the key?

Is the RECFM of the input files FB?

What is the expected RECFM and LRECL for the output file?

Do you have the Nov, 2009 DFSORT PTF installed? To determine this, see:

http://www.mainframegurukul.com/ibmmain ... php?t=3982
if matching record is found some part of the record from file 1
Which part? What is the starting position and length of this part?
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

4ubobby
Member
Posts: 19
Joined: Fri Nov 06, 2009 7:49 pm
Location: USA

example

Post by 4ubobby » Tue Jan 05, 2010 11:47 pm

Input file 1
*********
from input file 1 i want from 24 bytes starting from 17 and 9 bytes from 79 position.

input file 2
********
complete record which is 100 bytes.

outfile
*******
the length of the output file is 133 bytes 100 bytes from input file 2 and 33 bytes of input file 1.
thanks

Bobby

4ubobby
Member
Posts: 19
Joined: Fri Nov 06, 2009 7:49 pm
Location: USA

files

Post by 4ubobby » Tue Jan 05, 2010 11:55 pm

all the files are in FB Format.

any order is fine. if match found it should be written.


ICE201I F RECORD TYPE ... July, 2008 DFSORT
thanks

Bobby

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Wed Jan 06, 2010 1:57 am

Just to be sure I understand (because your input example doesn't seem to match your description):

File1 has RECFM=FB and LRECL=215 - key is 1,7 - fields for output are at 17,24 and 79,9.

File2 has RECFM=FB and LRECL=100 - key is 87,7 - field for output is 1,100.

Is that correct?
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

4ubobby
Member
Posts: 19
Joined: Fri Nov 06, 2009 7:49 pm
Location: USA

yes you are correct

Post by 4ubobby » Wed Jan 06, 2010 2:00 am

correct
thanks

Bobby

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Wed Jan 06, 2010 2:52 am

Here's a DFSORT/ICETOOL job that will do what you asked for:

Code: Select all

//S1   EXEC  PGM=ICETOOL
//TOOLMSG   DD  SYSOUT=*
//DFSMSG    DD  SYSOUT=*
//IN1 DD DSN=... input file (FB/215)
//IN2 DD DSN=... input file (FB/100)
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
//OUT DD DSN=...  output file (FB/133)
//TOOLIN DD *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(OUT) ON(87,7,CH) WITHALL -
  WITH(1,100) WITH(134,1) USING(CTL3)
/*
//CTL1CNTL DD *
  INREC BUILD=(87:1,7,101:17,24,125:79,9,134:C'BB')
/*
//CTL2CNTL DD *
  INREC OVERLAY=(134:C'VV')
/*
//CTL3CNTL DD *
  OUTFIL FNAMES=OUT,INCLUDE=(134,2,CH,EQ,C'VB'),
    BUILD=(1,133)
/*
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

academyindia4

Topic deleted by Admin

Post by academyindia4 » Mon Jan 25, 2016 10:19 pm

<< Content deleted By Admin >>

Post Reply

FREE TUTORIALS

Tutorials
Free tutorials from mainframegurukul
  • JCL Tutorial
    Covers all important JCL concepts.
  • Cobol Tutorial
    This tutorials covers all Cobol Topics from STRING to COMP-3.
  • DB2 Tutorial
    DB2 Tutorial focuses on DB2 COBOL Programming.
  • SORT Tutorial
    This Tutorial covers all important aspects of DFSORT with examples
  • CICS Tutorial
    This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming.
Interview
Mainframe Interview questions



Other References
Mainframe Tools and others