Ошибка 94,20 при открытии оператора в 23-символьном файле имени файла

Я импортирую CSV-файлы, предоставленные сторонним поставщиком, в приложение COBOL. Имена файлов состоят из 23 символов в формате.csv. Эти файлы доставлены успешно и правильно прочитаны в Excel, Word и Vi.

Когда я открываю любой из этих файлов, используя предоставленные имена файлов, я получаю ошибку COBOL 94,20 - файл не найден. Это происходит в средах выполнения SCO OpenServer 5.0.7 (Unix) и Windows 7.

Однако, если я укоротю имя файла (произвольно до 4 символов), я могу открыть, прочитать и закрыть файл без проблем.

Существует ли ограничение COBOL на количество символов, допустимых в имени файла последовательного ввода? Что еще может вызвать такой открытый сбой?

Я использую компилятор Micro-focus/ACUCOBOL-GT V7.00 и версию ACUCOBOL-GT версии 5.2.1.

1 ответ

Более ранние версии SCO Unix (предшественника SCO OpenServer) имели ограничение имени файла в 14 символов. Если ваши файлы называются "thing.csv ", то часть" что-то "будет ограничена 10 символами.

Это ограничение не должно применяться к OpenServer 5.0.7. Однако, если используемый вами COBOL был скомпилирован в более старом выпуске, или если он более новый, но добровольно ограничивает поддержку имени файла в попытке сохранить обратную совместимость, это может быть проблемой. Вы можете проверить это, протестировав его по 13, 14, 15-символьным именам файлов - ну, в общем, проверить разные длины, чтобы узнать фактический предел.

Ваша система 5.0.7 должна иметь системную команду tracer command truss(C), а также может иметь трассировку (CP) (если у вас установлена ​​система разработки C). Бег truss how-you-start-a-cobol-program longfilename.csv может выдать полезный вывод, например, фактический системный вызов и номер системной ошибки, что приведет к появившейся ошибке. Версии OSR5 обоих truss а также trace являются умеренно слоеными (по-разному), поэтому попробуйте оба. Прочитайте их справочные страницы, чтобы узнать что-то вроде флага "-o", чтобы записать вывод в файл.

Другие вопросы по тегам