As I said in the e-mail, it is a sub-program. You have to write a driver program that does the main processing.
When you call the sub-program, you pass it two parameters, the first being the group name in IO-BLOCK.CPY with various fields within it initialized, the second being the I/O area.
Before calling the sub-program, you must first set up the various fields, one being always the I/O request type; OPEN, CLOSE, READ, etc.
For OPEN, the I/O area must contain the path name of the file to be read. For READ-NEXT, the I/O area will receive the next record. You must set the length of the I/O area in the first parameter before each call. The I/O status field will contain the status of the I/O request after the call.
If the I/O status is other than 00 (Normal) or 10 (File at end), the sub-program will attempt to call another sub-program to display the error and request user action. As you don't have this other sub-program, the MF COBOL system will instead display that fact as an error.
Note that after each READ, the sub-program will change the value in RECORD-LENGTH from that set by the calling program to the number of bytes just read.