Have you actually tried my job? It works fine for your original example and your newest example.
You are quoting rules for writing a program. I'm quoting rules for using ICETOOL. I believe my rules for using ICETOOL will give you what you want. Try my job. If you find a case that doesn't work, give me the input and output for that case.
If you don't understand how SELECT works, read the DFSORT book to find out.
I don't understand why you are talking about transposing the key. ICETOOL can handle the fields in the order you stated you want. I've coded the correct ON fields for that in my job. You could transpose the keys in a preliminary step and use one ON field, but why would you want to add extra processing when you don't need to?
Maching with ICETOOL
- Frank Yaeger
- Global moderator
- Posts: 1079
- Joined: Sat Jun 09, 2007 8:44 pm
- Skillset: DFSORT, ICETOOL, ICEGENER
- Referer: Search
- Contact:
Re: Maching with ICETOOL
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
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort
-
- Posts: 114
- Joined: Mon Dec 10, 2007 10:18 pm
- Skillset: cobol
- Referer: internet
Re: Maching with ICETOOL
I could not prove it yet. He hoped to be able to try it Monday morning. I only wanted to ensure that the result was as expected. If i find a case that doesn't work I said you.
-
- Posts: 114
- Joined: Mon Dec 10, 2007 10:18 pm
- Skillset: cobol
- Referer: internet
Re: Maching with ICETOOL
Hello Frank
I tried your job and I don't know waht's wrong. I used:
//STEP007 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=... (FB/124)
//IN2 DD DSN=... (FB/124)
//T1 DD DSN=...,
// DISP=(NEW,CATLG,DELETE),RECFM=FB,VOL=(,,,10),
// SPACE=(TRK,(200,100),RLSE)
//OUT DD DSN=...,
// DISP=(NEW,CATLG,DELETE),RECFM=FB,VOL=(,,,10),
// SPACE=(TRK,(200,100),RLSE)
//TOOLIN DD *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SELECT FROM(T1) TO(OUT) ON(9,22,CH) ON(1,8,CH) ON(31,1,CH) -
NODUPS
/*
//CTL1CNTL DD * *** CONSTANT CONTROL CARDS ***
INREC OVERLAY=(125:C'AT01')
//CTL2CNTL DD * *** CONSTANT CONTROL CARDS ***
INREC OVERLAY=(125:C'BT02')
/*
and I am obtain:
IN1 (124 positions AT01)
315252112048000330040037502048Axxxx (is equal at IN2)
340417762048000330040037502048Txxxx (is not equal)
005412552048000330040037682048Txxxx
031854012048000334040013212048Axxxx
033456492048000334040013212048Txxxx
011432542048000334040013392048Txxxx
318753302048000334040013392048Txxxx
131316492048000426040001982048Txxxx
367505382048000430040004162048Txxxx
367505382048000430040004242048Txxxx
131316492048000434040006852048Txxxx
131316492048000497040004992048Txxxx
136898322048000497040004992048Gxxxx
342973972048008834040003572048Txxxx
365652352048008834040003652048Txxxx
367505392048008834040003732048Txxxx
367505392048008834040003812048Txxxx
367505392048008834040003992048Txxxx
IN2 (124 positions BT02)
315252112048000330040037502048Axxxxx (is equal at IN1)
318753302048000330040037502048Axxxxx
031854012048000334040013212048Axxxxx
OUT
315252112048000330040037502048A...BT02
318753302048000330040037502048A...BT02
031854012048000334040013212048A...BT02
I need obtain:
OUT (124 position + 4)
318753302048000330040037502048A...BT02
340417762048000330040037502048T...AT01
005412552048000330040037682048T...AT01
031854012048000334040013212048A...BT02
033456492048000334040013212048T...AT01
011432542048000334040013392048T...AT01
318753302048000334040013392048T...AT01
131316492048000426040001982048T...AT01
367505382048000430040004162048T...AT01
367505382048000430040004242048T...AT01
131316492048000434040006852048T...AT01
131316492048000497040004992048T...AT01
136898322048000497040004992048G...AT01
342973972048008834040003572048T...AT01
365652352048008834040003652048T...AT01
367505392048008834040003732048T...AT01
367505392048008834040003812048T...AT01
367505392048008834040003992048T...AT01
I tried your job and I don't know waht's wrong. I used:
//STEP007 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=... (FB/124)
//IN2 DD DSN=... (FB/124)
//T1 DD DSN=...,
// DISP=(NEW,CATLG,DELETE),RECFM=FB,VOL=(,,,10),
// SPACE=(TRK,(200,100),RLSE)
//OUT DD DSN=...,
// DISP=(NEW,CATLG,DELETE),RECFM=FB,VOL=(,,,10),
// SPACE=(TRK,(200,100),RLSE)
//TOOLIN DD *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SELECT FROM(T1) TO(OUT) ON(9,22,CH) ON(1,8,CH) ON(31,1,CH) -
NODUPS
/*
//CTL1CNTL DD * *** CONSTANT CONTROL CARDS ***
INREC OVERLAY=(125:C'AT01')
//CTL2CNTL DD * *** CONSTANT CONTROL CARDS ***
INREC OVERLAY=(125:C'BT02')
/*
and I am obtain:
IN1 (124 positions AT01)
315252112048000330040037502048Axxxx (is equal at IN2)
340417762048000330040037502048Txxxx (is not equal)
005412552048000330040037682048Txxxx
031854012048000334040013212048Axxxx
033456492048000334040013212048Txxxx
011432542048000334040013392048Txxxx
318753302048000334040013392048Txxxx
131316492048000426040001982048Txxxx
367505382048000430040004162048Txxxx
367505382048000430040004242048Txxxx
131316492048000434040006852048Txxxx
131316492048000497040004992048Txxxx
136898322048000497040004992048Gxxxx
342973972048008834040003572048Txxxx
365652352048008834040003652048Txxxx
367505392048008834040003732048Txxxx
367505392048008834040003812048Txxxx
367505392048008834040003992048Txxxx
IN2 (124 positions BT02)
315252112048000330040037502048Axxxxx (is equal at IN1)
318753302048000330040037502048Axxxxx
031854012048000334040013212048Axxxxx
OUT
315252112048000330040037502048A...BT02
318753302048000330040037502048A...BT02
031854012048000334040013212048A...BT02
I need obtain:
OUT (124 position + 4)
318753302048000330040037502048A...BT02
340417762048000330040037502048T...AT01
005412552048000330040037682048T...AT01
031854012048000334040013212048A...BT02
033456492048000334040013212048T...AT01
011432542048000334040013392048T...AT01
318753302048000334040013392048T...AT01
131316492048000426040001982048T...AT01
367505382048000430040004162048T...AT01
367505382048000430040004242048T...AT01
131316492048000434040006852048T...AT01
131316492048000497040004992048T...AT01
136898322048000497040004992048G...AT01
342973972048008834040003572048T...AT01
365652352048008834040003652048T...AT01
367505392048008834040003732048T...AT01
367505392048008834040003812048T...AT01
367505392048008834040003992048T...AT01
- Frank Yaeger
- Global moderator
- Posts: 1079
- Joined: Sat Jun 09, 2007 8:44 pm
- Skillset: DFSORT, ICETOOL, ICEGENER
- Referer: Search
- Contact:
Re: Maching with ICETOOL
My job has:
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
Your job has:
//T1 DD DSN=...,
// DISP=(NEW,CATLG,DELETE),RECFM=FB,VOL=(,,,10),
// SPACE=(TRK,(200,100),RLSE)
You need to use a MOD data set for T1, not a NEW data set.
I don't want to look at this further until you fix that and see what you get.
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
Your job has:
//T1 DD DSN=...,
// DISP=(NEW,CATLG,DELETE),RECFM=FB,VOL=(,,,10),
// SPACE=(TRK,(200,100),RLSE)
You need to use a MOD data set for T1, not a NEW data set.
I don't want to look at this further until you fix that and see what you get.
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
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort
-
- Posts: 114
- Joined: Mon Dec 10, 2007 10:18 pm
- Skillset: cobol
- Referer: internet
Re: Maching with ICETOOL
You are reason. If I used a MOD works fine. Excuse me. Thanks
- Frank Yaeger
- Global moderator
- Posts: 1079
- Joined: Sat Jun 09, 2007 8:44 pm
- Skillset: DFSORT, ICETOOL, ICEGENER
- Referer: Search
- Contact:
Re: Maching with ICETOOL
Good. I'm glad to hear we can finally put this one to rest.
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
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort
-
- Similar Topics
- Replies
- Views
- Last post
-
- 2
- 1439
-
by willy jensen
View the latest post
Sun Nov 13, 2022 9:02 pm
-
-
Continuation of report in ICETOOL
by schintala » Sat Dec 24, 2022 10:32 pm » in DFSORT/ICETOOL/ICEGENER - 7
- 2943
-
by sergeyken
View the latest post
Fri Dec 30, 2022 12:27 am
-