4.5.2 データ項目の設定(COBOL85言語の形式を使用する場合)
COBOL85言語の形式を使用する場合のデータ項目の設定について説明します。
(1) データ項目の記述形式
英字項目や数字項目などのデータ項目の記述は,この項で説明する規則に従っている必要があります。規則に従っていない場合は,構文エラーとなります。
COBOL登録集原文からバイナリフォーマット定義ファイルを生成する際に,個別文字コードを指定する場合のデータ項目の記述形式については,「付録P バイナリデータ内に文字コードが混在する場合の対応」を参照してください。
(a) データ項目の書き方
COBOLのデータ項目の書き方を次に示します。
レベル番号 {データ名|FILLER} [{PICTURE|PIC}[IS] 文字列] [[USAGE [IS]]{COMPUTATIONAL-3|COMP-3|COMPUTATIONAL|COMP|DISPLAY|NATIONAL}] [OCCURS 整数 [TIMES]].
(b) 構文規則
-
レベル番号は,1〜2桁の符号なし整数で1〜49でなければなりません。
-
データ名の文字数は1〜30でなければなりません。
-
データ項目およびFILLER項目の数は32,760個を超えてはなりません。
-
OCCURS句に指定する整数の値は1〜2,147,483,647でなければなりません。
-
PICTURE句に指定できる文字は「表4-6 PICTURE句に指定できる文字」の内容だけです。
-
レベル番号,データ名,PICTURE句,USAGE句,およびOCCURS句の構文規則で,1.〜5.の構文規則で規定されている規則以外は,COBOL85言語の構文規則に従います。
-
USAGE句の構文規則を次に示します。
-
集団項目ではUSAGEは指定できません。
-
数値項目でDISPLAY,NATIONALを指定した場合は無視されます。
-
数値項目以外でUSAGEを指定した場合は無視されます。
-
-
データ項目は,1つのレコード(レベル番号01の集団項目),およびその従属データ項目だけでなければなりません。
-
COPY文は指定できません。
項番 |
データ型 |
PICTURE句に指定できる文字 |
小数部 |
使用できる桁数の範囲(小数部含む) |
||
---|---|---|---|---|---|---|
文字 |
桁数 |
|||||
1 |
英字項目 |
「A」 |
1 |
− |
1〜2,147,483,647 |
|
2 |
英数字項目 |
「A」,「X」,「9」 |
1 |
|||
3 |
数字項目 |
外部10進形式 |
「9」 |
1 |
「V」以降の文字 |
1〜18 |
「S」,「V」 |
0 |
|||||
4 |
内部10進形式 |
外部10進形式と同様 |
||||
5 |
2進形式 |
「9」 |
1 |
× |
||
「S」 |
0 |
|||||
6 |
英数字編集項目 |
「A」,「X」,「9」,「B」,「0」,「/」 |
1 |
− |
1〜2,147,483,647 |
|
7 |
数字編集項目 |
「B」,「/」,「Z」,「0」,「9」,「,」,「.」,「*」,「+」,「-」,通貨編集文字 |
1 |
× |
1〜249 |
|
「CR」,「DB」 |
2 |
|||||
「V」 |
0 |
|||||
8 |
日本語項目 |
「N」 |
2 |
− |
2〜32,766 |
|
9 |
日本語編集項目 |
「N」,「B」 |
2 |
- 注意
-
通常のCOBOLと同様に,各文字の直後に「(nn)」(nnは1〜2,147,483,647の数値)が指定された場合は,文字の反復回数となります。
(c) 注意事項
PICTURE句で指定する通貨編集文字や「Z」,「0」などの編集文字は桁数を算出する目的でだけ使用されます。データ項目に通貨編集文字などを埋め込む編集機能はサポートしていません。
(2) データ型の対応
COBOLのデータ型と変換後のバイナリフォーマット定義ファイルのデータ型の対応を次の表に示します。
項番 |
COBOLのデータ型 |
バイナリフォーマット定義ファイルのデータ型 |
TP1/COBOL adapterでのデータ型 |
||||
---|---|---|---|---|---|---|---|
データ種別 |
埋め字 |
XMLスキーマ型 |
|||||
1 |
英字項目 |
文字列 |
スペース |
string |
文字列データ(string) |
||
2 |
英数字項目 |
文字列 |
スペース |
string |
文字列データ(string) |
||
3 |
数字項目 |
外部10進形式 |
ゾーン形式数値 |
− |
decimal |
10進データ(BigDecimal) |
|
4 |
内部10進形式 |
パック形式数値 |
− |
decimal |
× |
||
5 |
2進形式 |
小数点なし |
符号付(無)2進数 |
− |
integer |
Shortデータ(Short)〜Longデータ(Long) |
|
6 |
小数点あり |
× |
10進データ(BigDecimal) |
||||
7 |
外部浮動小数点項目 |
× |
× |
||||
8 |
内部浮動小数点項目 |
4バイト |
単精度データ(Float) |
||||
9 |
8バイト |
倍精度データ(Double) |
|||||
10 |
英数字編集項目 |
文字列 |
スペース |
string |
文字列データ(string) |
||
11 |
数字編集項目 |
文字列 |
スペース |
string |
文字列データ(string) |
||
12 |
指標データ項目 |
× |
× |
||||
13 |
日本語項目 |
文字列 |
スペース |
string |
文字列データ(string) |
||
14 |
日本語編集項目 |
文字列 |
スペース |
string |
文字列データ(string) |
||
15 |
外部ブール項目 |
× |
× |
||||
16 |
内部ブール項目 |
× |
× |
(3) 要素名の設定
COBOLのデータ項目に別名を設定している場合,設定した別名がバイナリフォーマット定義ファイルの要素名となります。別名を設定していない場合,変換前のCOBOLのデータ名が,そのままバイナリフォーマット定義ファイルの要素名となります。
要素名に別名を設定する方法については,「4.5.4(3) データ項目の設定」を参照してください。
(4) 符号の設定
バイナリフォーマット定義ファイルのデータ型に変換するときに,ゾーン形式数値およびパック形式数値を生成する場合は,符号の設定が「カスタム」の状態で生成し,単純内容要素ダイアログの項目に設定します。単純内容要素ダイアログの項目に設定される内容を次の表に示します。
項番 |
属性 |
設定内容 |
---|---|---|
1 |
符号の設定 |
カスタム |
2 |
符号の有無 |
|
3 |
符号の種別 |
符号ビット |
4 |
符号の位置 |
後 |
(5) COBOLのデータ型のサイズの算出方法
データ型のサイズ(バイト)は,次の表に示す方法で算出されます。
COBOLのデータ型 |
サイズ(バイト) |
---|---|
英字項目 |
桁数と同じです。 |
英数字項目 |
|
外部10進形式 |
|
内部10進形式 |
((桁数) / 2) + 1 |
2進形式 |
桁数から算出します。
|
英数字編集項目 |
桁数と同じです。 |
数字編集項目 |
|
日本語項目 |
|
日本語編集項目 |