Marun
New User
Joined: 11 Jul 2009 Posts: 2 Location: Chennai, India
|
|
|
|
Hi all,
Sorry for bumping this old thread. I am trying to split a VB file dynamically using SPLIT1R and ending up in an error.
Split from unrelated topic.
This is the syntax i used for splitting.
Code: |
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=... input file
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(,PASS)
//C1 DD DSN=&&C1,UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(,PASS)
//CTL3CNTL DD *
OUTFIL FNAMES=(OUT01,OUT02,...,OUTnn), <--- code OUT01-OUTnn
// DD DSN=*.C1,VOL=REF=*.C1,DISP=(OLD,PASS)
//OUT01 DD DSN=... output file01
//OUT02 DD DSN=... output file02
...
//OUTnn DD DSN=... output filenn <--- code OUT01-OUTnn
//TOOLIN DD *
* Get the record count.
COPY FROM(IN) USING(CTL1)
* Generate:
* SPLIT1R=x where x = count/nn.
* nn is the number of output files.
COPY FROM(T1) TO(C1) USING(CTL2)
* Use SPLIT1R=x to split records contiguously among
* the nn output files.
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,+nn, <--- set to nn
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'))
/* |
The problem now is this seem to be working well for FB files and i am trying to split the VB file. This is the error i got
Code: |
ICE201I H RECORD TYPE IS V - DATA STARTS IN POSITION 5
ICE251A 2 MISSING RDW OR DATA FOR *OUTREC : REASON CODE 05, IFTHEN 1
ICE751I 0 C5-K62149 C6-K90026 C7-K58148 C8-K67572 E7-K70685
|
Can you please help me with this.
Thanks in advance.
Cheers,
Marun |
|
Marun
New User
Joined: 11 Jul 2009 Posts: 2 Location: Chennai, India
|
|
|
|
Just found the solution pals.
Amended this line with VTOF and it worked like charm.
Code: |
OUTFIL FNAMES=T1,REMOVECC,NODETAIL,VTOF,BUILD=(8X),
TRAILER1=(COUNT=(M11,LENGTH=8)) |
Thanks a lot all. |
|