2.3.2 COBOLアクセス用Bean生成ツールでのバイト配列指定
- 〈この項の構成〉
(1) 「バイト配列データ(byte[])」または「可変長データ(byte[])」を指定する場合
英数字項目で「バイト配列データ(byte[])」または「可変長データ(byte[])」は,「Bean生成ツール」に表示されるデータ属性の項目を変更して指定します。データ属性が「文字列データ(String)」でない場合,データ属性の項目はリスト表示されません。
「可変長データ(byte[])」が指定できないデータの場合は,[次へ(N)]ボタンを押す際にエラーダイアログを表示します。「バイト配列データ(byte[])」,「可変長データ(byte[])」は,次の条件を満たす場合に指定できます。
-
「バイト配列データ(byte[])」,「可変長データ(byte[])」が指定できるデータ項目
-
英数字項目
-
英字項目
-
英数字編集項目
-
数字編集項目
-
日本語項目
-
日本語編集項目
ただし,日本語項目および日本語編集項目は「COBOLアクセス用Bean生成ツール−ステップ1/3」画面で「日本語項目を英数字項目として扱う。」チェックボックスがオンの場合だけ指定できます。
-
-
「可変長データ(byte[])」が指定できるデータ項目
-
レベルフィールドは01または77レベル
-
指定句フィールドはREDEFINES句未指定
-
COBOL定義領域長は5バイト以上
-
(2) 「アドレスデータ項目(byte[])」を指定する場合
アドレスデータ項目を指定します。データ属性に「アドレスデータ(byte[])」と表示されます。
「アドレスデータ(byte[])」が指定できないデータの場合は,[次へ(N)]ボタンを押す際にエラーダイアログを表示します。「アドレスデータ(byte[])」は,次の条件を満たす場合に指定できます。
「アドレスデータ(byte[])」が指定できるデータ項目
-
レベルフィールドは01または77レベル
-
指定句フィールドはREDEFINES句未指定
(3) 「可変長データ(byte[])」および「アドレスデータ(byte[])」のデータ形式について
「可変長データ(byte[])」および「アドレスデータ(byte[])」を再定義することはできません。指定した場合,再定義項目は従属する下位項目も含めて無視されます。そのため,setter/getterも生成されません。
「可変長データ(byte[])」および「アドレスデータ(byte[])」は,ほかのデータ属性のように指定された領域長でデータアクセスをするのではなく,形式が異なります。形式は,下記のように分割されたデータ領域となります。
COBOLプログラムでは,上記形式でデータを扱ってください。
- 例1)
-
登録集原文に「01 V_DATA PIC X(100).」と記述されたデータ項目のデータ属性を,「可変長データ(byte[])」と指定した場合,長さを表す4バイトの2進項目と,96バイトのバイト配列データに分割されます。
したがって,バイト配列データがとりうる(最大データ長+4)バイトの領域長で,データ項目を定義する必要があります。「可変長データ(byte[])」でデータを設定(setter)および取得(getter)する方法については,「8. COBOLアクセス用Beanを呼び出すためのAPI」を参照してください。
- 例2)
-
登録集原文に「01 V_DATA USAGE ADDRESS.」と記述指定した場合,長さを表す4バイトの2進項目と,setterで指定された長さ分のバイト配列データの領域になります。
「アドレスデータ(byte[])」でデータを設定(setter)および取得(getter)する方法については,「8. COBOLアクセス用Beanを呼び出すためのAPI」を参照してください。