Getting ICE218A 3 message for ICETOOL program



IBM's flagship sort product DFSORT for sorting, merging, copying, data manipulation and reporting. Includes ICETOOL and ICEGENER

Getting ICE218A 3 message for ICETOOL program

Postby tjegan » Mon Mar 25, 2013 6:15 pm

Hi ,

I want to insert the character 'X' at the end of each records. For this, i have coded the icetool program like the below.

//STEP010  EXEC PGM=ICETOOL                                 
//DATEFL   DD DSN=<Date file>,DISP=SHR   
//INFL     DD DSN=<Input file>,DISP=SHR                     
//TEMP1    DD DSN=&&TEMP1,DISP=(,PASS),
//             RECFM=VB,LRECL=2137,                 
//             DATACLAS=&DCLAS,DSORG=PS                             
//TEMP2    DD DSN=&&TEMP2,DISP=(,PASS),                     
//             RECFM=VB,LRECL=2137,                 
//             DATACLAS=&DCLAS,DSORG=PS                     
//TOOLIN   DD DSN=<CTRL1>,DISP=SHR           
//CTL1CNTL DD DSN=<CTRL2>,DISP=SHR           
//CTL2CNTL DD DSN=<CTRL3>,DISP=SHR           
//TOOLMSG  DD SYSOUT=*                                       
//DFSMSG   DD SYSOUT=*                                       
//SYSOUT   DD SYSOUT=*                                       
//SYMNOUT  DD SYSOUT=*                                       
//*
//STEP020  EXEC PGM=IEBGENER                   
//SYSPRINT DD SYSOUT=*                         
//SYSUT1   DD DSN=&&TEMP1,DISP=(OLD,DELETE)     
//         DD DSN=&&TEMP2,DISP=(OLD,DELETE)     
//SYSUT2   DD DSN=<New file>

Control cards:
COPY FROM(DATEFL) TO(TEMP1) USING(CTL1)
SUBSET FROM(INFL) TO(TEMP2) REMOVE INPUT HEADER TRAILER USING(CTL2)


CTL1:
OUTFIL FNAMES=TEMP1,FTOV,
BUILD=(1:C'H#',3:C'ABCDEFGH',11:2X,13:1,8,21:2112X,2133:C'X')

CTL2:
OUTFIL FNAMES=TEMP2,FTOV,
BUILD=(1:1,2132,2133:C'X'),
TRAILER1=(1:C'T#',3:C'ABCDEFGH',
11:2X,13:COUNT=(EDIT=(TTTTTTTT)),2133:C'X'),
REMOVECC


***************************************************
date file:
----+----1
**********
20010124

Input file:
DETAIL RECORD1
DETAIL RECORD2
.
.
.
.
DETAIL RECORD777


Expected output:
output file:
H#ABCDEFGH 20010124 X(LAST FIELD)
DETAIL RECORD1 X(LAST FIELD)
DETAIL RECORD2 X(LAST FIELD)
. X(LAST FIELD)
. X(LAST FIELD)
. X(LAST FIELD)
. X(LAST FIELD)
DETAIL RECORD777 X(LAST FIELD)
T#ABCDEFGH 00000777 X(LAST FIELD)



Input file --> LRECL = 2136, VB File
Output file--> LRECL = 2137, VB File(to insert last character as X)

when i submit the job i am getting the below abend. i tried modifying the control cards in trial and error methods but invain.


Abend: ICE218A 3 360 BYTE VARIABLE RECORD IS SHORTER THAN 2132 BYTE MINIMUM FOR TEMP2


Note: Detail record lengh can be vary like 360, 361, 400.

The above code works fine for header and trailer but not for detail records. ie, when i remove the below build statement, my JOB works fine but the indicator value(X) appears only for header and trailer.

So Can anyone please confirm whether the below statement is valid for CTL2.
BUILD=(1:1,2132,2133:C'X'),
tjegan
 
Posts: 33
Joined: Mon Mar 25, 2013 5:58 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Getting ICE218A 3 message for ICETOOL program

Postby BillyBoyo » Mon Mar 25, 2013 7:05 pm

If your records are 360, 361 and 400, what do you think will happen with

BUILD=(1:1,2132,2133:C'X'),


Why do you want an X at 2137? All your records will then be 2137, so why would you need them to be "variable" anymore?

Perhaps an explanation of what you want will be useful?
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times

Re: Getting ICE218A 3 message for ICETOOL program

Postby tjegan » Mon Mar 25, 2013 8:25 pm

Existing code produces the result from the input file with variable record(2136 length).
Requirement has come to insert 'X' at the last position of the output file(variable record with the length of 2137)
tjegan
 
Posts: 33
Joined: Mon Mar 25, 2013 5:58 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Getting ICE218A 3 message for ICETOOL program

Postby BillyBoyo » Mon Mar 25, 2013 8:38 pm

Well, just OVERLAY=(2133:C'X') instead of the BUILD. I just don't see the point of then making them variable, if every record is 2133 bytes, you just waste four bytes per record to make them "variable-length-records-of-a-single-size".
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times

Re: Getting ICE218A 3 message for ICETOOL program

Postby skolusu » Tue Mar 26, 2013 4:35 am

tjegan,

Apart from Bill's caution about making all the variable records the same length. The control cards you show and the error message you received does not match.

CTL1 and CTL2 are both expecting an FB input file which you are converting to a VB file. However you claim that your Input is already VB file and in that case you would have got a different error ICE251A 9 MISSING RDW OR DATA . Show us the complete sysout instead of bits and pieces.
Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
skolusu
 
Posts: 586
Joined: Wed Apr 02, 2008 10:38 pm
Has thanked: 0 time
Been thanked: 39 times

Re: Getting ICE218A 3 message for ICETOOL program

Postby tjegan » Tue Mar 26, 2013 10:46 am

TOOLMSG is given below for the reference:


COPY FROM(DATEFL) TO(TEMP1) USING(CTL1)
ICE606I 0 DFSORT CALL 0001 FOR COPY FROM DATEFL TO TEMP1 USING CTL1CNTL COMPLETED
ICE602I 0 OPERATION RETURN CODE: 00


SUBSET FROM(INFL) TO(TEMP2) REMOVE INPUT HEADER TRAILER USING(CTL2)
ICE606I 0 DFSORT CALL 0002 FOR COPY FROM INFL TO OUTFIL USING CTL2CNTL COMPLETED

ICE606I 0 DFSORT CALL 0003 FOR COPY FROM INFL TO OUTFIL USING CTL2CNTL TERMINATED

ICE602I 0 OPERATION RETURN CODE: 16
ICE601I 0 DFSORT ICETOOL UTILITY RUN ENDED - RETURN CODE: 16




DFSMSG is given below for the reference:

1ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001
ICE201I H RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K62149 C6-K90026 C7-K58148 C8-K67572 E9-K60824 C9-BASE E5-K72040 E7-K70685
ICE143I 0 BLOCKSET COPY TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R12 - 10:57 ON MON MAR 25, 2013 -
0 OUTFIL FNAMES=TEMP1,FTOV,
BUILD=(1:C'H#',3:C'ABCDEFGH',11:2X,13:1,8,21:2112X,2133:C'X')
ICE146I 0 END OF STATEMENTS FROM CTL1CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL1,SORTIN=DATEFL*
,SORTOUT=TEMP1,DYNALLOC
SORT FIELDS=COPY
ICE201I H RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K62149 C6-K90026 C7-K58148 C8-K67572 E9-K60824 C9-BASE E5-K72040 E7-K70685
ICE193I 0 ICEAM2 INVOCATION ENVIRONMENT IN EFFECT - ICEAM2 ENVIRONMENT SELECTED
ICE252I 1 PARMLIB OPTIONS WERE MERGED WITH INSTALLATION MODULE DEFAULTS
ICE088I 0 TTQZGEJD.JSTEP010.STEP010 , INPUT LRECL = 90, BLKSIZE = 32760, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,6291456,6291456)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (6234096,6234096)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=500
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=1048576,MINLIM=450560,EQUALS=N,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N ,ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=16384,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,COBEXIT=COB2
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=65536,CINV=Y,CFW=N,DSA=0
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=W,PARMDDN=DFSPARM ,FSZEST=N
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=50 ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE236I 0 OPTIONS: DYNAPCT=10 ,MOWRK=Y
ICE084I 0 EXCP ACCESS METHOD USED FOR DATEFL
ICE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 20480, ABOVE 16M = 2127872
ICE210I 0 TEMP1 : EXCP USED, LRECL = 2137, BLKSIZE = 27998, TYPE = VB
ICE751I 1 EF-BASE CB-K64632 F0-K66717 E8-K70685
ICE055I 0 INSERT 0, DELETE 0
ICE054I 0 RECORDS - IN: 1, OUT: 1
ICE227I 0 TEMP1 : DELETED = 0, REPORT = 0, DATA = 1
ICE228I 0 TEMP1 : TOTAL IN = 1, TOTAL OUT = 1
ICE052I 0 END OF DFSORT
1ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0002
ICE201I H RECORD TYPE IS V - DATA STARTS IN POSITION 5
ICE751I 0 C5-K62149 C6-K90026 C7-K58148 C8-K67572 E9-K60824 C9-BASE E5-K72040 E7-K70685
ICE143I 0 BLOCKSET COPY TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R12 - 10:57 ON MON MAR 25, 2013 -
0 OUTFIL FNAMES=TEMP2,FTOV,
BUILD=(1:1,2132,2133:C'X'),
TRAILER1=(1:C'T#',3:C'ABCDEFGH',
11:2X,13:COUNT=(EDIT=(TTTTTTTT)),2133:C'X'),
REMOVECC
ICE146I 0 END OF STATEMENTS FROM CTL2CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL2,SORTIN=INFL,S*
ORTOUT=TEMP2,DYNALLOC,EQUALS,NOCHECK,COPY
OMIT COND=ALL
OUTFIL FNAMES=TEMP2
ICE201I H RECORD TYPE IS V - DATA STARTS IN POSITION 5
ICE751I 0 C5-K62149 C6-K90026 C7-K58148 C8-K67572 E9-K60824 C9-BASE E5-K72040 E7-K70685
ICE193I 0 ICEAM2 INVOCATION ENVIRONMENT IN EFFECT - ICEAM2 ENVIRONMENT SELECTED
ICE252I 1 PARMLIB OPTIONS WERE MERGED WITH INSTALLATION MODULE DEFAULTS
ICE088I 0 TTQZGEJD.JSTEP010.STEP010 , INPUT LRECL = 2136, BLKSIZE = 23040, TYPE = VB
ICE093I 0 MAIN STORAGE = (MAX,6291456,6291456)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (6234096,6234096)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=500
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=1048576,MINLIM=450560,EQUALS=Y,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N ,ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=16384,RESINV=0,SVC=109 ,CHECK=N,WRKREL=Y,OUTREL=Y,CKPT=N,COBEXIT=COB2
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=65536,CINV=Y,CFW=N,DSA=0
ICE132I 0 OPTIONS: VLSHRT=Y,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=W,PARMDDN=DFSPARM ,FSZEST=N
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=50 ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE236I 0 OPTIONS: DYNAPCT=10 ,MOWRK=Y
ICE084I 0 EXCP ACCESS METHOD USED FOR INFL
ICE751I 1 EF-BASE CB-K64632 F0-K66717 E8-K70685
ICE055I 0 INSERT 0, DELETE 1001
ICE054I 0 RECORDS - IN: 1001, OUT: 0
ICE052I 0 END OF DFSORT
1ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0003
ICE201I H RECORD TYPE IS V - DATA STARTS IN POSITION 5
ICE150I 1 VLSHRT NOT USED FOR SORT, MERGE, INCLUDE, OMIT OR SUM STATEMENT FIELDS
ICE751I 0 C5-K62149 C6-K90026 C7-K58148 C8-K67572 E9-K60824 C9-BASE E5-K72040 E7-K70685
ICE143I 0 BLOCKSET COPY TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R12 - 10:57 ON MON MAR 25, 2013 -
0 OUTFIL FNAMES=TEMP2,FTOV,
BUILD=(1:1,2132,2133:C'X'),
TRAILER1=(1:C'T#',3:C'ABCDEFGH',
11:2X,13:COUNT=(EDIT=(TTTTTTTT)),2133:C'X'),
REMOVECC
ICE146I 0 END OF STATEMENTS FROM CTL2CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL2,SORTIN=INFL,S*
ORTOUT=TEMP2,DYNALLOC,EQUALS,NOCHECK,SKIPREC=00000000000*
0001,STOPAFT=000000000000999
SORT FIELDS=COPY
OUTFIL FNAMES=TEMP2
ICE201I H RECORD TYPE IS V - DATA STARTS IN POSITION 5
ICE150I 1 VLSHRT NOT USED FOR SORT, MERGE, INCLUDE, OMIT OR SUM STATEMENT FIELDS
ICE751I 0 C5-K62149 C6-K90026 C7-K58148 C8-K67572 E9-K60824 C9-BASE E5-K72040 E7-K70685
ICE193I 0 ICEAM2 INVOCATION ENVIRONMENT IN EFFECT - ICEAM2 ENVIRONMENT SELECTED
ICE252I 1 PARMLIB OPTIONS WERE MERGED WITH INSTALLATION MODULE DEFAULTS
ICE088I 0 TTQZGEJD.JSTEP010.STEP010 , INPUT LRECL = 2136, BLKSIZE = 23040, TYPE = VB
ICE093I 0 MAIN STORAGE = (MAX,6291456,6291456)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (6234096,6234096)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=500
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=1048576,MINLIM=450560,EQUALS=N,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N ,ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=16384,RESINV=0,SVC=109 ,CHECK=N,WRKREL=Y,OUTREL=Y,CKPT=N,COBEXIT=COB2
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=65536,CINV=Y,CFW=N,DSA=0
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=W,PARMDDN=DFSPARM ,FSZEST=N
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=50 ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE236I 0 OPTIONS: DYNAPCT=10 ,MOWRK=Y
ICE084I 0 EXCP ACCESS METHOD USED FOR INFL
ICE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 20480, ABOVE 16M = 2127872
ICE210I 0 TEMP2 : EXCP USED, LRECL = 2137, BLKSIZE = 27998, TYPE = VB
0ICE805I 0 JOBNAME: TTQZGEJD , STEPNAME: JSTEP010
ICE802I 0 BLOCKSET TECHNIQUE IN CONTROL
ICE858I 0 LA=32708, DA=6144, AA=26564, BA=2029, CP=1, TA=2078
ICE859I 0 LB=6004, DB=1048, AB=4956, BB=0, CP=0, RS=0, TB=20
ICE860I 0 F=YN, P=2, M=N, B=2048
ICE889I 0 CT=MAX , SB=3, L=0, D=0000, CCW=1MAM
ICE902I 0 O I PP11
ICE855I 0 TEMP2 : TX=N, R=J, L=J, B=D, BL=0, BR=0, DCT=37, VS=N, RU=X, SB=8
ICE218A 3 360 BYTE VARIABLE RECORD IS SHORTER THAN 2132 BYTE MINIMUM FOR TEMP2 FIELDS
ICE751I 1 EF-BASE CB-K64632 F0-K66717 E8-K70685
ICE052I 0 END OF DFSORT

tjegan
 
Posts: 33
Joined: Mon Mar 25, 2013 5:58 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Getting ICE218A 3 message for ICETOOL program

Postby tjegan » Tue Mar 26, 2013 10:59 am

Please note that the DATEFL file is FB format.
INFL -> VB Format.
Temp1,Temp2 -> VB Format
tjegan
 
Posts: 33
Joined: Mon Mar 25, 2013 5:58 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Getting ICE218A 3 message for ICETOOL program

Postby BillyBoyo » Tue Mar 26, 2013 1:16 pm

Since your INFL is VB, why do you FTOV it? If you don't know the answer directly, look up FTOV in the manuals, please.
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times

Re: Getting ICE218A 3 message for ICETOOL program

Postby skolusu » Wed Mar 27, 2013 1:20 am

tjegan wrote:Please note that the DATEFL file is FB format.
INFL -> VB Format.
Temp1,Temp2 -> VB Format


tjegan,

If you INFL is already an VB file , you don't need the FTOV parm on CTL2. You also don't have to hardcode the LRECL and RECFM in the JCL. so remove the 2 statements in TEMP1 and TEMP2 definitions
//             RECFM=VB,LRECL=2137,       
//             RECFM=VB,LRECL=2137,   


You don't need them. DFSORT is smart enough to calculate the LRECL and RECFM from the input dataset or parameters.

Change your CTL2CNTL to the following which will fix your error.
//CTL2CNTL DD *                                 
  OUTFIL FNAMES=TEMP2,OVERLAY=(2137:X),REMOVECC,
  TRAILER1=('T#ABCDEFGH',COUNT=(EDIT=(TTTTTTTT)))
//*   
Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
skolusu
 
Posts: 586
Joined: Wed Apr 02, 2008 10:38 pm
Has thanked: 0 time
Been thanked: 39 times

Re: Getting ICE218A 3 message for ICETOOL program

Postby tjegan » Fri Apr 12, 2013 10:28 am

The above code works fine.Thanks for million :) .
tjegan
 
Posts: 33
Joined: Mon Mar 25, 2013 5:58 pm
Has thanked: 0 time
Been thanked: 0 time


Return to DFSORT/ICETOOL/ICEGENER

 


  • Related topics
    Replies
    Views
    Last post