Execute 操作

Execute 操作はストアード・プロシージャーの実行に使用します。エンタープライズ・サービス・ディスカバリー・ウィザードは、 データベースのストアード・プロシージャー定義に対応する 必要なストアード・プロシージャー・ビジネス・オブジェクトを生成します。 アダプターは、Execute 操作を使用してストアード・プロシージャー・ビジネス・オブジェクトを 処理します。

ストアード・プロシージャー、そのストアード・プロシージャーから 構成されるビジネス・オブジェクト、および Execute 操作で ストアード・プロシージャー・ビジネス・オブジェクトを処理するために アダプターが使用するステップの単純な例を以下に示します。

ストアード・プロシージャーの単純な例:
PROCEDURE testSP(IN int x,INOUT VARCHAR(10) msgSTR, OUT int
status, OUT struct outrec, OUT array retArr)
(プロシージャーが 2 つの結果セットを返します)
このストアード・プロシージャーの場合に 構成されるビジネス・オブジェクトの例を以下に示します。
BOLevel ASI
      SPName=testSP
      ResultSet=true
      MaxNumberOfResultSets=2
      ReturnValue = propName (関数の場合)。
戻り値が複合型 (array/struct/resultset) である場合は、
子ビジネス・オブジェクトに対応するプロパティー名になります。
関数の場合にのみ定義されます。
プロパティー
      x Type=IP
      msgStr Type=IO
      status Type=OP
      outrec Type OP - outrec の子 BO、ASI ChildBOType = struct
      retarr Type OP - retArr の n カーディナリティー子 BO、ASI ChildBOType = array
      childBOName1 - 最初の結果セットに対する子 BO、ASI ChildBOType = resultset
      childBOName2 - 2 番目の結果セットに対する子 BO、ASI ChildBOType = resultset
Execute 操作で このストアード・プロシージャー・ビジネス・オブジェクトを処理するために、 アダプターは以下の処理を行います。
  1. ストアード・プロシージャー呼び出し CALL testSP(x, msgStr, status, outrec) を構成します。
  2. 呼び出し可能ステートメントで入力パラメーターを設定します。
  3. 呼び出し可能ステートメントを実行します。
  4. 戻り値を取得し (関数の場合)、それがスカラー値であれば その値を適切な属性に設定します。複合値 (構造体や配列など) であれば 子ビジネス・オブジェクトに設定します。
  5. 最初の結果セットを取得し、ResultSet1 のコンテナーを作成します。
  6. 2 番目の結果セットを取得し、ResultSet2 のコンテナーを作成します。
  7. 出力パラメーター msgStr および status を取得し、 ビジネス・オブジェクトで対応する属性を設定します。
  8. 出力パラメーター outrec を取得し、outrec で返された データから子ビジネス・オブジェクトを作成します。outrec が ネストされた構造体型である場合、アダプターは階層子ビジネス・オブジェクトを 再帰的に作成してデータを格納します。
  9. 出力パラメーター retArr を取得し、retArr で返された データから n カーディナリティーの子ビジネス・オブジェクトを作成します。retArr が ネストされた配列型である場合、アダプターは階層子ビジネス・オブジェクトを 再帰的に作成してデータを格納します。
関連概念
Create 操作
Retrieve 操作
RetrieveAll 操作
Update 操作
DeltaUpdate 操作
Delete 操作
ApplyChanges 操作

ご利用条件 |


(c) Copyright IBM Corporation 2005, 2006.
(C) Copyright IBM Japan 2006
このインフォメーション・センターでは Eclipse テクノロジー (http://www.eclipse.org) が採用されています。