4.5.1 変換できるCOBOL登録集原文ファイルの記述形式
COBOL登録集原文ファイルからのバイナリフォーマット定義ファイルの生成機能で使用できるCOBOL登録集原文ファイルの記述形式について説明します。
この機能では,日立COBOL85言語の利用を前提としています。しかし,この節で説明する規則および形式に従って記述されたCOBOL登録集原文ファイルであれば使用できます。日立COBOL85言語の機能および文法については,マニュアル「COBOL85 言語」を参照してください。
- <この項の構成>
- (1) 指定できるファイル形式
- (2) COBOL登録集原文ファイルの記述規則
- (3) データ項目の記述形式
(1) 指定できるファイル形式
この機能で使用できるCOBOL登録集原文ファイルは,固定形式(拡張子:.cbf以外)だけです。フリー形式(拡張子:.cbf)のファイルはサポートしていません。
(2) COBOL登録集原文ファイルの記述規則
この機能で使用できるCOBOL登録集原文ファイルは,次の記述規則に従います。
- COBOL登録集原文ファイルの文字コードはMS932である必要があります。
- 構文として正しいものを使用している必要があります。コンパイラが出力するメッセージに「重大エラー」または「警告エラー」が含まれていないことが前提です。
- 1~6カラム目は,行番号としては使用されないで,6桁の半角空白(0x20)として扱われます。エラー情報に出力される行番号としても使用されません。
- コメント行(7カラム目が「*」,「/」)は無視されます。
- 73カラム目以降のコメントは無視されます。
- デバッグ行(7カラム目が「D」および「d」の行)は無視されます。
- 通常のCOBOLと同様に,7カラム目が「-」の行は継続行として扱われます。
- タブ文字は1個の空白文字として扱われます。
- 全角空白文字は分離符として扱われますが,「;」および「,」は分離符として扱われません。
- 拡張コード文字と標準コード文字は非等価として扱われます。
- 次の語は予約語として扱われます。それ以外の語は利用者語として扱われます。
- COMP
- COMP-3
- COMPUTATIONAL
- COMPUTATIONAL-3
- DISPLAY
- FILLER
- IS
- NATIONAL
- OCCURS
- PIC
- PICTURE
- TIMES
- USAGE
(3) データ項目の記述形式
英字項目や数字項目などのデータ項目の記述は,この項で説明する規則に従っている必要があります。規則に従っていない場合は,構文エラーとなります。
(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-10の内容だけです。
- レベル番号,データ名,PICTURE句,USAGE句,およびOCCURS句の構文規則で,1.~5.の構文規則で規定されている規則以外は,日立COBOL85言語の構文規則に従います。
- USAGE句の構文規則を次に示します。
- 集団項目ではUSAGEは指定できません。
- 数値項目でDISPLAY,NATIONALを指定した場合は無視されます。
- 数値項目以外でUSAGEを指定した場合は無視されます。
- データ項目は,一つのレコード(レベル番号01の集団項目),およびその従属データ項目だけでなければなりません。
- COPY文は指定できません。
表4-10 PICTURE句に指定できる文字
項番 | データ型 | 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」などの編集文字は桁数を算出する目的でだけ使用されます。データ項目に通貨編集文字などを埋め込む編集機能はサポートしていません。