如何在VSAM中的给定范围之间获得最高键值

时间:2015-07-07 07:40:47

标签: cobol mainframe vsam

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

  

     

1001

     

1002

     

1003

     

2001

     

2006

现在我已经将1999年转为关键并开始搜索

START VSAM-KSDS-FILE    KEY IS > 1999

然后我读了下一张唱片但我到了2001年 但我希望最大键值为1003.(最大值介于1000到2000之间)

如何获得此值?

2 个答案:

答案 0 :(得分:1)

在我们获得{/ 1}} RM / Cobol(这是一个上帝派遣)之前,我们使用了一个反向键'对于这种事情。

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

的情况下启动该键

当然,如果您无法更改文件的结构,那么没有REV-KEY就无法执行此操作。

答案 1 :(得分:0)

如果您已经知道某些事情而不必去搜索它,那么可以节省大量时间。

所以,不要失去价值,保留它,你永远不必搜索它。

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

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

大型机上没有人只是认为一切都是正确的。他们呢?