第 6 章 COBOL 表格和报告 COBOL 表格和报表
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
在商业领域,Microsoft Excel 是使用最广泛的应用程序之一。 它可以轻松创建有助于关键决策的交互式报告。 因此,尽管 Excel 软件已经问世超过 35 年,但它仍在不断产生巨大的现金流。
但是,大型机上的 COBOL 内置功能可以帮助创建表格和报表。 当然,它们不像 Excel 那样复杂或无缝。 但它们仍然功能强大,可以帮助在全球范围内运行关键任务业务应用程序。 它们是 COBOL 和大型计算机最重要的功能之一。
在本章中,我们将介绍如何在 COBOL 中使用表格和报表。 我们还将介绍字符串操作等相关主题。
表格简介
在某种程度上,COBOL 表格类似于电子表格。 你可以在某些区域放置数字、进行计算、搜索数据等等。 事实上,这些应用似乎是无穷无尽的。 您可以建立一个表格来帮助计算税金、确定保险费或预测销售额。
请记住,COBOL 表是该语言版本的数组。 在典型的语言中,数组存储的是一串数据。 每个数据项都有一个索引号。 例如,假设我们有一个数组,我们称之为Months ,其中包含一年中的月份。 因此,Months[0] 等于一月,Months [1] 等于二月,等等。 换句话说,这是更有效的处理相关数据的方法,而不是为每个数据设置一个唯一的变量,如 Month1 和 Month2。
但 COBOL 有自己的方法。索引被称为下标,从 1 开始。其次,由于记录是对分层信息的分组,因此在使用表格时必须强制执行,这可能会变得复杂。
我们在WORKING-STORAGE SECTION 的DATA DIVISION 中声明一个表,并使用OCCURS 子句。 这表示元素的数量。
假设我们要为一家零售 公司的 10 家商店创建一个表格。 我们将这样做
01RETAIL-STORE-TABLE.05RETAIL-RECORDOCCURS10TIMES.10STORE-ADDRESSPIC X(20).10STORE-PHONEPIC X(12).
我们为表设置一个表头,称为RETAIL-STORE-TABLE ,然后创建一个数据组,称为RETAIL-RECORD 。 我们使用OCCURS 10 TIMES 为其创建 10 个实例。 每个实例都有一个包含商店地址和电话号码的字段。
该表被称为单层表。记录取决于一个变量,即零售店的数量。
在大多数情况下,表格的数据将由外部文件填充。 但如果数据相对较少且变化不大,则可将 的值放在DATA DIVISION 或PROCEDURE DIVISION 中。
让我们以最畅销的耐克鞋清单为例:
01NIKE-SHOES.05FILLERPIC X(30)VALUE"Nike Air Force 1".05FILLERPIC X(30)VALUE"Nike Air Max 270".05FILLERPIC X(30)VALUE"Nike Air Max 270".05FILLERPIC X(30)VALUE"Nike Benassi JDI".05FILLERPIC X(30)VALUE"Nike Flex Runner".01NIKE-SHOES-TABLEREDEFINESNIKE-SHOES.05SHOE-NAME ...