|
View previous topic :: View next topic
|
| Author |
Message |
BridgetBrackenbury
New User
Joined: 12 Feb 2016 Posts: 4 Location: NZ
|
|
|
|
Hi,
I have a VB file LRECL 5014 which I need to limit to an LRECL of 256. Most of the records are less than 256 but some aren't. The output file needs to be VB.
I need to find lines that are longer than 256 and split them up into 256 chunks with an intervening line with something like 'SPLIT LINE' on it so I can tell which lines have been split
I have got this far
| Code: |
//SRTNVAS EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DISP=SHR,DSN=&URTHLQ..TEST.IN
//SORTOUT DD DISP=(SHR),
// DSN=&URTHLQ..TEST.OUT.TXT,
// RECFM=VB,SPACE=(TRK,(2,1)),UNIT=SYSDA
//SYSIN DD *
OPTION COPY
OUTFIL IFTHEN=(WHEN=(1,2,BI,GT,200),
BUILD=(1,4,5,200,/))
/* |
but for the new line I am running into an error of missing the RDW
and I am not sure of the best method of breaking up the whole 5014.
Any help much appreciated |
|
| Back to top |
|
 |
RahulG31
Active User
Joined: 20 Dec 2014 Posts: 446 Location: USA
|
|
|
|
RDW is in position 1-4. You are using slash operator '/' to split records. So, the new record after '/' should start with 1,4 or 1,n for a VB.
I think this is why you are getting RDW Missing error.
. |
|
| Back to top |
|
 |
BridgetBrackenbury
New User
Joined: 12 Feb 2016 Posts: 4 Location: NZ
|
|
|
|
Yes Thanks That helped
| Code: |
//SYSIN DD *
OPTION COPY
OUTFIL IFTHEN=(WHEN=(1,2,BI,GT,100),
BUILD=(1,4,5,100,/,1,4,C'**SPLIT**',/,1,4,105)),
IFTHEN=(WHEN=(1,2,BI,LT,100),
BUILD=(1,4,5)) |
[/code] |
|
| Back to top |
|
 |
|
|
 |
All times are GMT + 6 Hours |
|