The requirement is -
I need to copy the 9 byte string from File1 (FB) into File 2 (VB) at the position 71.
File data and file DCb details provided below.
The 9 chars (VALUE Xs) in File 2 are the ones to be replaced by the 9 digit char from file 1.
Though i have tried many possible ways to get this done (SORT/ICETOOL), i end up in some kind of VB/FB copy related issues, thereby i will not be able to proceed further.
Could someone please help me on this.
File 1:
--------------------
**********
000000004
**********
Record format . . . : FB
Record length . . . : 9
Block size . . . . : 9
File 2:
----------------------
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----
999999999999999999999999999999990000000000000000000000000000000000011GXXXXXXXXX
**************************** Bottom of Data ****************************
Record format . . . : VB
Record length . . . : 3764
Block size . . . . : 27998
Syntaxes tried:
-------------------
//IN1 DD DISP=SHR,DSN=*.EDITCNT.SORTOUT
//IN2 DD DISP=SHR,DSN=*.GETACCNT.OUT
//OUT DD DSN=&&TRLL,
// DISP=(MOD,PASS),
// SPACE=(CYL,(20,20),RLSE),
// UNIT=DISK,VOL=(,,,10)
//OUT1 DD DSN=ACCTTEST.V523241.TRLZ,
// DISP=(OLD,CATLG,CATLG),
// UNIT=SYSDA,
// SPACE=(CYL,(50,10),RLSE),
// DCB=(RECFM=VB,LRECL=3764,BLKSIZE=0)
//TOOLIN DD *
COPY FROM(IN1) TO(OUT) USING(CTL1)
COPY FROM(IN2) TO(OUT) USING(CTL2)
SPLICE FROM(OUT) TO(OUT1) ON(3765,8,PD) WITH(71,3690) USING(CTL3)
/*
//CTL1CNTL DD *
INREC BUILD=(1,4,5:5,3760,3765:SEQNUM,8,PD)
OUTFIL FNAMES=OUT
/*
ERROR:
WER108I IN1 : RECFM=VB ; LRECL= 3764; BLKSIZE= 27998
WER073I IN1 : DSNAME=ACCTTEST.V523241.TRLA
WER257I INREC RECORD LENGTH = 3772
WER238I POTENTIALLY INEFFICIENT USE OF INREC
WER110I OUT : RECFM=VB ; LRECL= 3772; BLKSIZE= 27998
WER074I OUT : DSNAME=SYS14135.T091821.RA000.UIMEXTRT.TRLL.H01
WER552I THIS COPY STEP COULD RUN WITH SIGNIFICANTLY LESS CPU AND ELAPSED TIME
WER410B 5,868K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,
WER410B 0 BYTES RESERVE REQUESTED, 2,247,180 BYTES USED
WER244A INREC - SHORT RECORD
-------------------------------------------------------------------------------------------------------------------------------------------
//TOOLIN DD *
COPY FROM(IN1) TO(OUT) USING(CTL1)
COPY FROM(IN2) TO(OUT) USING(CTL2)
SPLICE FROM(OUT) TO(OUT1) ON(3765,8,PD) WITH(71,3690) USING(CTL3)
/*
//CTL1CNTL DD *
INREC OVERLAY=(5,3760,3772:X)
OUTREC BUILD=(1,4,5:5,3760,3765:SEQNUM,8,PD)
OPTION VLSHRT
/*
Issue:
WER146B 20K BYTES OF EMERGENCY SPACE ALLOCATED
WER108I IN1 : RECFM=VB ; LRECL= 3764; BLKSIZE= 27998
WER073I IN1 : DSNAME=ACCTTEST.V523241.TRLA
WER237I OUTREC RECORD LENGTH = 3772
WER110I OUT : RECFM=VB ; LRECL= 3772; BLKSIZE= 27998
WER074I OUT : DSNAME=SYS14135.T085918.RA000.UIMEXTRT.TRLL.H01
WER552I THIS COPY STEP COULD RUN WITH SIGNIFICANTLY LESS CPU AND ELAPSED TIME
WER410B 5,868K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,
WER410B 0 BYTES RESERVE REQUESTED, 2,243,312 BYTES USED
WER244A OUTREC - SHORT RECORD
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
------------------------------------------------------------------------------------------------------------------------------