Правильный способ параметризации подпрограмм Cobol - через вложенную подпрограмму.
Вы можете делать то, что вы хотите, но это зависит от вашего компилятора и среды, вы можете передать файл, или имя файла, или DDname.
На какой платформе вы находитесь?
Редактировать: В z / OS вы можете изменить то, на что указывает FILE-A во время выполнения, используя putenv (), чтобы настроить имя набора данных, связанное с DDNAME, котороеFILE-A использует.
См .: http://ibmmainframes.com/post-57281.html http://cicswiki.org/cicswiki1/index.php?title=How_do_I_allocate_a_file_dynamically_using_COBOL%3F
Вам также понадобится параграф OPEN-A и CLOSE-A между переключениями файлов.
Это не совсем передача параметров в ваш оператор чтения, но он позволяет вам повторно использовать ваши операторы OPEN / READ / WRITE / CLOSE для разных файлов.Но только поочередно.
В VS COBOL II был способ передать FD подпрограмме, которая выглядела бы примерно так:
CALL MYREADPGM, используя FILE-A CALL MYREADPGMИСПОЛЬЗОВАНИЕ FILE-B
Это возможно для Enterprise Cobol, но IIRC VisualAge не поддерживает это.