0

我在我的easytrieve prog 的这一行中遇到了错误。

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?

4

1 回答 1

0

您的程序中没有停止。不仅在您显示的代码中,而且在任何地方。或者如果你这样做,它是有条件的,并且条件没有得到满足。

Easytrieve Plus 执行“自动循环”。通常使用 JOB 语句上命名的文件,但是当指定 NULL 时,它只是从 JOB 中的最后一个语句循环到再次 JOB。

在 DO 中到达 EOF 后,您需要在完成其他所有操作后停止。现在发生的事情是你得到EOF,离开DO,再次循环到顶部(JOB),然后它在EOF之后执行GET,所以******A010 INVALID FILE REFERENCE - DATAPRM

于 2013-11-13T18:50:30.767 回答