Hi,
I am trying to use joinkeys application where both the input files are FB with LRECL=50.
and I have defined SORTOUT LRECL as 50, RECFM=FB
In maintask sysout it gives below msg,
ICE419I 0 JOINED RECORDS: TYPE=V, LENGTH=54
ICE201I G RECORD TYPE IS V - DATA STARTS IN POSITION 5.
I am wondering why output is created as record type V when both input files are record type F and I havnt mentioned any intentional conversion..
Below is SYSOUT and JNFmsg.
SYSOUT:
Code:
1ICE805I 1 JOBNAME: PDFB5001 , STEPNAME: STEP0010
ICE802I 0 BLOCKSET TECHNIQUE IN CONTROL
ICE411I 0 THIS IS THE JOINKEYS MAIN TASK FOR JOINING F1 AND F2
ICE416I 0 JOINKEYS IS USING THE F1 SUBTASK FOR SORTJNF1 - SEE JNF1JMSG MESSAGES
ICE416I 1 JOINKEYS IS USING THE F2 SUBTASK FOR SORTJNF2 - SEE JNF2JMSG MESSAGES
ICE419I 0 JOINED RECORDS: TYPE=V, LENGTH=54
ICE201I G RECORD TYPE IS V - DATA STARTS IN POSITION 5
ICE043A 9 INVALID DATA SET ATTRIBUTES: SORTOUT RECFM - REASON CODE IS 13
ICE751I 0 C5-K59561 C6-K51707 C7-K54603 C8-K51707 E9-K51707 E7-K51707
ICE143I 0 BLOCKSET COPY TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R10 - 12:20 ON WED APR 06, 2011 -
0 JOINKEYS FILE=F1,FIELDS=(4,24,A)
JOINKEYS FILE=F2,FIELDS=(4,24,A)
JOIN UNPAIRED,ONLY
SORT FIELDS=COPY
OUTFIL REMOVECC,HEADER1=('00',DATENS=(4MD),TIMENS=(24)),
TRAILER1=('09',COUNT=(M11,LENGTH=8))
ICE411I 0 THIS IS THE JOINKEYS MAIN TASK FOR JOINING F1 AND F2
ICE416I 0 JOINKEYS IS USING THE F1 SUBTASK FOR SORTJNF1 - SEE JNF1JMSG MESSAGES
ICE416I 1 JOINKEYS IS USING THE F2 SUBTASK FOR SORTJNF2 - SEE JNF2JMSG MESSAGES
ICE419I 0 JOINED RECORDS: TYPE=V, LENGTH=54
ICE201I G RECORD TYPE IS V - DATA STARTS IN POSITION 5
ICE043A 9 INVALID DATA SET ATTRIBUTES: SORTOUT RECFM - REASON CODE IS 13
ICE751I 0 C5-K59561 C6-K51707 C7-K54603 C8-K51707 E9-K51707 E7-K51707
ICE052I 3 END OF DFSORT
JNF1JMSG
Code:
1ICE805I 0 JOBNAME: PDFB5001 , STEPNAME: STEP0010
ICE802I 0 BLOCKSET TECHNIQUE IN CONTROL
ICE201I G RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE992I 0 RA 0 WR 0 TR 0
ICE751I 0 C5-K59561 C6-K51707 C7-K54603 C8-K51707 E9-K51707 C9-BASE E5-K55337 E6-K51707 E7-K51707
ICE417I 0 THIS IS THE JOINKEYS F1 SUBTASK FOR SORTJNF1
ICE143I 0 BLOCKSET SORT TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R10 - 12:20 ON WED APR 06, 2011 -
0 INREC BUILD=(C'05',C'N',1,24,DATE1,15X)
ICE146I 0 END OF STATEMENTS FROM JNF1CNTL - PARAMETER LIST STATEMENTS FOLLOW
SORT FORMAT=BI,FIELDS=(4,24,A)
RECORD TYPE=F
DEBUG NOABEND,ESTAE
OPTION EQUALS,MSGPRT=ALL,LIST,NOCHECK,RESINV=0,DYNALLOC,SORTDD=JNF1,MSG*
DDN=JNF1JMSG,SORTIN=SORTJNF1
ICE201I G RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE992I 0 RA 0 WR 0 TR 0
ICE751I 0 C5-K59561 C6-K51707 C7-K54603 C8-K51707 E9-K51707 C9-BASE E5-K55337 E6-K51707 E7-K51707
ICE410A 0 JOINKEYS APPLICATION TERMINATED - SEE SYSOUT MESSAGES
ICE052I 3 END OF DFSORT
JNF2JMSG
Code:
1ICE805I 0 JOBNAME: PDFB5001 , STEPNAME: STEP0010
ICE802I 0 BLOCKSET TECHNIQUE IN CONTROL
ICE201I G RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE992I 0 RA 0 WR 0 TR 0
ICE751I 0 C5-K59561 C6-K51707 C7-K54603 C8-K51707 E9-K51707 C9-BASE E5-K55337 E6-K51707 E7-K51707
ICE417I 0 THIS IS THE JOINKEYS F2 SUBTASK FOR SORTJNF2
ICE143I 0 BLOCKSET SORT TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R10 - 12:20 ON WED APR 06, 2011 -
0 INREC BUILD=(C'05',C'C',1,24,DATE1,15X)
ICE146I 0 END OF STATEMENTS FROM JNF2CNTL - PARAMETER LIST STATEMENTS FOLLOW
SORT FORMAT=BI,FIELDS=(4,24,A)
RECORD TYPE=F
DEBUG NOABEND,ESTAE
OPTION EQUALS,MSGPRT=ALL,LIST,NOCHECK,RESINV=0,DYNALLOC,SORTDD=JNF2,MSG*
DDN=JNF2JMSG,SORTIN=SORTJNF2
ICE201I G RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE992I 0 RA 0 WR 0 TR 0
ICE751I 0 C5-K59561 C6-K51707 C7-K54603 C8-K51707 E9-K51707 C9-BASE E5-K55337 E6-K51707 E7-K51707
ICE410A 1 JOINKEYS APPLICATION TERMINATED - SEE SYSOUT MESSAGES
ICE052I 3 END OF DFSORT
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
Escapa wrote:
But wanted to understand why it is getting converted to VB .
Escapa,
I guess you overlooked the documentation.
A REFORMAT statement can always be used for a JOINKEYS application, and is required unless a JOIN statement with the ONLY operand is specified.
JOIN UNPAIRED,ONLY
The joined records will be variable-length. If the F1 records are fixed-length, each unpaired F1 record will be variable-length. with an RDW followed by the original F1 record. If the F1 records are variable-length, each unpaired F1 record will be the original F1 record. If the F2 records are fixed-length, each unpaired F2 record will be variable-length with an RDW followed by the original F2 record. If the F2 records are variable-length, each unpaired F2 record will be the original F2 record.
ICE043A 9 INVALID DATA SET ATTRIBUTES: SORTOUT RECFM - REASON CODE IS 13
I guess you hard coded the DCB parms for the sortout in JCL
Here is the explanation of ICE043A with reason code 13
Code:
13 The record format is variable length and the OUTFIL output data set has a fixed length record format, or OUTFIL parameter FTOV or VLFILL is specified and the OUTFIL output data set has a fixed length record format. Examples: SORTIN has RECFM=VB, OUTFIL FNAMES=OUT1 is specified, and OUT1 has RECFM=FB. SORTIN has RECFM=FB, OUTFIL FNAMES=OUT2,FTOV is specified and OUT2 has RECFM=F. SORTIN has RECFM=VB, OUTFIL FNAMES=OUT3, VLFILL=C'*',BUILD=(70) is specified and OUT3 has RECFM=FB.
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
Escapa,
I looked over your job once again and I am not sure as to why you need JNF1CNTL and JNF2CNTL to increase the length of the input to 50 bytes. You can use the ? Indicator to distinguish the records. check out this example
Code:
//STEP0100 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//INA DD *
AAAAAAAAAAAAAAAAAAAAAAAA - NO MATCH SHOULD BE IN OUTPUT
BBBBBBBBBBBBBBBBBBBBBBBB - MATCH SHOULD BE DROPPED
//INB DD *
BBBBBBBBBBBBBBBBBBBBBBBB - MATCH SHOULD BE DROPPED
DDDDDDDDDDDDDDDDDDDDDDDD - NO MATCH SHOULD BE IN OUTPUT
//SORTOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
JOINKEYS F1=INA,FIELDS=(1,24,A)
JOINKEYS F2=INB,FIELDS=(1,24,A)
JOIN UNPAIRED,ONLY
REFORMAT FIELDS=(F1:1,24,?,F2:1,24)