Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File AS 400-未写入顺序文件。状态中没有错误。COBOL400_File_Ibm Midrange_Cobol_Sequential - Fatal编程技术网

File AS 400-未写入顺序文件。状态中没有错误。COBOL400

File AS 400-未写入顺序文件。状态中没有错误。COBOL400,file,ibm-midrange,cobol,sequential,File,Ibm Midrange,Cobol,Sequential,我正在声明一个顺序文件: SELECT F-MYFILE ASSIGN DATABASE-MYFILE ORGANIZATION SEQUENTIAL ACCESS SEQUENTIAL STATUS WW-STS-MYFILE. 在我的COBOL程序中,我以以下方式打开它

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

    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”。 但记录仍然没有被写出来。 你能告诉我可能的原因吗


谢谢

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

您的程序是否关闭该文件?文件是否受承诺控制?如果您使用的是提交控制,但尚未执行提交或关闭,则程序结束时记录将自动回滚


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

Wat??只是想补充一句。。我还在“写入”时检查文件堆栈。它正在正常打开。我已经在调试中检查过了。但是今天我在I-O模式下打开文件时,写的很好。。我不明白为什么我的写操作可以很好地处理I-O(索引文件)而不是扩展/输出(顺序文件)。然而,我的文件不是一个好的名称选择,它是一个记录布局。它是初始化的目标,因此不能是文件。另外,编译器会在编写文件时标记错误。一些有趣的想法,可能是注释。关于这个问题的最后一点评论是否合适?