変数は Java コード内の値のプレースホルダー (置き換え) です。このセクションでは、変換コードでの変数の使用について、以下の内容を説明します。
このセクションでは、ソース・ビジネス・オブジェクトと宛先ビジネス・オブジェクトのビジネス・オブジェクト変数の生成について説明します。マップにビジネス・オブジェクトを追加する場合、Map Designer Express により以下のものが自動的に生成されます。
Map Designer Express が生成するインスタンス名はシステム宣言ローカル変数で、マッピング・コードでこのビジネス・オブジェクトを参照するために使用することができます。 これには、文字 Obj が前に付加され、その直後にビジネス・オブジェクト定義の名前が続きます。
例: マップに Customer を追加すると、そのインスタンス名は ObjCustomer となります。Map Designer Express はソースと宛先ビジネス・オブジェクトの両方のインスタンス名を生成します。
Activity Editor でコードを作成する場合、インスタンス名を使用してビジネス・オブジェクトとその属性を参照します。
ビジネス・オブジェクト・インデックスは、このソースまたは宛先ビジネス・オブジェクトの順序を表します。マップのソースと宛先ビジネス・オブジェクトの最初のインデックス番号はゼロです。追加されたビジネス・オブジェクトは次の使用可能なインデックス番号 (1、2、3 など) となります。
マップが実行されると、インデックス番号は、マップ (ソース・ビジネス・オブジェクト) に渡されるか、またはマップ (宛先ビジネス・オブジェクト) から戻される配列内のビジネス・オブジェクトの位置を表します。
Map Designer Express により、この情報が次の場所に表示されます。
ビジネス・オブジェクト・ウィンドウのタイトル・バーを右マウス・ボタンでクリックして、コンテキスト・メニューから「プロパティー」を選択します。「マップ・プロパティー」ダイアログの「ビジネス・オブジェクト」タブが表示され、選択したビジネス・オブジェクトがリスト内で強調表示されます。このタブには、ビジネス・オブジェクト配列内のインスタンス名とインデックスの両方が表示されます (ビジネス・オブジェクトが複数カーディナリティーの場合)。
タイトル・バーにビジネス・オブジェクトのインスタンス名が表示されます。
「マップ・プロパティー」ダイアログの「ビジネス・オブジェクト」タブで、これらのビジネス・オブジェクト変数を変更できます (図 83 を参照)。
図 83. 「マップ・プロパティー」ダイアログの「ビジネス・オブジェクト」タブ
「マップ・プロパティー」ダイアログで、マップに含まれるソース・ビジネス・オブジェクトまたは宛先ビジネス・オブジェクトのビジネス・オブジェクト・タイプを変更するには、以下の手順を実行します。
結果: 「マップ・プロパティー」ダイアログ・ボックスの「一般」タブが表示されます。「ビジネス・オブジェクト」タブをクリックします。
「マップ・プロパティー」ダイアログを表示する他の方法については、"マップ・プロパティー情報の指定"を参照してください。
Map Designer Express が生成するビジネス・オブジェクト変数を使用して、以下のようにビジネス・オブジェクトとその属性を参照します。
例:
ObjBusObjName.AttrName
例: 次の例では、ObjPsft_Employee 内の OrigHireDate 属性の値を、ObjEmployee の子である EmployeeHR_Misc の HireDate 属性に設定します。
ObjPsft_Employee.set("OrigHireDate", ObjEmployee.getString("EmployeeHR_Misc.HireDate"));
例: ObjCustomer の複数カーディナリティーの子である、Address の TimeZone 属性の値を設定します。
ObjCustomer.set("Address[0].TimeZone", ObjSAP_Customer.getString("TimeZone"));
Map Designer Express により、マップ全体の変換ステップでアクセスできる一時変数が作成できるようになります。つまり、一時変数はマップに対してグローバルです。
例えば、ある変換ステップで値を計算し、一時変数に格納して、別の変換ステップでその変数を参照することができます。これは、ある計算が繰り返し実行される場合に便利です。つまり、計算を 1 回実行して、結果を一時変数に格納し、必要に応じて (例えば、移動変換で) 値を検索できます。
一時変数は、一時ビジネス・オブジェクト内に定義されます。 一時ビジネス・オブジェクト変数を作成するには、以下の手順を実行します。
結果: 「ビジネス・オブジェクト・プロパティーを追加」ダイアログ・ボックスの「一般」タブが表示されます。
「ビジネス・オブジェクトを追加」ダイアログを表示する他の方法については、"「ビジネス・オブジェクトを追加」ダイアログからビジネス・オブジェクトを指定する手順"を参照してください。
結果: 新しい行が変数テーブルに表示されます。一時変数の名前を入力します。
次の方法で、一時変数を変換ステップで使用します。
明示的に初期化しないと、マップ・インスタンスの前の実行の一時変数の値が同じマップのその後の実行で、一時変数の値として誤って使用されることがあります。「マップ・インスタンスを再利用」オプションを使用しない 場合、マップの分離された呼び出し間に InterChange Server Express システムにより一時変数が自動的に初期化されます。
結果: Map Designer Express により一時ビジネス・オブジェクトが作成されると、マップの他のビジネス・オブジェクトと共にこのビジネス・オブジェクトが「テーブル」および「ダイアグラム」タブに表示されます。以下のようになります。
この一時ビジネス・オブジェクト・ウィンドウには、ビジネス・オブジェクト・ウィンドウと同じ多くの特性があります。作成した変数は、ビジネス・オブジェクトの属性の場合のように、変数テーブルに表示されます。このビジネス・オブジェクト・ウィンドウには「規則」と「コメント」列があり、そこで一時変数の変換コードとコメントをそれぞれ追加できます。
一時ビジネス・オブジェクト・ウィンドウのタイトル・バー内を右マウス・ボタンでクリックすると、このビジネス・オブジェクトとそのプロパティーを編集し、削除するためのオプションを指定するコンテキスト・メニューを表示できます。次のいずれかの方法で、変数の値を指定します。
ヒント: 変数を宣言する場合は、以下のヒントに留意してください。