付録M.3 サイズノードにビット列型のノードを指定する
サイズノードとしてビット列型の単純内容要素を指定することができます。ビット列型サイズノードでは,ビット列を符号なし2進数と見なし,整数値へ変換した値を参照元要素のデータサイズとして使用します。
- 〈この項の構成〉
(1) ビット列型サイズノードの使用例
ビット列型サイズノードの使用例を次に示します。
|
|
(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)が発生します。