If you work with IBM DFSORT or ICETOOL, sooner or later you may encounter a cryptic error message like this:
ICE251A 0 MISSING RDW OR DATA FOR *OUTREC : REASON CODE 03, IFTHEN 0ICE751I 0 C5-I79519 C6-NONE   C7-I76950 C8-I76518 E9-I96983 E7-I76950ICE052I 3 END OF DFSORT 

ICE251A — a severe DFSORT error message.

⚙️ Common Causes
Variable-length (VB) file treated as Fixed (FB)
DFSORT adds a 4-byte Record Descriptor Word (RDW) to variable-length records.
If you accidentally process a VB file as FB, DFSORT may misread data and think it’s missing bytes.

So quick fix is to add (1,4) in the OUTREC fields before as highlighted in RED. There are other ways to fix this, but this is quick fix.

//STEP02  EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTMSG DD SYSOUT= *                
//SORTIN DD DSN=@USER.INPUT.FILE,DISP=SHR        
//SORTOUT DD SYSOUT=*                            
//SYSIN DD *                                     
 SORT FIELDS=COPY -                              
  INCLUDE COND=(5,1,CH,EQ,C'I') -                 
  OUTREC  FIELDS=(1,4,25,10)                      
/*

Also, DFSORT system messages will also inform you in spool that the file is VB and it’s starting point is 5.

So need to add 4 bytes to starting bytes from where you want to build the OUTREC. Thus in the example above the requirement is to build the OUTREC FROM 21 bytes. So (21+4=25) was mentioned as the starting position for OUTREC FIELDS.

Leave a comment

Discover more from DBzTech-Technology Dossier

Subscribe now to keep reading and get access to the full archive.

Continue reading