鍍金池/ 教程/ Java/ COBOL數(shù)據(jù)類型
COBOL循環(huán)語句
COBOL數(shù)據(jù)布局
COBOL基本語法
COBOL條件語句
COBOL程序結構
COBOL環(huán)境安裝
COBOL數(shù)據(jù)類型
COBOL教程
COBOL字符串處理
COBOL基本動詞

COBOL數(shù)據(jù)類型

數(shù)據(jù)分區(qū)是用來定義在該程序中使用的變量。為了描述COBOL數(shù)據(jù),必須了解下列術語:

  • 數(shù)據(jù)名稱
  • 等級數(shù)
  • 圖片子句
  • 值子句
01            TOTAL-STUDENTS            PIC9(5)            VALUE '125'.
|                    |                    |                    |
|                    |                    |                    |
|                    |                    |                    | 
Level Number     Data Name           Picture Clause       Value Clause

數(shù)據(jù)名稱

數(shù)據(jù)名稱必須在數(shù)據(jù)部使用它們過程分區(qū)之前定義。他們必須是一個用戶定義的名稱,保留字不能用。數(shù)據(jù)名賦予參照其中實際數(shù)據(jù)被存儲在存儲器中的位置。它們可以是基本或分組類型。

例子

下面的例子展示了有效和無效數(shù)據(jù)名稱:

Valid:
WS-NAME
TOTAL-STUDENTS
A100
100B

Invalid:
MOVE            (Reserved Words)
COMPUTE         (Reserved Words)
100             (No Alphabet)
100+B           (+ is not allowed) 

等級數(shù)

級別數(shù)是用來指定數(shù)據(jù)的記錄中的級別。它們被用于基本事項和基件之間進行區(qū)分?;卷椖靠梢苑纸M以創(chuàng)建組的項目。

級別數(shù) 描述
01 記錄描述項
02 to 49 分組初級項目
66 重命名子句項目
77 項目不能被細分
88 條件名稱項
  • 基本項目不能再分。級別數(shù),數(shù)據(jù)名稱,圖片子句和值子句(可選)用于描述基本項目。
  • 分組項目由一個或多個基本項目。級別數(shù),數(shù)據(jù)名稱和值子句(可選)用于描述組項目。分組級別數(shù)總是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

圖片子句

圖片子句用來定義下列項目:

  • 數(shù)據(jù)類型可以是數(shù)字,字母或字母數(shù)字。數(shù)字只包含數(shù)字0到9字母組成的字母A到Z和空格。字母數(shù)字組成的數(shù)字,字母和特殊字符。
  • 標志可用于數(shù)字數(shù)據(jù)。它可以是+或 - 。
  • 小數(shù)點位置可用于數(shù)字數(shù)據(jù)。假定位置是小數(shù)點的位置和不包括在數(shù)據(jù)中。
  • 長度限定所使用的數(shù)據(jù)項的字節(jié)數(shù)。

在PIC子句中使用的符號

符號 描述
9 數(shù)字
A 字母
X 字母數(shù)字
V 隱式小數(shù)點
S 符號
P 假定小數(shù)

例子

下面的例子顯示使用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程序執(zhí)行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯并執(zhí)行上面的程序它會產生以下結果:

WS-NUM1 : +000.00
WS-NUM2 : .000000
WS-NUM3 : -123.45
WS-NAME : ABCDEF
WS-ID : A121$

值子句

值條款是用來初始化數(shù)據(jù)項任擇條款。該值可以是數(shù)字文字,字母文字或圖形不變。它可以用于組和基本事項兩種。

例子

下面的例子展示了使用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程序執(zhí)行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯并執(zhí)行上面的程序它會產生以下結果:

WS-NUM1 : 03.5
WS-NAME : ABCD
WS-ID   : 00

上一篇:COBOL基本動詞下一篇:COBOL教程