That position doesn't make much sense to me. "... why should your Cobol program abend because you read, say, a shorter record, when you really don't care about the length of the record?" How about because if the input data is supposed to be fixed-length records, getting a shorter record indicates that the input file has been corrupted in some way?
But that's a different topic, not relevant to this discussion. We aren't talking about how programs ought to be written.
The problem at hand is that we have a COBOL85 program already written and in production that is reading data from an entry-sequenced file. We aren't allowed to change that program.
An entry-sequenced file will preserve trailing blanks if they are present in the records written to the file. We don't know whether the existing process of writing the file writes fixed-length or variable-length records.
If we try to substitute an Edit file for the entry-sequenced file, and if the records have trailing blanks, those trailing blanks will be removed from the records, possibly turning a file of fixed-length records into a file of variable-length records.
So if a COBOL85 program must do something to accept a file of variable-length records that it does not have to do to accept a file of fixed-length records, we might not be able to solve the problem using a technique that results in putting the data into an Edit file. It does not matter whether it is possible to write a COBOL85 program that can accept variable length records -- it is more a question of whether every possible COBOL85 program will continue to work properly if its input file changes from fixed-length records to variable-length records (since we know *nothing* about the current program).
I am pretty sure that some COBOL85 programs that were written expecting fixed-length records would not work properly if given variable-length records, since I think that the record area is not cleared before reading the next record. So when reading a record shorter than the previous record, the data at the end of the previous record probably are left in the record area following the data from the shorter record. Only if the program can tell how much good data is present in each record by looking at something like a record code near the front of the record, or if the program never uses data from the variable part of the record, would that not affect the processing.
If the last column printed in a report always ends at the same point in the line and always has a nonblank character at that final character position, it might happen that, except for header, footer, and spacer lines, the report will be mostly fixed-length records when put into an Edit file. So, if the COBOL85 program does not get an error when reading the shorter records, there is some chance that it would function properly. Or if the report's detail lines are not fixed-length but the program does not use any fields in the variable-length part of the lines, it also could function properly if it does not get an error on the READ. So I'd say that there is a fair chance that the program would work properly, even if it was not explicitly written to recognize variable-length records, as long as it does not get an error on the READ due to records shorter than originally expected.
But a fair chance is not certainty, so we would have to be careful suggesting that the current problem be solved in a way that puts the data into an Edit file, even if READs of short records do not cause COBOL errors.