Terminology is critical in IT, where similar terms may mean very different things. One of the easily retrieved definitions for "buffer" is
2. Computer Science A device or an area of a computer that temporarily stores data that is being transferred between two machines that process data at different rates, such as a computer and a printer.
For COBOL, the definition in the Glossary of the
Language Reference manual is
buffer. A portion of storage used to hold input or output data temporarily.
And since the computer is processing at nanosecond speeds while I/O devices operate at (typically) millisecond speeds, the "process data at different rates" of the first definition definitely applies!
In other words, a buffer in COBOL is:
1) associated with an FD
2) is labelled with an 01 level number
3) can have multiple 01 levels for a single FD
Hence your use of terms like "input buffer" or "output buffer" may cause you problems -- the FILE may be an input file, or output file, but the memory area is merely where the data is stored once read from the file, or stored before being written to the file. And if you attempt to reference the memory area (any data item in the FD section) while the file is closed, you're going to get an abend most likely since the buffer memory isn't allocated until the file is opened.
Are you talking about opening a file, reading data from it, displaying it to a printer, and then closing the file?