您的位置:首页 > 其它

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

2008-04-28 09:41 302 查看

  在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 对通过条件判断后得到的数据编号进行合法性检测。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: