Hitachi

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


付録M.3 サイズノードにビット列型のノードを指定する

サイズノードとしてビット列型の単純内容要素を指定することができます。ビット列型サイズノードでは,ビット列を符号なし2進数と見なし,整数値へ変換した値を参照元要素のデータサイズとして使用します。

〈この項の構成〉

(1) ビット列型サイズノードの使用例

ビット列型サイズノードの使用例を次に示します。

図M‒3 ビット列型サイズノードの使用例

[図データ]

(2) ビット列型サイズノードの指定方法

バイナリフォーマット定義エディタによる設定,およびCOBOL2FDXコンバータによる設定を次に示します。

(a) バイナリフォーマット定義エディタによる設定

単純内容要素,および複合内容要素にビット列型サイズノードを指定する場合は,[ノード選択]ダイアログでビット列型の単純内容要素を選択してください。

[単純内容要素]ダイアログの表示・入力内容については,マニュアル「サービスプラットフォーム リファレンス」の「1.3.2 単純内容要素ダイアログ」を参照してください。

[複合内容要素]ダイアログの表示・入力内容については,マニュアル「サービスプラットフォーム リファレンス」の「1.3.3 複合内容要素ダイアログ」を参照してください。

注意事項

ビット列型サイズノードの場合は,サイズノードの値にサイズノード自身のサイズを含めることができません。そのため,バイナリフォーマット定義エディタで,ビット列型サイズノードを指定している場合,[構成要素]タブの[サイズ算出方法]のコンボボックスが非活性となります。

(b) COBOL2FDXコンバータによる設定

COBOL登録集原文ファイルにおいて,ビット列型の基本項目が定義できます。ビット列型の基本項目は,BIT句を使用して定義してください。

基本項目,および集団項目にビット列型のサイズノードを指定する場合は,SIZE句,およびDEPENDING ON句を使用します。

ビット列型サイズノードを使用する場合のCOBOL登録集原文の定義例を次に示します。

  01      Root.
    03    SizeNode BIT SIZE 8.
    03    StringNode STRING SIZE DEPENDING ON SizeNode.

選択条件ノードにビット列型の要素を定義する選択構成を使用したCOBOL登録集原文の定義例を示します。

  01      Root.
    03    SelectNode BIT SIZE 8.
    03    ComplexNode CHOOSE DEPENDING ON SelectNode.
      05  StringNode STRING SIZE 16 CASE '00'.
      05  PackNode PACK SIZE 4 CASE '01'.

BIT句,SIZE句,およびDEPENDING ON句の使用方法,COBOL2FDXコンバータ,およびCOBOL登録集原文ファイルによるバイナリフォーマット定義ファイルの生成方法については,「4.5 COBOL登録集原文ファイルからのバイナリフォーマット定義ファイルの生成」を参照してください。

注意事項

ビット列型サイズノードの場合は,サイズノードの値にサイズノード自身のサイズを含めることができません。そのため,COBOL2FDXコンバータでは,ビット列型サイズノードを指定する基本項目,および集団項目に対しCALC句を指定すると,COBOL登録集原文ファイルの変換でエラー(KECT26018-E)が発生します。