View previous topic :: View next topic
|
Author |
Message |
ronald masters
New User
Joined: 09 Dec 2015 Posts: 12 Location: uk
|
|
|
|
I want to use DFSORT to populate a KSDS. The job fails but I don't understand why.
The output JESJCL looks like this
Code: |
87 //POPULATE EXEC PGM=SORT
//******************************************************************
//* SKIP THE HEADER
//* SORT THE REST
//* DITCH THE TRAILER
//******************************************************************
88 //SYSOUT DD SYSOUT=*
89 //SORTMSG DD SYSOUT=*
90 //SYSPRINT DD SYSOUT=*
91 //SORTIN DD DISP=SHR,DSN=SE&LVL1..I3GR1.SCBRK.DATA(0)
IEFC653I SUBSTITUTION JCL - DISP=SHR,DSN=SEY.I3GR1.SCBRK.DATA(0)
92 //SORTOUT DD DISP=OLD,DSN=SE&LVL1..I2GR1.SCBRKL.HARP
IEFC653I SUBSTITUTION JCL - DISP=OLD,DSN=SEY.I2GR1.SCBRKL.HARP
93 //TRAILER DD DUMMY
94 //SYSIN DD *
//*
95 // ENDIF
|
I get msg ICE222A in the SORTMSG dataset
Code: |
ICE201I 0 RECORD TYPE IS F - DATA STARTS IN POSITION 1 CODE WAS 0A3-42: 14:27:3
ICE805I 1 JOBNAME: XGRGCBKR , STEPNAME: POPULATE
ICE802I 0 BLOCKSET TECHNIQUE IN CONTROL
ICE857I 0 C=2, LA=1286076, DA=2348, LB=10688, DB=1469, MB=136, CB=641864, UB=12
ICE143I 0 BLOCKSET SORT TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES A
ICE000I 1 - CONTROL STATEMENTS FOR 5650-ZOS, Z/OS DFSORT V2R1 - 14:27 ON WED D
OPTION SKIPREC=1, SKIP HEADER BEFORE SORT
NULLOUT=RC0 EMPTY SORTOUT IS OK
SORT FIELDS=(121,18,CH,A)
OUTFIL FNAMES=TRAILER, TRAILER RECORD
INCLUDE=(1,1,CH,EQ,C'T',
AND,
2,10,FS,EQ,NUM)
OUTFIL FNAMES=SORTOUT, ALL OTHER RECORDS
SAVE
ICE222A 0 598 BYTE FIXED RECORD LENGTH IS NOT EQUAL TO 1196 BYTE LRECL FOR SORTOUT
ICE751I 0 C5-N22817 C6-BASE C7-K96411 C8-I15445 E4-BASE E7-I12417
ICE052I 3 END OF DFSORT
|
The SORTIN dataset is FB/598
Code: |
Data Set Information
Command ===>
Data Set Name . . . . : SEY.I3GR1.SCBRK.DATA.G0343V00
General Data Current Allocation
Management class . . : G020N395 Allocated cylinders : 1
Storage class . . . : STD Allocated extents . : 1
Volume serial . . . : S2SD10 +
Device type . . . . : 3390
Data class . . . . . : SMALL
Organization . . . : PS Current Utilization
Record format . . . : FB Used cylinders . . : 1
Record length . . . : 598 Used extents . . . : 1
Block size . . . . : 27508
1st extent cylinders: 1
Secondary cylinders : 1 Dates
Data set name type : Creation date . . . : 2015/12/15
Referenced date . . : 2015/12/16
Expiration date . . : ***None***
|
The SORTOUT KSDS is 598/1196
Code: |
DATA ------- SEY.I2GR1.SCBRKL.HARP.DATA
IN-CAT --- ICFUCAT.VD009
HISTORY
DATASET-OWNER-----(NULL) CREATION--------2015.350
RELEASE----------------2 EXPIRATION------0000.000
ACCOUNT-INFO-----------------------------------(NULL)
PROTECTION-PSWD-----(NULL) RACF----------------(NO)
ASSOCIATIONS
CLUSTER--SEY.I2GR1.SCBRKL.HARP
ATTRIBUTES
KEYLEN----------------18 AVGLRECL-------------598
RKP------------------120 MAXLRECL------------1196
STRIPE-COUNT-----------1
SHROPTNS(2,3) SPEED UNIQUE NOERASE
NONSPANNED EXTENDED EXT-ADDR
|
I do not understand why I am getting the message when the KSDS appears not to be fixed len. Please can someone advise me of my error ? |
|
Back to top |
|
 |
ronald masters
New User
Joined: 09 Dec 2015 Posts: 12 Location: uk
|
|
|
|
I found my answer.
OUTFIL statement changed to
Code: |
OUTFIL SAVE, ALL OTHER RECORDS
FTOV, CONVERT FIXED TO VARIABLE LENGTH
FNAMES=SORTOUT
|
Problem solved. |
|
Back to top |
|
 |
RahulG31
Active User
Joined: 20 Dec 2014 Posts: 446 Location: USA
|
|
|
|
I think you could also solve it by Building the record such that it fills spaces till the end. Something like,
Quote: |
OUTFIL FNAMES=SORTOUT,BUILD=(1,598,1196:X),SAVE |
. |
|
Back to top |
|
 |
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Well, yes, but not if you want to keep the records the correct length.
The KSDS has records of different length. When outputting fixed-length records it uses the maximum length as the LRECL. The FTOV is the correct solution to get the 598-byte records as 598-byte records. |
|
Back to top |
|
 |
|
|