在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

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

COBOL數(shù)據(jù)布局

COBOL布局是使用每個(gè)字段的說明和值出現(xiàn)。以下是在COBOL中使用的數(shù)據(jù)描述項(xiàng):

  • 重新定義子句
  • 重命名子句
  • 用法子句
  • 復(fù)寫簿

重新定義子句

重新定義子句用于定義相同的存儲(chǔ)與不同的數(shù)據(jù)的描述。如果一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)都不會(huì)同時(shí)使用,則在相同的存儲(chǔ)可用于另一個(gè)數(shù)據(jù)項(xiàng)。所以同一個(gè)存儲(chǔ)可以被稱為具有不同的數(shù)據(jù)項(xiàng)。

語(yǔ)法

以下是語(yǔ)法重新定義子句:

01 WS-OLD PIC X(10).
01 WS-NEW1 REDEFINES WS-OLD PIC 9(8).
01 WS-NEW2 REDEFINES WS-OLD PIC A(10).

以下是使用參數(shù)的詳細(xì)信息:

  • WS-OLD是重新定義的項(xiàng)

  • WS-NEW1 和 WS-NEW2 是重新定義的項(xiàng)

重新定義的信息并重新確定項(xiàng)目的級(jí)別數(shù)必須是相同的,它不能是66或88級(jí)數(shù)。不要使用VALUE子句與重新定義項(xiàng)。在文件部分,不要使用重定義子句與01級(jí)號(hào)。重新定義的定義必須要重新定義下一個(gè)數(shù)據(jù)描述。重新定義的項(xiàng)目將始終具有相同的值重新定義的項(xiàng)。

例子

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-DESCRIPTION.
05 WS-DATE1 VALUE '20140831'.
10 WS-YEAR PIC X(4).
10 WS-MONTH PIC X(2).
10 WS-DATE PIC X(2).
05 WS-DATE2 REDEFINES WS-DATE1 PIC 9(8).
PROCEDURE DIVISION.
DISPLAY "WS-DATE1 : "WS-DATE1.
DISPLAY "WS-DATE2 : "WS-DATE2.
STOP RUN.

JCL以上COBOL程序執(zhí)行。

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

當(dāng)編譯并執(zhí)行上面的程序它會(huì)產(chǎn)生以下結(jié)果:

WS-DATE1 : 20140831
WS-DATE2 : 20140831

重命名子句

重命名子句用于為現(xiàn)有的數(shù)據(jù)項(xiàng)賦予不同的名稱。它被用于重新組數(shù)據(jù)的名稱,并將它們賦予了新名字。新的數(shù)據(jù)名稱可以跨組或基本項(xiàng)目重新命名。 66級(jí)號(hào)在重命名保留。

語(yǔ)法

以下是重命名子句的語(yǔ)法:

01 WS-OLD.
10 WS-A PIC 9(12).
10 WS-B PIC X(20).
10 WS-C PIC A(25).
10 WS-D PIC X(12).
66 WS-NEW RENAMES WS-A THRU WS-C.

重命名有可能在只相同的級(jí)別。在上面的例子中的WS-A,WS-B和WS-C處于同一水平。重命名定義必須要重命名的下一個(gè)數(shù)據(jù)描述。不要使用重命名為01,77或66級(jí)數(shù)。用于重命名數(shù)據(jù)名稱必須為一個(gè)序列。當(dāng)前子句數(shù)據(jù)項(xiàng)不能被重新命名。

例子

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-DESCRIPTION.
05 WS-NUM.
10 WS-NUM1 PIC 9(2) VALUE 20.
10 WS-NUM2 PIC 9(2) VALUE 56.
05 WS-CHAR.
10 WS-CHAR1 PIC X(2) VALUE 'AA'.
10 WS-CHAR2 PIC X(2) VALUE 'BB'.
66 WS-RENAME RENAMES WS-NUM2 THRU WS-CHAR2.
PROCEDURE DIVISION.
DISPLAY "WS-RENAME : " WS-RENAME.
STOP RUN.

JCL以上COBOL程序執(zhí)行。

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

當(dāng)編譯并執(zhí)行上面的程序它會(huì)產(chǎn)生以下結(jié)果:

WS-RENAME : 56AABB

用法子句

用法子句通知,其中格式數(shù)據(jù)被存儲(chǔ)在操作系統(tǒng)。它不能用于具有66或88級(jí)數(shù)。如果用法子句在組中指定了所有的基本項(xiàng)目將有相同的用法子句。以下是不同的選擇和使用子句:

顯示

數(shù)據(jù)項(xiàng)被存儲(chǔ)在ASCII格式和每個(gè)字符需要1個(gè)字節(jié)。這是缺省情況下使用。

例如,計(jì)算所需的字節(jié)數(shù):

01 WS-NUM PIC S9(5)V9(3) USAGE IS DISPLAY.
It requires 8 bytes as sign and decimal doesn't require any byte.

01 WS-NUM PIC 9(5) USAGE IS DISPLAY.
It requires 5 bytes as sign.

計(jì)算/ COMP

數(shù)據(jù)項(xiàng)被存儲(chǔ)在二進(jìn)制格式。在這個(gè)數(shù)據(jù)項(xiàng)必須是整數(shù)。

例如,計(jì)算所需的字節(jié)數(shù):

01 WS-NUM PIC S9(n) USAGE IS COMP.

If 'n' = 1 to 4, it takes 2 bytes.
If 'n' = 5 to 9, it takes 4 bytes.
If 'n' = 10 to 18, it takes 8 bytes.

COMP-1

數(shù)據(jù)項(xiàng)是類似于實(shí)數(shù)或浮點(diǎn)數(shù),并表示為單精度浮點(diǎn)數(shù)。內(nèi)部數(shù)據(jù)存儲(chǔ)在十六進(jìn)制格式。在這種不指定PIC子句。在這里,1字等于4個(gè)字節(jié)。

COMP-2

數(shù)據(jù)項(xiàng)是類似龍或雙并表示為雙精度浮點(diǎn)數(shù)。內(nèi)部數(shù)據(jù)存儲(chǔ)在十六進(jìn)制格式。在這種不指定PIC子句。這2個(gè)字等于8個(gè)字節(jié)。

COMP-3

數(shù)據(jù)項(xiàng)是包十進(jìn)制格式存儲(chǔ)。每個(gè)數(shù)字占半個(gè)字節(jié)(1四位)和符號(hào)儲(chǔ)存在最右邊四位。

例如,計(jì)算所需的字節(jié)數(shù):

01 WS-NUM PIC 9(n) USAGE IS COMP.
Number of bytes = n/2 (If n is even)
Number of bytes = n/2 + 1(If n is odd, consider only integer part)

01 WS-NUM PIC 9(4) USAGE IS COMP-3 VALUE 21.
It requires 2 bytes of storage as each digit occupies half a byte.

01 WS-NUM PIC 9(5) USAGE IS COMP-3 VALUE 21.
It requires 3 bytes of storage as each digit occupies half a byte.

復(fù)寫薄

COBOL復(fù)寫簿選擇定義數(shù)據(jù)結(jié)構(gòu)的代碼。如果一個(gè)特定的數(shù)據(jù)結(jié)構(gòu)用于寫入相同數(shù)據(jù)結(jié)構(gòu)的多個(gè)程序然后代替再次,我們可以使用復(fù)寫簿。我們使用COPY語(yǔ)句,包括復(fù)寫簿程序。 COPY語(yǔ)句用在工作-存儲(chǔ)部分。

例子包顯示復(fù)寫簿的COBOL程序:

DATA DIVISION.
WORKING-STORAGE SECTION.
COPY ABC.

在這里,ABC是復(fù)寫簿的名字。下面在ABC字帖數(shù)據(jù)項(xiàng)可以使用內(nèi)部程序。

01 WS-DESCRIPTION.
	05 WS-NUM.
		10 WS-NUM1 PIC 9(2) VALUE 20.
		10 WS-NUM2 PIC 9(2) VALUE 56.
	05 WS-CHAR.
		10 WS-CHAR1 PIC X(2) VALUE 'AA'.
		10 WS-CHAR2 PIC X(2) VALUE 'BB'.