I know that you can change the length of a KSDS record. In the definition of the file you can give it the different lengths. Also, Cobol needs to know the record is varying. I have rewritten records with varying lengths which was handled fine, sadly I don't remember how I did it 12 years ago. Also, cobol gets the record length from vsam when the record is initially read and you set the record length for output in a similar fashion. Sorry can't remember this, I don't have samples anymore of how I did it, but don't let anyone tell you it can't be done. BillyBoyo seems to be on the right track.