0

我想获得给定范围之间的最大键值。(最大值在 1000 到 2000 之间)。在我的 VSAM 数据下方。

钥匙

1001

1002

1003

2001年

2006年

现在我已将 1999 年移至键并开始搜索

START VSAM-KSDS-FILE    KEY IS > 1999

然后我读了下一条记录,但我得到了 2001 但我想要 1003 的最大键值。(1000 到 2000 之间的最大值)

我怎样才能得到这个值?

4

2 回答 2

1

在我们READ PREVIOUS使用 RM/Cobol(这是天赐良机)之前,我们使用“反向键”来处理这类事情。

例如,假设您的密钥只有 4 位数字。您将REV-KEY在记录中有一个字段等于 10000 减去真实键。将其定义为备用键,您可以从该键开始REV-KEY设置为 10000 - 1999。

当然,如果你没有能力改变文件的结构,那么没有READ PREVIOUS.

于 2015-07-07T20:11:56.587 回答
0

如果您已经知道某事而不必去寻找它,它可以节省大量时间。

所以,不要失去价值,保持它,你永远不必去寻找它。

在文件中有一个“控制记录”,其中包含您想要的值,或者有一个单独的“控制文件”包含控制记录。

您确实会检查所有数据是否都在同一日期,不是吗?“营业日期”还是“数据日期”?因此,如果使用控制文件,该文件当然会包含您将与 KSDS 上现有的业务/数据日期匹配的业务/数据日期。

大型机上没有人只是假设一切都是正确的。他们有吗?

于 2015-07-07T08:58:57.740 回答