IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

SORTOUT is expected as RECORD TYPE V in joinkeys application


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Escapa

Senior Member


Joined: 16 Feb 2007
Posts: 1399
Location: IL, USA

PostPosted: Wed Apr 06, 2011 4:59 pm
Reply with quote

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
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Apr 06, 2011 5:37 pm
Reply with quote

What happens when you ..........

a) Specify no DCB info on the output dataset
b) Specify RECFM=VB LRECL=54 on the output dataset
c) Put the output to SYSOUT
Back to top
View user's profile Send private message
Escapa

Senior Member


Joined: 16 Feb 2007
Posts: 1399
Location: IL, USA

PostPosted: Wed Apr 06, 2011 6:24 pm
Reply with quote

expat wrote:
What happens when you ..........

a) Specify no DCB info on the output dataset
b) Specify RECFM=VB LRECL=54 on the output dataset
c) Put the output to SYSOUT


Yes. I already tried with b and c. It Does work. But wanted to understand why it is getting converted to VB .. icon_confused.gif icon_confused.gif icon_confused.gif .
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Wed Apr 06, 2011 8:56 pm
Reply with quote

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.

Read about REFORMAT Statement here

publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ice1ca50/5.5?


Quote:
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.


publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ice1cm50/2.2.42?
Back to top
View user's profile Send private message
Escapa

Senior Member


Joined: 16 Feb 2007
Posts: 1399
Location: IL, USA

PostPosted: Wed Apr 06, 2011 9:01 pm
Reply with quote

Skolusu wrote:

Escapa,

I guess you overlooked the documentation.


Yeah.. I guess I did.. icon_redface.gif

Thanks Kolusu...
Back to top
View user's profile Send private message
Escapa

Senior Member


Joined: 16 Feb 2007
Posts: 1399
Location: IL, USA

PostPosted: Wed Apr 06, 2011 9:16 pm
Reply with quote

I have udpated SYSIN as below.. Working fine now.. Many Thanks..
Code:

JOINKEYS FILE=F1,FIELDS=(4,24,A)                 
JOINKEYS FILE=F2,FIELDS=(4,24,A)                 
JOIN UNPAIRED,ONLY                               
SORT FIELDS=COPY                                 
OUTFIL REMOVECC,VTOF,                             
HEADER1=('00',DATENS=(4MD),TIMENS=(24)),         
TRAILER1=('09',COUNT=(M11,LENGTH=8)),BUILD=(5,50)
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Wed Apr 06, 2011 9:25 pm
Reply with quote

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)                             
                                                                   
  OUTFIL REMOVECC,IFOUTLEN=50,                                     
  IFTHEN=(WHEN=(25,1,CH,EQ,C'1'),BUILD=(C'05N',01,24,DATE1,50:X)),
  IFTHEN=(WHEN=(25,1,CH,EQ,C'2'),BUILD=(C'05C',26,24,DATE1,50:X)),
  HEADER1=('00',DATENS=(4MD),TIMENS=(24)),                         
  TRAILER1=('09',COUNT=(M11,LENGTH=8))                             
//*


The output from this is
Code:

0020110406084954                   
05NAAAAAAAAAAAAAAAAAAAAAAAA20110406
05CDDDDDDDDDDDDDDDDDDDDDDDD20110406
0900000002                         
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts WER247A SORTOUT HAS INCOMPATIBLE LRECL SYNCSORT 4
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts To find whether record count are true... DFSORT/ICETOOL 6
Search our Forums:

Back to Top