25.3.2 データ記述項
- 【標準仕様との関連】
-
「COBOL2002 言語 標準仕様編」 「9.13 データ記述項(data description entry)」
- 〈この項の構成〉
(1) OCCURS句(可変長項目の複数回記述)
- 形式
- 機能
-
1レコード中にDEPENDING ON指定のあるOCCURS句を複数回記述できる。
構文規則
-
可変長項目,すなわち可変反復データ項目を含む集団項目の記述項にOCCURS句を指定してもよい。
-
レコード記述中に,DEPENDING ON指定のあるOCCURS句を書いたデータ項目の後の文字位置を占めるデータ項目を記述してもよい。
-
可変部分(すなわち,可変反復データ項目以降の文字位置)に定義されたデータ項目を,次の個所に指定してはならない。
(a)OCCURS句のKEY IS指定
(b)OCCURS句のDEPENDING ON指定
(c)RECORD句のDEPENDING ON指定
(d)RECORD KEY句およびALTERNATE RECORD KEY句
(e)MERGE文のKEY指定
(f)FILE STATUS句
(g)RELATIVE KEY句
(例)
01 TBL. 02 E OCCURS 10 DESCENDING B INDEXED I. 03 A PIC X OCCURS 10 TO 100 DEPENDING J INDEXED K. 03 B PIC 9(5).
キーが可変部分よりも後にあるので誤りだが,このシステムでは,エラーとしない。
- 【標準仕様との関連】
-
「COBOL2002 言語 標準仕様編」 「9.16.51 OCCURS句」
(2) PICTURE記号('G')
一般規則
-
このシステムでは,PICTURE文字列中の'G'と'N'は同じとみなす。ただし,CURRENCY SIGN句の文字列に'G'を許し,その場合,'G'を通貨記号とみなす。
-
'G'と'N'は混在して使用できない。ただし,このシステムではエラーとならない。
(a)同一のソース単位内にPICTURE記号'G'の項目と'N'の項目が混在してもよい。
(b)同一のPICTURE文字列内に,'G'と'N'が混在してもよい。
ただしCURRENCY SIGN句に'G'を指定した場合はこの限りでなく,'G'は通貨編集用記号とみなされる。
-
日本語項目を定める場合の規則を次に示す。
(a)PICTURE句の文字列は,文字'N'または'G'だけから成る。
(b)項目の内容は,標準データ形式で表したとき,一つ以上の拡張コードの文字でなければならない。
-
日本語編集項目を定める場合の規則を次に示す。
(a)PICTURE句の文字列は,文字'N','G'または'B'の組み合わせから成り,'N','G'または'B'をそれぞれ少なくとも一つずつ含まなければならない。
(b)項目の内容は,標準データ形式で表したとき,拡張コードの二つ以上の文字でなければならない。
- 【標準仕様との関連】
-
「COBOL2002 言語 標準仕様編」 「9.16.54 PICTURE句」
(3) SYNCHRONIZED句を集団項目に指定
SYNCHRONIZED句を集団項目に指定してもよい。このときは,その集団に含まれるすべての基本項目に,SYNCHRONIZED句を指定したのと同じとみなす。
- 【標準仕様との関連】
-
「COBOL2002 言語 標準仕様編」 「9.16.80 SYNCHRONIZED句」
(5) 定数名でのVALUE句の規則
-
定数名記述項には,必ずVALUE句を書かなければならない。この記述項に書けるのはVALUE句と定数名だけとする。
定数名は参照されたとき,VALUE句で指定された定数に置き換える。データ部中で参照するには,定数名は参照する前に定義されていなければならない。
(6) USAGE IS POINTER句
- 形式
一般規則
-
POINTERは,ポインタ項目であることを指定する。
このシステムでは,ポインタ項目とアドレスデータ項目は同じとみなす。
ポインタ項目と記載した個所にはアドレスデータ項目が指定できる。
また,アドレスデータ項目と記載した個所にはポインタ項目が指定できる。
(7) USAGE COMP-5を指定した項目に設定できる初期値(VALUE句の値)の拡張
USAGE COMP-5を指定した項目に設定できる初期値は,USAGE COMPを指定した項目に設定できる初期値より拡張している。
PICTURE句で指定したけた数と,VALUE句に指定できる値との対応を次に示す。
PICTURE句で指定したけた数 |
VALUE句に指定できる値 |
---|---|
1〜4けた |
-215〜215-1 |
5〜9けた |
-231〜231-1 |
10〜18けた |
-999,999,999,999,999,999〜999,999,999,999,999,999 |
- 【標準仕様との関連】
-
「COBOL2002 言語 標準仕様編」 「9.16.54 PICTURE句」
「COBOL2002 言語 標準仕様編」 「9.16.88 VALUE句」
(8) EXTERNAL句のDYNAMIC指定
- 形式
- 機能
-
外部属性を持つデータ項目の領域を,プログラムの実行時に動的にメモリに割り当てる。
構文規則
-
EXTERNAL句のDYNAMIC指定は,作業場所節のレコード記述項だけに記述できる。
-
EXTERNAL句のDYNAMIC指定は,共用ライブラリまたはDLLを作成する場合でも記述できる。共用ライブラリについては,マニュアル「COBOL2002 使用の手引 手引編」の実行可能ファイルと共用ライブラリの作成を参照のこと。DLLの作成方法については,マニュアル「COBOL2002 ユーザーズガイド」の実行可能ファイルとDLLの作成を参照のこと。
一般規則
-
一つの実行単位の中で,二つ以上のプログラムが同じデータレコードを記述する場合,DYNAMIC指定のない外部データレコードが混在してはならない。
-
DYNAMIC指定をしたデータ領域は,Cプログラムから参照,更新できない。
- 【標準仕様との関連】
-
「COBOL2002 言語 標準仕様編」 「9.16.25 EXTERNAL句」