Easytrieve A010 Неверная ссылка на файл

Я получаю сообщение об ошибке в этой строке моей программы easytrieve..

JOB INPUT NULL MASTER-FILE

GET DATAPRM      <~~~~~~~ LINE 59

DO WHILE NO EOF DATAPRM
    ...

    GET DATAPRM
END-DO


..
59******A010 INVALID FILE REFERENCE - DATAPRM

..

У меня есть DLBL, как это..

//DLBL DATAPRM, 'DATAPRM.SAM'

Я пытаюсь заполнить мастер-файл данными, используя входной файл DATAPRM (карта) ... записи читаются (я полагаю, так как мой счетчик движется), но, к сожалению, до того, как программа завершает работу, возникает ошибка... может быть, EOF?

1 ответ

У вас нет остановки в вашей программе. Не только в коде, который вы показали, но и где угодно. Или, если вы делаете, это условно, и условие не было выполнено.

Easytrieve Plus делает "автоматический цикл". Обычно с файлом, указанным в операторе JOB, но когда указано NULL, оно просто циклически повторяется от последнего оператора в JOB до JOB.

После того, как вы дойдете до EOF в вашем DO, вам нужно ОСТАНОВИТЬ, когда вы закончите все остальное. Что происходит сейчас, так это то, что вы получаете EOF, выходите из DO, снова зацикливаетесь на вершине (JOB), а затем выполняете GET после EOF, так что ******A010 INVALID FILE REFERENCE - DATAPRM

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