Hitachi

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


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

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

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

〈この項の構成〉

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

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

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

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

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

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

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

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

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

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

  • 指定できるオプションの増加に伴い,コード量が増加する。

  • COBOL登録集原文ファイルをExcelファイルから生成する場合,1行が短いと生成処理の難易度が高くなる。

(b) 予約語の追加

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

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

  • BINARY

  • BIT

  • BY

  • COMMA

  • DATA

  • DELETE

  • DEPENDING

  • JUST

  • JUSTIFIED

  • LEFT

  • NULL

  • OF

  • ON

  • RIGHT

  • SIGN

  • SIZE

  • SPACE

  • STRING

  • TO

  • UNTIL

  • ZERO

(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文字に拡張しました。

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

  • COBOL登録集原文のデータ名が256文字を超えている場合は構文エラーになります。

  • COBOL登録集原文を解析した結果,データ名が重複している場合,データ項目設定ページでデータ名が重複しないように別名が付加されます。この別名はデータ名に連番を付与して作成されます。別名の付加によって256文字を超えてしまう場合,データ名の種別によって別名の付加方法が次のとおり異なります。

    データ名の種別

    別名の付加方法

    NCName型

    別名を付加しません。※1

    NCName型以外

    データ名のうち,NCName型に適応しない文字を'_'に変更し,別名を付加します。※2

    ただし,連番は付与されません。

    注※1

    データ名重複エラーのままとなります。

    注※2

    データ名が256文字を超えた場合は構文エラーとなります。

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

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