Hello NicC, the problem will keep coming unless the length is handled explicitly as tested by Pandora/Mr. Woodgar in the earlier tagged post; at least for SYNCSORT.
Aside, Susanta, for a VB dataset, you add 4 to the already specified start-of-data positions; for example, from: FIELDS=(11,14,CH,A) , 11 changes to 15; from FIELDS=(2,14,CH,A), 2 changes to 6; and so on. Play around with it a bit, and you should be able to work it out. There are hundreds of examples for this available on the forum as well as the good ol' web (if the manual is not around).
Do confirm if the information from the link shared and stated by Mr. Raj a few posts earlier was helpful in to resolving the issue, because your last sort-card doesn't show any changes.
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
Are all other issues solved now? If VB is the only thing troubling you, you should be able to figure it out yourself. There are plenty of working examples here showing what needs to be done for handling VB datasets.
Next time when you start a new topic, try to post as much information as possible in your very first post instead of throwing it in bits. That would make it easier for others who are trying to help you.
Susanta, Please take sometime and freeze your need once for all and then do some research by yourself to learn and get things done independently. Because if you are a Beginner to DFSORT/SYNCSORT then the right place to post your question and learn is here.
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
I don't know why I thought the REFORMAT was variable :-)
In your first BUILD, you have 90 bytes of data, in the second 88. That's the reason for the failure. You could add 2X to the end of the second BUILD, or, perhaps less clear, use the IFOUTLEN as you have.
I am facing issue with F1 (VB file with len 80) and F2 (FB file of len 55).
getting abend..
IEF450I TXXXYY03 PS080 JS010 - ABEND=S000 U0016 REASON=00000000
The card is ..
Code:
SYNCSORT FOR Z/OS 2.1.1.1R U.S. PATENTS: 4210961, 5117495 (C) 2014 SYNCSO
z/OS 2.1.0
SYNCSORT LICENSED FOR CPU SERIAL NUMBER 19D64, MODEL 2827 718 LICEN
SYSIN :
JOINKEYS FILE=F1,FIELDS=(15,14,CH,A)
JOINKEYS FILE=F2,FIELDS=(2,14,CH,A)
JOIN UNPAIRED,F1
REFORMAT FIELDS=(F1:1,4,5,86,F2:1,55),FILL=C'$'
SORT FIELDS=(5,10,ZD,A)
OUTFIL FNAMES=F1ONLY,IFOUTLEN=80,
IFTHEN=(WHEN=(5,1,CH,NE,C'$',AND,91,1,CH,EQ,C'$'),
BUILD=(1,4,15,76)),
IFTHEN=(WHEN=(5,1,CH,NE,C'$',AND,91,1,CH,NE,C'$'),
BUILD=(1,4,106,14,29,62))
WER813I INSTALLATION OPTIONS IN MFX LOAD LIBRARY WILL BE USED
WER164B 17,736K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B 0 BYTES RESERVE REQUESTED, 416K BYTES USED
WER146B 32K BYTES OF EMERGENCY SPACE ALLOCATED
WER481I JOINKEYS REFORMAT RECORD LENGTH= 145, TYPE = F
WER202A F1ONLY RECFM INCOMPATIBLE
WER110I F1ONLY : RECFM=VB ; LRECL= 80; BLKSIZE=
WER074I F1ONLY : DSNAME=TXX.XX.XXXXX.TEST.VB.V2
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
WER482I JNF1 STATISTICS
WER483B 1,956K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER483B 0 BYTES RESERVE REQUESTED, 476K BYTES USED
WER108I SORTJNF1 : RECFM=VB ; LRECL= 80; BLKSIZE= 27998
WER073I SORTJNF1 : DSNAME=XXX.XXXX.XXXXX.XXXX.VB.V1
WER482I JNF2 STATISTICS
WER483B 1,956K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER483B 0 BYTES RESERVE REQUESTED, 476K BYTES USED
WER108I SORTJNF2 : RECFM=FB ; LRECL= 55; BLKSIZE= 5500
WER073I SORTJNF2 : DSNAME=TXX.XX.XREF.FILE
In this same step JNF1CNTL is used to add SEQNUM of 10 bytes to file
XXX.XXXX.XXXXX.XXXX.VB.V1