如何手动编辑 KSDS VSAM 文件的密钥?

Posted

技术标签:

【中文标题】如何手动编辑 KSDS VSAM 文件的密钥?【英文标题】:How to manually edit the key of a KSDS VSAM file? 【发布时间】:2016-08-31 05:23:12 【问题描述】:

我有一个KSDS 文件。我想更改文件的密钥以进行测试。我无法编辑File-Aid 中的密钥。有什么办法吗?

我搜索了多个论坛,找不到答案。

【问题讨论】:

【参考方案1】:

IDCAMS REPRO 到一个平面文件。

使用 ISPF 编辑进行编辑。

使用您商店的 SORT 实用程序确保文件按关键顺序排列。

IDCAMS 将排序后的文件复制到 VSAM KSDS。

此方法不依赖第三方工具。并非每个商店都有 File-Aid。

【讨论】:

我完全同意你的方法。但是,如果有File-Aid 可用,我应该使用File-Aid 还是REPRO 来加快操作和用户友好性? @Sumendra 我建议学习这两种方法,但使用对您最有效的一种。如果您的雇主有产品,请使用它,除非您的商店试图弃用它。 我已经检查了你的方法。在这种方法中,我们必须手动处理键的顺序,即在修改平面文件后,我们应该在键字段上对文件进行排序,以便再次正确转换为 KSDS 文件。【参考方案2】:

我记得 FileAid 不允许更新密钥。您必须使用新键插入新记录并删除旧记录。同样,我的记忆力很差,但我认为您可以在 FileAid 中以交互方式轻松做到这一点。如果您想批量执行,从 KSDS 卸载、更改、然后重新加载的其他一些建议是有意义的。

【讨论】:

【参考方案3】:

您可以按照以下步骤进行更改

KSDS 数据集复制到ESDS 数据集File-Aid。 现在在ESDS 文件中编辑KSDS 的关键部分,因为它不再是protected/key。 通过分配密钥长度和索引文件,将编辑后的ESDS 文件复制到另一个KSDS 文件。

这对我有用。建议是否有更好的方法。

编辑

File-Aid 中的替代方法。 在 File-Aid 中以编辑模式打开 KSDS 文件。 - 在要编辑的记录块上使用重复命令 RRR 在要编辑的记录块之前。 - 在新创建的重复记录上,您可以根据自己的意愿在关键区域进行编辑。 - 编辑新的重复记录后,删除原记录。 - 在命令行中使用SORT 命令对键的顺序进行排序。 (这将通过复制到PS 文件或ESDS 文件来防止编辑时出现任何键序列错误。) - 使用SAVE命令保存编辑后的VSAM

【讨论】:

以上是关于如何手动编辑 KSDS VSAM 文件的密钥?的主要内容,如果未能解决你的问题,请参考以下文章

JCL,我需要将我的 VSAM 文件引入我的 cobol 使用的 DD 语句是啥

在 CICS 中浏览 KSDS 时无法读取下一条记录

产品密钥优化

手动设置用户绑定属性

如何在 COBOL 中存储 VSAM 密码文件的凭据?

如何计算分配给 VSAM 文件的空间