COBOL2002 Cosminexus連携機能ガイド


2.3.1 COBOLアクセス用Bean生成ツールによる生成

「Bean生成ツール」を使用して,COBOL UAPを呼び出すロジックを組み込んだCOBOLアクセス用Beanを生成します。

〈この項の構成〉

(1) 起動方法

Windowsのプログラムを開始する操作で,[COBOL2002]−[Cosminexus連携機能]をポイントし,[COBOLアクセス用Bean生成ツール環境設定]をクリックします。「COBOLアクセス用Bean生成ツール環境設定」の画面が開いたら,その画面で環境設定を行います。

起動方法も同じように,Windowsのプログラムを開始する操作で[COBOL2002]−[Cosminexus連携機能]をポイントし,「COBOLアクセス用Bean生成ツール」をクリックすると起動できます。

Windows(x86) COBOL2002とWindows(x64) COBOL2002では,スタートメニューに表示されるメニュー名とウィンドウに表示されるタイトル名が異なります。ここでは,Windows(x86) COBOL2002のメニュー名とタイトル名を使用します。Windows(x64) COBOL2002を使用する場合は,次のように読み替えてください。

表2‒1 Windows(x86) COBOL2002とWindows(x64) COBOL2002のメニュー名とタイトル名

Windows(x86) COBOL2002

Windows(x64) COBOL2002

スタートメニューに表示されるメニュー名

ウィンドウに表示されるタイトル名

スタートメニューに表示されるメニュー名

ウィンドウに表示されるタイトル名

COBOLアクセス用Bean生成ツール環境設定

COBOLアクセス用Bean生成ツール

COBOLアクセス用Bean生成ツール環境設定 for COBOL2002 64bit

COBOLアクセス用Bean生成ツール for COBOL2002 64bit

COBOLアクセス用Bean生成ツール

COBOLアクセス用Bean生成ツール for COBOL2002 64bit

(2) 環境設定ダイアログ

[図データ]

VM Optionのチェックボックスをオンにすると最大メモリプールサイズを指定できるようになります。

指定がない場合は,Java VMの初期値となります。

また,VM Optionのチェックボックスがオンの状態で値を指定しない場合,または数値以外を指定した場合は設定エラーダイアログを出力します。

(3) COBOLアクセス用Bean生成ツールの画面

(a) ステップ1/3

[図データ]

[図データ]

この画面では,COBOLへの引数を定義した登録集原文ファイル,PICTURE句の通貨編集用文字,オプションおよび生成ファイルを出力するフォルダなどを指定します。オプションパネルはタブで切り替えることができます。指定が終了し,[次へ(N)>]ボタンを押すと「COBOLアクセス用Bean生成ツール − ステップ2/3」画面に進みます。

  • COBOLへの引数を定義した登録集原文の指定

    COBOL UAPの引数を定義した登録集原文のファイル名をフルパスで指定します。右側のボタンをクリックすると,参照ダイアログが表示されます。

    注※

    登録集原文のファイル名に全角文字は使用できません。

  • PICTURE句の通貨編集用文字の指定

    必要に応じて,PICTURE句の通貨編集用文字を変更します。デフォルトでは,'¥'が指定されています。

  • 生成ファイルを出力するフォルダの指定

    ツールが生成するJavaソースファイルを出力するフォルダ名をフルパスで指定します。Javaソースファイルは次のフォルダ規則に従って生成されます。生成されるJavaソースファイル名は,ステップ3/3のクラス説明を参照してください。

    <生成ファイルのフォルダ規則>

    • 指定フォルダ¥パッケージ名¥

      パッケージ名は,ステップ3/3で指定するパッケージ名を指します。

    • 指定フォルダ¥META-INF¥

      EJB対応機能を有効にした場合は,Javaソースファイル群に加え,このフォルダ下にejb_jar.xmlも生成されます。

    「生成ファイルを出力するフォルダを入力してください。」の右側のボタンを押すと,参照ダイアログが表示されます。なお,指定したフォルダが存在しない場合は,そのフォルダを作成するかどうかのダイアログボックスが出力されます。「はい」を選んだ場合は,そのフォルダを作成し生成処理を続行します。「いいえ」を選んだ場合は,次の画面に移りません。再度,設定をやり直してください。

  • EJB対応機能

    EJB対応COBOLアクセス用Beanとその他のEJB関連ファイルを出力する場合は,チェックボックスをオンにします。 デフォルトでは,JavaBeans対応COBOLアクセス用Beanだけを生成します。

  • 別名の扱い

    同じデータ名のデータ項目に対して別名を自動生成する場合は,チェックボックスをオンにします。デフォルトでは,別名は自動生成しません。

  • serialVersionUIDの生成

    serialVersionUIDを生成する場合は,チェックボックスをオンにします。デフォルトでは,serialVersionUIDを生成します。

    チェックボックスをオンにすると,COBOLアクセス用Beanのソース中に次の形式でserialVersionUIDを生成します。

    (生成例)

    private static final long serialVersionUID = 1153786720640L;

    serialVersionUIDの値はBean生成時点での1970年1月1日00:00:00 GMTからの経過時間(ミリ秒)です。

  • 日本語項目の扱い

    日本語項目および日本語編集項目を日本語項目として扱いたい場合はチェックボックスをオフにします。デフォルトでは,日本語項目および日本語編集項目を英数字項目として扱います。

  • USAGE COMP-5の扱い

    USAGE COMP-5を指定した2進項目をCOMP-5として扱いたい場合はチェックボックスをオフにします。デフォルトでは,USAGE COMP-5を指定した2進項目は,COMPとして扱います。

  • 集団項目の扱い

    集団項目に対するデータの設定および取得をする場合は,チェックボックスをオンにします。デフォルトでは,集団項目に対するデータの設定および取得はしません。

  • [次へ(N)>]ボタン

    「COBOLアクセス用Bean生成ツール − ステップ2/3」画面に進みます。

  • [キャンセル]ボタン

    COBOLアクセス用Beanの生成を取り消し,「Bean生成ツール」画面を消去します。

  • [ヘルプ]ボタン

    この画面に対するヘルプを表示します。

次の「Bean生成ツール」画面についても,[キャンセル]ボタンおよび[ヘルプ]ボタンについての動作は同じです。

指定した登録集原文を正常に解析できなかった場合,エラーメッセージが表示されて処理が中止します。

(b) ステップ2/3画面

[図データ]

「COBOLアクセス用Bean生成ツール−ステップ2/3」画面には,「COBOLアクセス用Bean生成ツール−ステップ1/3」画面で指定した登録集原文をCOBOLアクセスが解析した情報が引数ごとにテーブル表示されます(これ以降,このテーブルのことを「パラメタテーブル」とします)。

このパラメタテーブル中から,COBOL UAPで実際に使用する引数を選択します。選択したデータ項目に対してCOBOLアクセス用Beanの中に該当するデータ項目に対するアクセスメソッドが生成されます。

COBOL UAPで実際に使用するデータ項目だけを抽出することで,COBOLアクセス用BeanのサイズをCOBOL UAPのサービスを受け取れる必要なサイズに最適化でき,資源を有効に活用できます。

複数の引数がある場合,タブで表示する引数を切り替えます。

すべての引数の設定が完了したあと,[次へ(N)>]ボタンを押すと,「COBOLアクセス用Bean生成ツール−ステップ3/3」画面に進みます。

「COBOLアクセス用Bean生成ツール−ステップ2/3」画面に表示される表の各フィールドの編集方法について説明します。

  • レベルフィールド

    指定された登録集原文に定義されたデータ名のレベル番号を表示します。

    このレベルフィールドを編集することはできません。

  • データ名フィールド

    指定された登録集原文に定義されたデータ名を表示します。

    このとき,次の条件に該当するデータ項目名が変換されます。

    • Javaの言語仕様によって,ハイフン(−)をデータ名として使えないため,COBOLのデータ項目名にハイフン(−)が含まれる場合,自動的に下線(_)に変換して表示し,対応するソース生成時のプロパティ名も下線(_)で生成します。

    • 「Bean生成ツール」ではプロパティを基本項目のデータ名から生成するため,基本項目のデータ名は修飾なしで一意でなければなりません。また,集団項目のバイト配列アクセスを使用する場合は,すべてのデータ名が修飾なしで一意でなければなりません。規則に反した場合,エラーとなります。

    • JavaBeansの命名規則によって,COBOLのデータ項目名に英大文字が含まれる場合,自動的に英小文字に変換して表示し,対応するソース生成時のプロパティも英小文字で生成します。ただし,メソッドの場合,先頭の1文字だけを英大文字にして生成します。

    • このデータ名フィールドを編集することはできません。

    • FILLERは,$00001,$00002…のように先頭1文字が"$"で残り5文字が昇順の番号という名称でデータ名フィールドに表示します。FILLER項目の最大数は65,535個で,65,535個を超えた場合はエラーメッセージを出力して処理を中止します。

  • データ属性フィールド

    指定された登録集原文に定義されたデータ属性を表示します。

    このデータ属性フィールドを編集することはできません。

    各データ項目に対応する表示文字列を次の表に示します。

    表2‒2 各データ項目に対応する表示文字列

    データ項目

    表示文字列(Javaでのデータ属性を表示)

    英字項目

    英数字項目

    英数字編集項目

    数字編集項目

    文字列データ(String)

    バイト配列データ(byte[])※1

    可変長データ(byte[])※1,※2

    日本語項目

    日本語編集項目

    文字列データ(String)

    バイト配列データ(byte[])※1

    可変長データ(byte[])※1,※2

    日本語データ(String)※4

    アドレスデータ項目

    アドレスデータ(byte[])※1,※3

    単精度内部浮動項目

    単精度データ(Float)

    倍精度内部浮動項目

    倍精度データ(Double)

    1〜4けたの小数を含まない2進項目

    Shortデータ(Short)

    1〜4けたの小数を含む2進項目

    10進データ(BigDecimal)

    5〜9けたの小数を含まない2進項目

    Integerデータ(Integer)

    5〜9けたの小数を含む2進項目

    10進データ(BigDecimal)

    10〜18けたの小数を含まない2進項目

    Longデータ(Long)

    10〜18けたの小数を含む2進項目

    10進データ(BigDecimal)

    外部10進

    10進データ(BigDecimal)

    内部10進

    10進データ(BigDecimal)

    集団項目

    集団項目

    集団項目(byte[])※5

    注※1

    バイト配列データ,可変長データおよびアドレスデータを指定した場合,COBOLプログラムと受け渡すデータは,文字列データ(String)指定時と同様のコード変換は行いません(無変換)。コード変換が必要な場合は,JavaプログラムまたはCOBOLプログラムで行ってください。

    また,バイト配列データ,可変長データおよびアドレスデータを指定した場合のデータ属性フィールドの指定,およびデータ形式については,「2.3.2 COBOLアクセス用Bean生成ツールでのバイト配列指定」を参照してください。

    注※2

    REDEFINES句の指定のない01または77レベルで,長さが5バイト以上の英数字項目にだけ指定できます。また,可変長データを再定義することはできません。指定した場合,再定義項目は従属する下位項目も含めて無視されます。可変長データを指定したデータ項目は,データ長を表す4バイトの2進項目領域と,データを表す(全体の領域長−4)バイトのバイト配列領域と見なされます。この指定をすることで,COBOLに渡す領域長をデータ項目長よりも短くすることができます(使用例は「付録F プログラム例」を参照してください)。

    注※3

    REDEFINES句の指定のない01または77レベルだけ指定できます。また,アドレスデータを再定義することはできません。指定した場合,再定義項目は従属する下位項目も含めて無視されます。アドレスデータを指定したデータ項目は,データ長を表す4バイトの2進項目領域とデータを表すバイト配列領域と見なされます。

    注※4

    「COBOLアクセス用Bean生成ツール−ステップ1/3」画面で「日本語項目を英数字項目として扱う。」チェックボックスをオフにした場合,「日本語項目(String)」と表示します。この場合,バイト配列データおよび可変長データへの変更はできません。

    注※5

    「COBOLアクセス用Bean生成ツール−ステップ1/3」画面で「集団項目のバイト配列アクセスを使用する。」チェックボックスをオンにした場合,「集団項目(byte[])」と表示します。

  • 指定句フィールド

    各データ項目に指定された句の情報を表示します。

    次の内容が表示されます。

    「R」:REDEFINES句の指定がある(再定義項目である)

    なお,PICTURE句,USAGE句,およびOCCURS句の情報は,ほかのフィールドで表示しているので表示しません。

    この指定句フィールドを編集することはできません。

  • 回数フィールド

    回数はOCCURS句がある場合,その回数を表示します。OCCURS句がない場合,0を表示します。

    この回数フィールドを編集することはできません。

  • 別名フィールド

    日本語データ名,修飾なしで一意にならないデータ名に対する別名を入力する領域です。該当個所を選択すると,編集モードになります。 別名の編集を行った項目は,対応するソース生成時のプロパティ名が別名に置換されます。データ名と異なり,ハイフンのアンダーバーへの変換および英大文字の小文字への変換は行いません。別名の編集用途は,次のとおりです。

    • データ名が日本語(データ名に英小文字,数字,ハイフン(−),下線(_)以外が含まれている場合。ただしFILLERの変換後の名称は除く)の場合は,必ず指定しなければなりません。これは,Javaで日本語メソッド名および変数名を使用するのを避けるために設けた規則です。別名は,半角英数字でなければなりません。規則に反した場合,エラーとなります。

    • 「Bean生成ツール」ではプロパティ名を基本項目のデータ名から生成するため,基本項目のデータ名は修飾なしで一意でなければなりません。また,「COBOLアクセス用Bean生成ツール−ステップ1/3」画面で「集団項目のバイト配列アクセスを使用する。」のチェックボックスをオンにした場合は,すべてのデータ名が修飾なしで一意でなければなりません。規則に反した場合,エラーとなります。

    なお,「COBOLアクセス用Bean生成ツール−ステップ1/3」画面で「別名を自動生成する。」チェックボックスをオンにした場合,すべてのデータ名に対して次の規則で別名を自動生成します。

    1. 引数ごとに同名チェックを行う。

    2. 同名のデータ名があった場合,1つ目のデータ名には別名を生成しない。

    3. 2つ目以降のデータ名に対し,「元のデータ名$1」,「元のデータ名$2」...の順で別名を生成する。

  • 入力/出力フィールド

    使用するCOBOLのデータ項目(すなわち,COBOLアクセス用Beanのプロパティ)を選択します。ただし,基本項目だけの指定であり,集団項目は「COBOLアクセス用Bean生成ツール−ステップ1/3」画面で「集団項目のバイト配列アクセスを使用する。」チェックボックスをオンにした場合だけ指定できます。デフォルトは,FILLER以外の基本項目の入力/出力フィールドはすべて選択(チェックボックスオン)の状態になります。不要なデータはチェックボックスをオフにしてください。

    選択したデータ項目に対してCOBOLアクセス用Beanの中にsetter/getterが生成されます。COBOL UAPで実際に使用するデータ項目だけを抽出することで,COBOLアクセス用BeanのサイズをCOBOL UAPのサービスを受け取れる必要なサイズに最適化でき,資源を有効に活用できます。

  • 引数順フィールド

    PROCEDURE DIVISION USING の引数に指定した順に番号を設定します。

    01,77レベルのデータ項目に対してだけ入力できます。該当個所を選択すると,編集モードになります。

    入力は数字だけであり,同じ番号を指定してはなりません。

(c) ステップ3/3画面

[図データ]

「COBOLアクセス用Bean生成ツール−ステップ3/3」画面には,COBOLアクセス用Beanを生成するためのパッケージ名などを指定する画面が現れます。ここでは,次の情報を入力します。

  • パッケージ名

    プロジェクトファイルから派生したパッケージ名が表示されます。ほかのパッケージ名を付けるには,このフィールドをクリックして新規の名前を入力します。

  • クラス名

    クラス名を入力します。

    「COBOLアクセス用Bean生成ツール−ステップ1/3」画面で,「EJB対応機能を有効にする。」をチェックしていない場合は,「クラス名.java」が生成されるファイル名になります。

    チェックした場合は,次の名称のファイルを生成します。

    • クラス名.java(COBOLアクセス用Beanプログラム)

    • クラス名EJBHome.java(ホームインタフェース)

    • クラス名EJB.java(リモートインタフェース)

    • クラス名EJBBean.java(Enterprise Bean)

    • ejb-jar.xml(デプロイ情報)

    なお,EJB対応COBOLアクセス用Beanの場合,実行に際しjarファイルの作成/登録を行う必要があります。詳細は,「2.3.3 EJB用jarファイルの作成と登録」を参照してください。

  • ライブラリ名

    (Windowsの場合)

    COBOLで作成したDLL名を絶対パス名で指定します。

    DLL名だけを指定することもできますが,DLL名だけを指定した場合には,実行時にdynamicpathオプションの指定が必要です。

    セキュリティの理由から,絶対パス名で指定することを推奨します。

     (指定例)

      C:\user_path\SEARCH.dll ‥‥ 拡張子.dllは必須

    (UNIXの場合)

    Beanを生成する場合には,共用ライブラリ名に拡張子を付けて絶対パス名で指定します。

    (AIXの例)

     /user_path/libSEARCH.a ‥‥ 拡張子.aは必須

    (Linuxの例)

     /user_path/libSEARCH.so ‥‥ 拡張子.soは必須

    dynamicpathオプションを使用する場合は,フォルダ名またはディレクトリ名,および拡張子を省略したライブラリ名を指定できます。

    (Windowsの例)

     SEARCH ‥‥ 拡張子.dllは指定しない

    (AIXの例)

     libSEARCH ‥‥ 拡張子.aは指定しない

    (Linuxの例)

     libSEARCH ‥‥ 拡張子.soは指定しない

  • 呼び出すCOBOLプログラム名

    COBOLプログラム名は,英大文字と英小文字を区別します。

以上のように画面に従って操作し,最後に[終了(F)]ボタンを押すと,Javaソースファイルが生成され,該当するCOBOLアクセス用Beanが自動生成されます(COBOLアクセス用Beanの自動生成ソースイメージは,「付録C COBOLアクセス用Beanの自動生成ソースイメージ」を参照してください)。

自動生成したソースは編集しないでください。また,生成時は,作業用フォルダとして環境変数TEMPに指定されているフォルダ下にj2cbフォルダを作成します。

(4) jarファイルの作成/登録

EJB対応COBOLアクセス用Beanの場合,実行に際しjarファイルの作成/登録を行う必要があります。詳細については,「2.3.3 EJB用jarファイルの作成と登録」を参照してください。

(5) 制限事項