
- COBOL 教程
- COBOL - 首頁
- COBOL - 概述
- COBOL - 環境設定
- COBOL - 程式結構
- COBOL - 基本語法
- COBOL - 資料型別
- COBOL - 基本動詞
- COBOL - 資料佈局
- COBOL - 條件語句
- COBOL - 迴圈語句
- COBOL - 字串處理
- COBOL - 表格處理
- COBOL - 檔案處理
- COBOL - 檔案組織
- COBOL - 檔案訪問模式
- COBOL - 檔案處理動詞
- COBOL - 子程式
- COBOL - 內部排序
- COBOL - 資料庫介面
- COBOL 有用資源
- COBOL - 問答
- COBOL - 快速指南
- COBOL - 有用資源
COBOL - 資料型別
資料部用於定義程式中使用的變數。要描述 COBOL 中的資料,必須瞭解以下術語:
- 資料名
- 級別號
- PICTURE 子句
- VALUE 子句
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)
級別號
級別號用於指定記錄中資料的級別。它們用於區分基本項和組項。基本項可以組合在一起以建立組項。
序號 | 級別號和描述 |
---|---|
1 |
01 記錄描述項 |
2 |
02 到 49 組項和基本項 |
3 |
66 重新命名子句項 |
4 |
77 不能細分的項 |
5 |
88 條件名項 |
基本項不能進一步細分。級別號、資料名、PICTURE 子句和 VALUE 子句(可選)用於描述基本項。
組項包含一個或多個基本項。級別號、資料名和 VALUE 子句(可選)用於描述組項。組級別號始終為 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
PICTURE 子句
PICTURE 子句用於定義以下項:
資料型別可以是數值型、字母型或字母數字型。數值型僅包含數字 0 到 9。字母型包含字母 A 到 Z 和空格。字母數字型包含數字、字母和特殊字元。
符號可用於數值資料。它可以是 + 或 –。
小數點位置可用於數值資料。假定位置是小數點的位置,不包含在資料中。
長度定義資料項使用的位元組數。
PICTURE 子句中使用的符號:
序號 | 符號和描述 |
---|---|
1 |
9 數值型 |
2 |
A 字母型 |
3 |
X 字母數字型 |
4 |
V 隱式小數 |
5 |
S 符號 |
6 |
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 子句
VALUE 子句是一個可選子句,用於初始化資料項。值可以是數值文字、字母數字文字或文字常量。它可以與組項和基本項一起使用。
示例
以下示例顯示 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
廣告