RECORD I/O is supported, but with the following restrictions:
Note that since the TOTAL option of the ENVIRONMENT attribute is not supported, I/O to files using the TOTAL option will generally not perform as well as under the old compilers.
However, the old implementation of the TOTAL option relied on the compiler generated code knowing both about the layout of the library's i/o control blocks and the layout of the DFSMS control blocks. This meant that if either of these changed, that code would be broken. Consequently, the library code could not be changed and had to continue to use (or fake the use of) a fixed level of the DFSMS control blocks. One consequence of this was that the old library could not use i/o buffers that were above the line - because the compiler generated code in the user's load modules knew they were below the line. (And if Enterprise PL/I were to start implementing the TOTAL option, then it, in turn, would never be able to use buffers that were above the line or above the bar). This rigid interdependence is poor design that hurts even those that don't use the TOTAL option.
Furthermore, the TOTAL option had inherent dangers since the code bypassed all of the library code and hence error handling was problematic at best.