gpt4 book ai didi

Cobol - 是否可以删除顺序文件中的记录?

转载 作者:行者123 更新时间:2023-12-05 08:32:46 34 4
gpt4 key购买 nike

我需要删除前 x 行,我需要通过 Cobol 来完成。是否可以?似乎 DELETE 语句仅适用于 VSAM 文件?

最佳答案

您说您必须通过 COBOL 执行此操作,但没有提供理由。通常这种类型的操作是通过您商店的 SORT 实用程序完成的。大型机 SORT 实用程序通常包括复杂的记录选择标准。

是的,使用 COBOL 可以做到这一点。您的隐含声明是正确的,即 DELETE 仅适用于 VSAM。对于顺序文件,您必须读取整个文件,忽略前 x 条记录,并将其余部分写入新的输出文件。我建议编写您的 COBOL 代码,使其接受一个参数,该参数指示要忽略的记录数(在您的示例中为 x),如果文件中的记录少于 x,则退出并返回特定的代码。

如果需要,您可以使用 C 运行时例程(fopenfreadfwritefclose ) 文件 I/O 使您的程序通用而不是特定于一个特定文件。 COBOL 要求在编译时知道 LRECL,C 运行时例程可通过语言环境 (LE) 的优雅直接从 COBOL 调用,消除了这一要求。

重申一下:这通常是通过您商店的 SORT 实用程序完成的。

关于Cobol - 是否可以删除顺序文件中的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47536167/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com