COBOL 知识点集锦(上)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

COBOL知识点集锦(上)

cobol知识点集锦COBOL数据类型

计息是银行的一项重要业务,包括日常代理客户收、付计算客户利息和年度计息等。目前,这些工作大多数是在IBM ES9000主机的SAFE应用系统平台上进行,该系统联机程序和联机计息程序是用IBM370汇编语言实现的。为方便汇编语言读写,在VSAM文件存储的数据中,数据存放格式进行了特殊的定义。如日期存放采用X(3)型,01年03月15日,存入EBCD 码为X‘010315’。在进行年度计息时,为了实现各种复杂的运算工作,一般采用COBOL语言来实现各种运算。而采用COBOL语言读取X(3)型数据时,读出的是字符型数据,不能直接进行运算,必须转换为COBOL数据类型的数据后才能进行相应处理。如刚才的X‘010315’,需要转换为内部十进制数据X‘0010315C’。本文介绍一种用COBOL语言实现字符型X(3)与内部十进制数据相互转换的方法。

由X(3)型转换为内部十进制

由于日期数据总是大于零,在COBOL语言的工作单元节定义变量DATE-FIRST后,再追加定义COBOL语言的最小数据单元X‘000C’,即十进制12。由于重定义DATE-CASE为DATE -CHANGE后,DATE-CHANGE是原日期数据的1000倍,于是要在过程部将DATE-CHANGE除以1000。

首先,在COBOL程序WORKING-STORAGE SECTION.中定义如下内容:

WORKING-STORAGE SECTION.

01DATE-CASE.

02DATE-FIRST PIC X(3).

02DATE-SIGN PIC9(4)COMP VALUE12.;定点二进制数

01DATE-CHANGE REDEFINES DATE-CASE PIC9(9)COMP-3.;内部十进制数据

01DATE-HEX PIC X(3).;转换前数据

01DATE-DEC PIC S9(7)COMP-3.;转换后数据

然后,在过程部PROCEDURE DEVISION.中加入如下语句:

PROCEDURE DEVISION.

MOVE DATE-HEX TO DATE-FIRST.

COMPUTE DATE-CHANGE=DATE-

CHANGE/1000.

MOVE DATE-CHANGE TO DATE-DEC.

由内部十进制转换为X(3)型

在进行相反的转换时,要消除因COBOL语言数据类型标志“C”引起的原日期数据前多加的一个0,所以需要将转换数据乘以10,再取出前6位数据即可。

首先,在COBOL程序WORKING-STORAGE SECTION.中定义如下内容:

WORKING-STORAGE SECTION.

01WORK-DATE PIC S9(7)COMP-3.

01AA REDEFINES WORK-DATE.

02A1PIC X(3).

02A2PIC X(1).

01DATE-HEX PIC X(3).;转换后数据

01DATE-DEC PIC S9(7)COMP-3.

;转换前数据

然后,在过程部PROCEDURE DEVISION.中加入如下语句即可:

PROCEDURE DIVISION.

MOVE DATE-DEC TO WORK-DATE。

COMPUTE WORK-DATE=WORK-DATE*10.

MOVE A1TO DATE-HEX.

REDEFINES

可以用不同的变量描述同一内存。

01PART_RECODE USAGE DISPLAY

03PART-TYPE PICTURE...

03PART_TYPE_A.

05PART_NUMBER PICTURE...

05PART_COST PICTURE...

03PART_TYPE_B REDEFINES PART_TYPE_A.

05UPC_CODE PICTURE...

03PART_TYPE_C REDEFINES PART_TYPE_A.

05ISBN PICTURE...

根据PART_TYPE决定用PART_TYPE_A还是PART_TYPE_B还是PART_TYPE_C。

规则:

PART_TYPE_B和PART_TYPE_C长度不能大于PART_TYPE_A。

数据项不能有VALUE。

01层不能用REDEFINES.

PART_TYPE_B和PART_TYPE_C中不能有OCCURS.

PICTURE

定义基本项目的具体长度,格式,数据类型。可以简写成PIC.

格式字符串最多30个字符,可以包含下列字符:

A字母A-Z,a-z,空格

B插入空格

P标量字符,代表字段中不显示的小数点位置

S代数符号,实际显示取决于项目的USAGE

V小数点位置

X任何字符

Z抑制前头的0并转换成空字符

0插入0

9数字0~9

/插入/

,插入,(逗号不能作为字符串的最后一位,最后时逗号是分隔符)

.插入.

*抑制前头的0并转换成*

+正值插入+,负值插入-

-正值插入空格,负值插入-

$插入美元号

CR正值插入两个空格,负值插入CR

DB正值插入两个空格,负值插入DB

例子:

03VAR PIC AAAAA.VAR变量长度为5个字符,不能有数字,等价于03 STATE PIC A(5)。

相关文档
最新文档