Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編
COBOL登録集原文ファイルからのバイナリフォーマット定義ファイルの生成機能で使用できるCOBOL登録集原文ファイルの記述形式について説明します。
この機能では,COBOL85言語の利用を前提としています。しかし,ここで説明する規則および形式に従って記述されたCOBOL登録集原文ファイルであれば使用できます。COBOL85言語の機能および文法については,マニュアル「COBOL85 言語」を参照してください。また,COBOL85言語の規則に従っている形式のほかに,サービスプラットフォームで独自に拡張した形式(構文拡張したCOBOL登録集原文)もあわせて使用することができます。
この機能で使用できるCOBOL登録集原文ファイルは,固定形式(拡張子:.cbf以外)だけです。フリー形式(拡張子:.cbf)のファイルはサポートしていません。
この機能で使用できるCOBOL登録集原文ファイルは,次の記述規則に従います。
サービスプラットフォームで独自に構文拡張したCOBOL登録集原文を使用する場合,COBOL登録集原文(COBOL85言語の形式)の記述規則とは異なります。
以降で,COBOL登録集原文(COBOL85言語の形式)の記述規則との変更点を説明します。
プログラム識別番号領域の撤廃によって,73カラム目以降もソースコードを記述できます。
COBOL登録集原文では,73カラム目以降はプログラム識別番号領域と呼ばれ,この領域に記述したコメントは無視されます。しかし,構文拡張したCOBOL登録集原文を使用する場合,次のことを考慮し,プログラム識別番号領域を撤廃しています。
COBOL登録集原文の構文拡張に伴い,予約語を追加しています。
追加した予約語を次に示します。
各構文で共通の記述規則を次に示します。
'文字列'
X'16進数'
データ名A (OF データ名B)*
C └B └A
定義例 | 定義の可否 |
---|---|
A | 定義できる |
A OF B | 定義できる |
A OF C | 定義できる |
A OF B OF C | 定義できる |
A OF C OF B | 定義できない(CはBの子孫でないためエラーになる) |
C └A └B └A
定義例 | 定義の可否 |
---|---|
A | 定義できない(Aを一意に特定できないためエラーになる) |
A OF B | 定義できる |
A OF C | 定義できない(Aを一意に特定できないためエラーになる) |
A OF B OF C | 定義できる |
A OF C OF B | 定義できない(CはBの子孫でないためエラーになる) |
データ名の最大長はCOBOLの仕様に合わせて30文字としていましたが,バイナリフォーマット定義のノード名と同様に256文字に拡張しました。
ノード名の最大長の拡張に伴い,構文チェックも次のように変更になります。
データ名の種別 | 別名の付加方法 |
---|---|
NCName型 | 別名を付加しません。※1 |
NCName型以外 | データ名のうち,NCName型に適応しない文字を'_'に変更し,別名を付加します。※2 ただし,連番は付与されません。 |
数字だけの文字列は指定できません。指定した場合は,構文エラーとなります。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.