One thing I believe was true in the COBOL+JCL world of the 1980s is that you couldn't write a program that would read the name of a file, and then open that file. All files to be accessed had to be specified statically with JCL.
Am I remembering correctly?