Under the old compiler, if you declared an EXTERNAL FILE in one routine with some attributes, such as RECORD, but in another routine linked with the first routine, you did not declare the file or declared it with no attributes (other than FILE), then the second routine would use the attributes declared in the first routine even if the second routine opened the file first.
Enterprise PL/I would handle this differently: the second routine would not "see" the attributes from the first routine and would instead apply the default attributes, such as STREAM, to the file. This can lead to problems.
You should correct this code by declaring the FILE identically in all routines; in fact, all EXTERNAL variables should be declared identically in all routines.