COBOL

最新Cobol专著《精通COBOL——大型机商业编程技术详解 》

精通cobol--9.6.3 对查找数据的处理

  在COBOL的实际开发中,访问哪项数据往往并不是由人为指定的。实际需要访问表中的哪项数据,一般情况下是通过第5章所讲到流程控制中的条件判断指定的。对于本例而言,在实际开发中常常还需要指定以下两个变量。

q      ROLE-CODE:用于保存在条件判断过程中数据的编号,此处同其下标一致。

q      DEAL-ROLE:用于保存完成条件判断后得到的需要处理数据的编号。

这样,在完成条件判断后,最终对数据进行处理的COBOL代码如下。

IF  ROLE-CODE > 0 AND ROLE-CODE < 8

    MOVE ROLE  (ROLE-CODE) TO DEAL-ROLE

ELSE

    MOVE ‘Y’ TO ERROR-FLAG

END-IF

通过该段代码可以看到,这里主要是用ROLE-CODE这一变量取代了人为直接指定的数字。对于ROLE-CODE变量究竟保存哪一个数字,是通过之前的条件判断得到的。同时,ROLE-CODE保存的数字即表中需要处理数据的编号。由于该表中数据的编号是从1~8,因此,在最后往往还应加上一条数据合法性检测语句。该检测语句为以下这条。

IF  ROLE-CODE > 0 AND ROLE-CODE < 9

这样,如果经过条件判断后得到的最终处理数据的编号在表的范围中,将会对其进行处理。处理方式为将该编号从ROLE-CODE变量中移动到DEAL-CODE变量中。对应的代码为以下这条。

MOVE ROLE (ROLE-CODE) TO DEAL-ROLE

当该编号不在表的范围中,则将报错。处理方式为将错误标志ERROR-FLAG置为“Y”。对应的代码为以下这条。

  MOVE ‘Y’ TO ERROR-FLAG

综上所述,对查找数据进行处理主要在于以下两点。

q      使用变量表示下标,而非指定具体数值,以次使其能够通过程序中的条件判断指定查找哪一项数据。

q      对通过条件判断后得到的数据编号进行合法性检测。

阅读更多
文章标签: cobol
想对作者说点什么? 我来说一句

HBase Hive

2012年09月22日 789B 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭