數(shù)據(jù)分區(qū)是用來定義在該程序中使用的變量。為了描述COBOL數(shù)據(jù),必須了解下列術語:
01 TOTAL-STUDENTS PIC9(5) VALUE '125'. | | | | | | | | | | | | Level Number Data Name Picture Clause Value Clause
數(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ù)據(jù)的記錄中的級別。它們被用于基本事項和基件之間進行區(qū)分?;卷椖靠梢苑纸M以創(chuàng)建組的項目。
級別數(shù) | 描述 |
---|---|
01 | 記錄描述項 |
02 to 49 | 分組初級項目 |
66 | 重命名子句項目 |
77 | 項目不能被細分 |
88 | 條件名稱項 |
例子
下面的例子展示了分組的基本事項:
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
圖片子句用來定義下列項目:
在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