COBOL2002 言語 拡張仕様編

[目次][索引][前へ][次へ]

26.3.2 データ記述項

【標準仕様との関連】
COBOL2002 言語 標準仕様編 9.13 データ記述項(data description entry)
<この項の構成>
(1) OCCURS句(可変長項目の複数回記述)
(2) PICTURE記号('G')
(3) SYNCHRONIZED句を集団項目に指定
(4) 78定数名の記述
(5) 定数名でのVALUE句の規則
(6) USAGE IS POINTER句
(7) USAGE COMP-5を指定した項目に設定できる初期値(VALUE句の値)の拡張
(8) EXTERNAL句のDYNAMIC指定

(1) OCCURS句可変長項目の複数回記述

形式
[図データ]

機能
1レコード中にDEPENDING ON指定のあるOCCURS句を複数回記述できる。

構文規則
  1. 可変長項目,すなわち可変反復データ項目を含む集団項目の記述項にOCCURS句を指定してもよい。
  2. レコード記述中に,DEPENDING ON指定のあるOCCURS句を書いたデータ項目の後の文字位置を占めるデータ項目を記述してもよい。
  3. 可変部分(すなわち,可変反復データ項目以降の文字位置)に定義されたデータ項目を,次の個所に指定してはならない。
    (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')

一般規則
  1. このシステムでは,PICTURE文字列中の'G'と'N'は同じとみなす。ただし,CURRENCY SIGN句の文字列に'G'を許し,その場合,'G'を通貨記号とみなす。
  2. 'G'と'N'は混在して使用できない。ただし,このシステムではエラーとならない。
    (a)同一のソース単位内にPICTURE記号'G'の項目と'N'の項目が混在してもよい。
    (b)同一のPICTURE文字列内に,'G'と'N'が混在してもよい。
    ただしCURRENCY SIGN句に'G'を指定した場合はこの限りでなく,'G'は通貨編集用記号と見なされる。
  3. 日本語項目を定める場合の規則を次に示す。
    (a)PICTURE句の文字列は,文字'N'または'G'だけから成る。
    (b)項目の内容は,標準データ形式で表したとき,一つ以上の拡張コードの文字でなければならない。
  4. 日本語編集項目を定める場合の規則を次に示す。
    (a)PICTURE句の文字列は,文字'N','G'または'B'の組み合わせから成り,'N','G'または'B'をそれぞれ少なくとも一つずつ含まなければならない。
    (b)項目の内容は,標準データ形式で表したとき,拡張コードの二つ以上の文字でなければならない。

【標準仕様との関連】
COBOL2002 言語 標準仕様編 9.16.54 PICTURE句

(3) SYNCHRONIZED句を集団項目に指定

SYNCHRONIZED句を集団項目に指定してもよい。このときは,その集団に含まれるすべての基本項目に,SYNCHRONIZED句を指定したのと同じとみなす。

【標準仕様との関連】
COBOL2002 言語 標準仕様編 9.16.80 SYNCHRONIZED句

(4) 78定数名の記述

形式
[図データ]

機能
定数名を指定するのに用いる。

(5) 定数名でのVALUE句の規則

(6) USAGE IS POINTER句

形式
[図データ]

一般規則
  1. 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指定

形式
[図データ]

機能
外部属性を持つデータ項目の領域を,プログラムの実行時に動的にメモリに割り当てる。

構文規則
  1. EXTERNAL句のDYNAMIC指定は,作業場所節のレコード記述項だけに記述できる。
  2. EXTERNAL句のDYNAMIC指定は,共用ライブラリまたはDLLを作成する場合でも記述できる。共用ライブラリについては,マニュアル「COBOL2002 使用の手引 手引編」の実行可能ファイルと共用ライブラリの作成を参照のこと。DLLの作成方法については,マニュアル「COBOL2002 ユーザーズガイド」の実行可能ファイルとDLLの作成を参照のこと。

一般規則
  1. 一つの実行単位の中で,二つ以上のプログラムが同じデータレコードを記述する場合,DYNAMIC指定のない外部データレコードが混在してはならない。
  2. DYNAMIC指定をしたデータ領域は,Cプログラムから参照,更新できない。

【標準仕様との関連】
COBOL2002 言語 標準仕様編 9.16.25 EXTERNAL句