1

我正在声明一个顺序文件:

    SELECT   F-MYFILE ASSIGN       DATABASE-MYFILE
                      ORGANIZATION SEQUENTIAL          
                      ACCESS       SEQUENTIAL          
                      STATUS       WW-STS-MYFILE.  

在我的 COBOL 程序中,我将其打开为:

    OPEN extend F-MYFILE
    IF WW-STS-MYFILE NOT="00"  
       GO TO  FINISH
    END-IF                

    INITIALIZE MYFILE
    MOVE "abcd" TO CONTENT OF MYFILE
    WRITE MYFILE.

在我写记录时,文件在状态 WW-STS-MYFILE 中没有显示任何错误,它是“00”。但是记录仍然没有被写入。你能说出同样的可能原因吗?

谢谢

4

2 回答 2

0

我对 AS/400 不是很熟悉,因为我是 z/OS 开发人员,但我遵循的经验法则是您读取文件,但写入记录。如果 MYFILE 是文件名而不是该文件的记录布局,那么您正在尝试写入文件而不是该文件的记录。

于 2012-10-25T03:13:02.970 回答
0

您的程序是否关闭文件?文件是否受承诺控制?如果您正在使用提交控制,并且您没有执行 COMMIT 或 CLOSE,则记录将在程序结束时自动回滚。

如果您在程序仍在运行时尝试查看文件,在它关闭文件之前,这可能是文件缓冲问题。

于 2014-08-28T18:01:17.007 回答