I came across a VS cobol program which uses "WRITE AFTER POSITIONING var1". I converted it to COBOL370 version "WRITE AFTER ADVANCING var2" and EVALUATE verb.
The report file generated by the program RECFM is FBA. The report file record Layout in the VS COBOL program has first byte as the print control character(var1).
If we maintained the first byte in COBOL370 then the LRECL of the report file is incremented automatically by 1byte(n+1 bytes) during the execution of the COBOL370 version dynamically. This extra byte has the
print control character same as the print control character present as the 1st byte of the record layout in the program.
To overcome the problem ,i commented the first byte in the record layout in the program.
Is this a fool proof soulution
Does COBOL370 automatically prefix the output record with the print control character mentioned in the "WRITE AFTER ADVANCING" instruction.
I assume The solution of let the file record size increase definitely not optimal.
You did right. By using Write after or write before then automatically the record is prefixed with one Byte for print-control-char. After that, there is your normal record-layout as you declared it in working storage.