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を使用する場合は,次のように読み替えてください。
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でのデータ属性を表示)
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)
集団項目(byte[])※5
-
各データ項目に指定された句の情報を表示します。
次の内容が表示されます。
「R」:REDEFINES句の指定がある(再定義項目である)
なお,PICTURE句,USAGE句,およびOCCURS句の情報は,ほかのフィールドで表示しているので表示しません。
この指定句フィールドを編集することはできません。
-
回数はOCCURS句がある場合,その回数を表示します。OCCURS句がない場合,0を表示します。
この回数フィールドを編集することはできません。
-
日本語データ名,修飾なしで一意にならないデータ名に対する別名を入力する領域です。該当個所を選択すると,編集モードになります。 別名の編集を行った項目は,対応するソース生成時のプロパティ名が別名に置換されます。データ名と異なり,ハイフンのアンダーバーへの変換および英大文字の小文字への変換は行いません。別名の編集用途は,次のとおりです。
-
データ名が日本語(データ名に英小文字,数字,ハイフン(−),下線(_)以外が含まれている場合。ただしFILLERの変換後の名称は除く)の場合は,必ず指定しなければなりません。これは,Javaで日本語メソッド名および変数名を使用するのを避けるために設けた規則です。別名は,半角英数字でなければなりません。規則に反した場合,エラーとなります。
-
「Bean生成ツール」ではプロパティ名を基本項目のデータ名から生成するため,基本項目のデータ名は修飾なしで一意でなければなりません。また,「COBOLアクセス用Bean生成ツール−ステップ1/3」画面で「集団項目のバイト配列アクセスを使用する。」のチェックボックスをオンにした場合は,すべてのデータ名が修飾なしで一意でなければなりません。規則に反した場合,エラーとなります。
なお,「COBOLアクセス用Bean生成ツール−ステップ1/3」画面で「別名を自動生成する。」チェックボックスをオンにした場合,すべてのデータ名に対して次の規則で別名を自動生成します。
-
引数ごとに同名チェックを行う。
-
同名のデータ名があった場合,1つ目のデータ名には別名を生成しない。
-
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プログラム名は,英大文字と英小文字を区別します。
以上のように画面に従って操作し,最後に[終了(F)]ボタンを押すと,Javaソースファイルが生成され,該当するCOBOLアクセス用Beanが自動生成されます(COBOLアクセス用Beanの自動生成ソースイメージは,「付録C COBOLアクセス用Beanの自動生成ソースイメージ」を参照してください)。
自動生成したソースは編集しないでください。また,生成時は,作業用フォルダとして環境変数TEMPに指定されているフォルダ下にj2cbフォルダを作成します。
(4) jarファイルの作成/登録
EJB対応COBOLアクセス用Beanの場合,実行に際しjarファイルの作成/登録を行う必要があります。詳細については,「2.3.3 EJB用jarファイルの作成と登録」を参照してください。
(5) 制限事項
-
「Bean生成ツール」を二つ以上起動できません。