9型转x型 cobol_COBOL数据类型

数据分区是用来定义在该程序中使用的变量。为了描述COBOL数据,必须了解下列术语:

数据名称

等级数

图片子句

值子句

01 TOTAL-STUDENTS PIC9(5) VALUE '125'.

| | | |

| | | |

| | | |

Level Number Data Name Picture Clause Value Clause

数据名称

数据名称必须在数据部使用它们过程分区之前定义。他们必须是一个用户定义的名称,保留字不能用。数据名赋予参照其中实际数据被存储在存储器中的位置。它们可以是基本或分组类型。

例子

下面的例子展示了有效和无效数据名称:

Valid:

WS-NAME

TOTAL-STUDENTS

A100

100B

Invalid:

MOVE (Reserved Words)

COMPUTE (Reserved Words)

100 (No Alphabet)

100+B (+ is not allowed)

等级数

级别数是用来指定数据的记录中的级别。它们被用于基本事项和基件之间进行区分。基本项目可以分组以创建组的项目。

级别数

描述

01

记录描述项

02 to 49

分组初级项目

66

重命名子句项目

77

项目不能被细分

88

条件名称项

基本项目不能再分。级别数,数据名称,图片子句和值子句(可选)用于描述基本项目。

分组项目由一个或多个基本项目。级别数,数据名称和值子句(可选)用于描述组项目。分组级别数总是01。

例子

下面的例子展示了分组的基本事项:

DATA DIVISION.

WORKING-STORAGE SECTION.

01 WS-NAME PIC X(25). ---> ELEMENTARY ITEM

01 WS-CLASS PIC 9(2) VALUE '10'. ---> ELEMENTARY ITEM

01 WS-ADDRESS. ---> GROUP ITEM

05 WS-HOUSE-NUMBER PIC 9(3). ---> ELEMENTARY ITEM

05 WS-STREET PIC X(15). ---> ELEMENTARY ITEM

05 WS-CITY PIC X(15). ---> ELEMENTARY ITEM

05 WS-COUNTRY PIC X(15) VALUE 'INDIA'. ---> ELEMENTARY ITEM

图片子句

图片子句用来定义下列项目:

数据类型可以是数字,字母或字母数字。数字只包含数字0到9字母组成的字母A到Z和空格。字母数字组成的数字,字母和特殊字符。

标志可用于数字数据。它可以是+或 - 。

小数点位置可用于数字数据。假定位置是小数点的位置和不包括在数据中。

长度限定所使用的数据项的字节数。

在PIC子句中使用的符号

符号

描述

9

数字

A

字母

X

字母数字

V

隐式小数点

S

符号

P

假定小数

例子

下面的例子显示使用PIC子句:

IDENTIFICATION DIVISION.

PROGRAM-ID. HELLO.

DATA DIVISION.

WORKING-STORAGE SECTION.

01 WS-NUM1 PIC S9(3)V9(2).

01 WS-NUM2 PIC PPP999.

01 WS-NUM3 PIC S9(3)V9(2) VALUE -123.45.

01 WS-NAME PIC A(6) VALUE 'ABCDEF'.

01 WS-ID PIC X(5) VALUE 'A121$'.

PROCEDURE DIVISION.

DISPLAY "WS-NUM1 : "WS-NUM1.

DISPLAY "WS-NUM2 : "WS-NUM2.

DISPLAY "WS-NUM3 : "WS-NUM3.

DISPLAY "WS-NAME : "WS-NAME.

DISPLAY "WS-ID : "WS-ID.

STOP RUN.

JCL以上COBOL程序执行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C

//STEP1 EXEC PGM=HELLO

当编译并执行上面的程序它会产生以下结果:

WS-NUM1 : +000.00

WS-NUM2 : .000000

WS-NUM3 : -123.45

WS-NAME : ABCDEF

WS-ID : A121$

值子句

值条款是用来初始化数据项任择条款。该值可以是数字文字,字母文字或图形不变。它可以用于组和基本事项两种。

例子

下面的例子展示了使用VALUE子句:

IDENTIFICATION DIVISION.

PROGRAM-ID. HELLO.

DATA DIVISION.

WORKING-STORAGE SECTION.

01 WS-NUM1 PIC 99V9 VALUE IS 3.5.

01 WS-NAME PIC A(6) VALUE 'ABCD'.

01 WS-ID PIC 99 VALUE ZERO.

PROCEDURE DIVISION.

DISPLAY "WS-NUM1 : "WS-NUM1.

DISPLAY "WS-NAME : "WS-NAME.

DISPLAY "WS-ID : "WS-ID.

STOP RUN.

JCL以上COBOL程序执行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C

//STEP1 EXEC PGM=HELLO

当编译并执行上面的程序它会产生以下结果:

WS-NUM1 : 03.5

WS-NAME : ABCD

WS-ID : 00

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值