Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編

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

4.5.1 COBOL登録集原文ファイルの規則

COBOL登録集原文ファイルからのバイナリフォーマット定義ファイルの生成機能で使用できるCOBOL登録集原文ファイルの記述形式について説明します。

この機能では,COBOL85言語の利用を前提としています。しかし,ここで説明する規則および形式に従って記述されたCOBOL登録集原文ファイルであれば使用できます。COBOL85言語の機能および文法については,マニュアル「COBOL85 言語」を参照してください。また,COBOL85言語の規則に従っている形式のほかに,サービスプラットフォームで独自に拡張した形式(構文拡張したCOBOL登録集原文)もあわせて使用することができます。

<この項の構成>
(1) 指定できるファイル形式
(2) COBOL登録集原文ファイルの記述規則
(3) 構文拡張したCOBOL登録集原文を使用する場合の記述規則の変更点

(1) 指定できるファイル形式

この機能で使用できるCOBOL登録集原文ファイルは,固定形式(拡張子:.cbf以外)だけです。フリー形式(拡張子:.cbf)のファイルはサポートしていません。

(2) COBOL登録集原文ファイルの記述規則

この機能で使用できるCOBOL登録集原文ファイルは,次の記述規則に従います。

(3) 構文拡張したCOBOL登録集原文を使用する場合の記述規則の変更点

サービスプラットフォームで独自に構文拡張したCOBOL登録集原文を使用する場合,COBOL登録集原文(COBOL85言語の形式)の記述規則とは異なります。

以降で,COBOL登録集原文(COBOL85言語の形式)の記述規則との変更点を説明します。

(a) プログラム識別番号領域の撤廃

プログラム識別番号領域の撤廃によって,73カラム目以降もソースコードを記述できます。

COBOL登録集原文では,73カラム目以降はプログラム識別番号領域と呼ばれ,この領域に記述したコメントは無視されます。しかし,構文拡張したCOBOL登録集原文を使用する場合,次のことを考慮し,プログラム識別番号領域を撤廃しています。

(b) 予約語の追加

COBOL登録集原文の構文拡張に伴い,予約語を追加しています。

追加した予約語を次に示します。

(c) 構文拡張したCOBOL登録集原文共通の記述規則

各構文で共通の記述規則を次に示します。

●文字列定数の記述規則
文字列定数は,次のように文字列を「'」で囲みます。
 
'文字列'
 
なお,「'」自身を指定する場合は,「''」と記述してください。

●16進定数の記述規則
16進定数は,次のように16進数を「X'」と「'」で囲みます。
 
X'16進数'
 

●ノードとして指定するデータ項目の記述規則
ノードとして指定するデータ項目は,次のように記述します。
 
データ名A (OF データ名B)*
 
この記述は,データAがデータB内に存在することを意味しています。データBはデータAの親だけではなく,先祖のデータ項目を指定できます。ただし,データAを一意に特定できない場合はエラーになります。
これを基に,データA,データBおよびデータCが次に示す関係の場合のOFを用いた定義例を次に示します。
パターン1
 
    C
    └B
      └A
 
定義例 定義の可否
A 定義できる
A OF B 定義できる
A OF C 定義できる
A OF B OF C 定義できる
A OF C OF B 定義できない(CはBの子孫でないためエラーになる)
パターン2
 
    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の子孫でないためエラーになる)
(d) データ名の最大長の拡張

データ名の最大長はCOBOLの仕様に合わせて30文字としていましたが,バイナリフォーマット定義のノード名と同様に256文字に拡張しました。

ノード名の最大長の拡張に伴い,構文チェックも次のように変更になります。

(e) データ項目名の設定

数字だけの文字列は指定できません。指定した場合は,構文エラーとなります。