Getting error by using OUTREC OVERLAY



Support for NetApp SyncSort for z/OS, Visual SyncSort, SYNCINIT, SYNCLIST and SYNCTOOL

Re: Getting error by using OUTREC OVERLAY

Postby bodatrinadh » Tue Jul 02, 2013 6:33 pm

May be you can try either one of these -

Increase the LRECL of your output file to 150.
or
SORT FIELDS=COPY,STOPAFT=1                               
OUTREC OVERLAY=(127:86,19)


or
SORT FIELDS=COPY,STOPAFT=1                               
OUTREC BUILD=(1,4,5,130,131:86,15)


And finally you changed my name to Badinath :D :lol:
Thanks
-3nadh
User avatar
bodatrinadh
 
Posts: 67
Joined: Thu Jan 12, 2012 9:05 pm
Has thanked: 0 time
Been thanked: 4 times

Re: Getting error by using OUTREC OVERLAY

Postby porwalrox » Tue Jul 02, 2013 7:18 pm

Hi bodatrinadh,

I tried both but did'nt work. same abend.
porwalrox
 
Posts: 38
Joined: Fri Oct 05, 2012 4:05 pm
Has thanked: 2 times
Been thanked: 0 time

Re: Getting error by using OUTREC OVERLAY

Postby dick scherrer » Tue Jul 02, 2013 11:37 pm

Hello,

You MUST change the output lrecl to account for the new data . . .
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times

Re: Getting error by using OUTREC OVERLAY

Postby porwalrox » Wed Jul 03, 2013 1:55 pm

Thanks all of you.

It's clear that we can not overlay some fields for different type of record length. Is there any way from which it can be acheived?
porwalrox
 
Posts: 38
Joined: Fri Oct 05, 2012 4:05 pm
Has thanked: 2 times
Been thanked: 0 time

Re: Getting error by using OUTREC OVERLAY

Postby BillyBoyo » Thu Jul 04, 2013 4:21 am

If you use OVERLAY, the length of the original record will not change, just the data will be rearranged.

If you use BUILD, the length of the record will be that of the fields and constants included in the BUILD, and nothing else.

You cannot possibly get two output records from what you have shown. So, please, instead of just saying "it doesn't work", show us the relevant fields from you input, the output you are obtaining, the full sysout from the step, including all the Sort Control Cards. All in the Code tags to preserve spacing.
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times

Re: Getting error by using OUTREC OVERLAY

Postby porwalrox » Mon Jul 08, 2013 8:09 pm

Hi BillyBoyo,

First, Sorry for my late reply.

My problem was:
Suppose i have 3 VSAM files F1, F2 and F3. These files F1,F2 is of 145 LRECL and F3 is of 1201.
First i have copied first record from F1 to F2. Now i have to overlay 19 bytes from the first record of F3(starting from position 82 to position 100 from F3 file) to the F2 file(position starting from 127 to 145).

Well, I have done this using SAS and IDCAMS. First i wrote a SAS for these positions then repro that file to the VSAM file.
If I am doing some mistakes in SORT, Please let me know.

Record from F1 looks like this(HEX is on):
--7--- -+----8----+----9----+----0----+----1----+----2----+----3----+----4----+
********************************* TOP OF DATA **********************-CAPS OFF-*
                                                               2013070804422222
000000 00000000000000000000000000000000000000000000000000000079FFFFFFFFFFFFFFFF
000000 0000000000000000000000000000000000000000000000000000068C2013070804493500


Record from F3 looks like this(HEX is on):
-- +----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0-
********************************* TOP OF DATA **********************-CAPS OFF-*
                                                               2013070804493500
00 000000000000000000000000000000000000000000000000000000000079FFFFFFFFFFFFFFFF
00 02020000000000000000000000000000000000000000000000000000068C2013070804493500


Desired output:
Record from F2 looks like this(HEX is on):
--7--- -+----8----+----9----+----0----+----1----+----2----+----3----+----4----+
********************************* TOP OF DATA **********************-CAPS OFF-*
                                                               2013070804493500
000000 00000000000000000000000000000000000000000000000000000079FFFFFFFFFFFFFFFF
000000 0000000000000000000000000000000000000000000000000000068C2013070804493500
porwalrox
 
Posts: 38
Joined: Fri Oct 05, 2012 4:05 pm
Has thanked: 2 times
Been thanked: 0 time

Re: Getting error by using OUTREC OVERLAY

Postby BillyBoyo » Mon Jul 08, 2013 11:06 pm

Are you saying, you want to create a single record on F2, which is mostly the first record from F1, with part of the data coming from F3?
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times

Re: Getting error by using OUTREC OVERLAY

Postby porwalrox » Mon Jul 15, 2013 9:46 pm

Yes BillyBoyo.
porwalrox
 
Posts: 38
Joined: Fri Oct 05, 2012 4:05 pm
Has thanked: 2 times
Been thanked: 0 time

Re: Getting error by using OUTREC OVERLAY

Postby BillyBoyo » Wed Jul 17, 2013 4:38 am

What you really want can be done with JOINKEYS.

To avoid confusion, we'll call your F2 the output.

You need something which is guaranteed to match on F1 and F3. It looks like the first byte will always be zero, you may choose anything as long as it will make the first records match.

Code up your JOINKEYS, and look at how to put STOPAFT=1 on the JOINKEYS and use the REFORMAT statement to create your output record for F2.
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times

Previous

Return to Syncsort/Synctool

 


  • Related topics
    Replies
    Views
    Last post