「プロシージャーの呼び出し」アクティビティー

実行時に、「プロシージャーの呼び出し」アクティビティーによって、データベースでストアード・プロシージャーが実行されます。 「プロシージャーの呼び出し」アクティビティーの構成を Studio で実行する前に、 ストアード・プロシージャーを作成して、データベースにインストールしておく必要があります。

注: Informix® データベースでのストアード・プロシージャーに対する関数名の多重定義はサポートされません。 ストアード・プロシージャーには、その署名が固有な場合でも、Informix で同じ名前を付けることはできません。

「プロシージャーの呼び出し」アクティビティーをオーケストレーションに追加する

  1. オーケストレーションを作成するか、または開きます。 オーケストレーションのグラフィカル表現が開きます。
  2. アクティビティー」タブを選択し、「データベース」フォルダーを展開します。
  3. プロシージャーの呼び出し」アクティビティーをオーケストレーション上にドラッグします。
  4. プロシージャーの呼び出し」アクティビティーを選択します。

データベース・エンドポイントを作成、選択、または編集する

  1. 「チェックリスト」から「エンドポイントの選出」タスクをクリックし、次のいずれかのアクションを選択します。
    • 既存のエンドポイントを選択します。
      1. 参照」を選択します。 「プロジェクト・エクスプローラー」が開きます。
      2. 既存のエンドポイントを選択し、「OK」をクリックします。 『「プロシージャーの呼び出し」アクティビティーを構成する』アクティビティー手順までスキップします。
    • 既存のエンドポイントを選択し、そのエンドポイントを編集します。
      1. 参照」を選択します。 「プロジェクト・エクスプローラー」が開きます。
      2. 既存のエンドポイントを選択し、「OK」をクリックします。
      3. 編集」をクリックします。 「エンドポイントの編集」ペインが表示されます。
    • 新しいエンドポイントを作成します。
      1. 新規作成」を選択します。 「エンドポイントの作成」ペインが開きます。
  2. データベース・エンドポイントを作成または編集します。

「プロシージャーの呼び出し」アクティビティーを構成する

  1. チェックリスト」から、「ストアード・プロシージャー」をクリックします。 「ストアード・プロシージャー」ペインが開きます。
  2. 参照...」をクリックします。「ストアード・プロシージャーの表示」ダイアログ・ボックスが表示されます。
  3. 選択したユーザー・スキーマを持つ、表示されたストアード・プロシージャーのみでなく、データベース内のすべてのストアード・プロシージャーを表示するには、「クリア」をクリックします。
  4. リストから「ストアード・プロシージャー」を選択します。
  5. 「OK」をクリックします。選択したストアード・プロシージャーのパラメーター情報が「ストアード・プロシージャー」ペインに表示されます。
    注: パラメーター・リストの内部にあるストアード・プロシージャー呼び出しパラメーターの削除はサポートされていません。 リストに表示されているのとは異なる順序でパラメーターを指定する場合は、パラメーター間にギャップのない (つまり、必要なパラメーターのみのサブセットが含まれている) ラッパー・ストアード・プロシージャー (例: WrapperStoredProcedure1) を作成できます。その後、Microsoft SQL Server によってサポートされる @parameter = value の形式を使用して、新しいストアード・プロシージャーに、基礎となるストアード・プロシージャー (例: BackendStoredProcedure1) を呼び出させることができます。 こうすると、オーケストレーションで、必要なパラメーターのみを含むラッパー・ストアード・プロシージャーを使用できます。 あるいは、元の基礎となるストアード・プロシージャー (例: BackendStoredProcedure1) に対して、Studio 内の完全なパラメーター・セットおよびそのデフォルト値を省略しないで指定できます。 パラメーター・リストの内部にあるストアード・プロシージャー呼び出しパラメーターの削除はサポートされていませんが、パラメーター・リストの末尾に表示されているパラメーターは削除できます。
  6. (最初にデータベース・エンドポイントから取得された) 現在の文字エンコードを変更するには、「エンコード」リストから別のエンコード・オプションを選択します。 これによって、ストアード・プロシージャーのすべての入力パラメーターについてデフォルトの文字エンコードが変更されます。
  7. デフォルトでは、ストアード・プロシージャーのすべての入出力 (IN、INOUT、RETURN、OUT) パラメーターが選択されます。 ストアード・プロシージャーに対して定義された入力パラメーターと出力パラメーターをすべて含める必要はありません。 出力パラメーター (INOUT、RETURN、OUT) の「使用」チェック・ボックスをクリアすると、「入力のマップ」タスクで出力パラメーターが使用できなくなることを意味します。 入力パラメーター (IN、INOUT) の「使用」チェック・ボックスをクリアすると、「入力のマップ」タスクで入力パラメーターが使用できなくなることを意味します。 「使用」チェック・ボックスは、実行時に入力値を指定する必要がない入力パラメーターの場合のみクリアしてください。 ストアード・プロシージャーの一部の入力パラメーターにはデフォルト値が存在することがあります。

    ほとんどのデータベースは単一の戻りパラメーターのみを返します。 これらのデータベースでは、戻りパラメーターの「使用」チェック・ボックスを選択すると、戻り値は、「出力のマップ」タスクの「アクティビティーから」ペインで単一の results/result/RETURN_VALUE ノードに返されます。 ただし、Informix データベースでは複数の戻りパラメーターがサポートされ、Informix データベースでは、戻りパラメーターは反復 results/result/result/resultsSets/any ノードに返されます。 1 つのパラメーターがストアード・プロシージャーから返される場合でも、戻りパラメーターは results/result/result/resultsSets/any ノードに返されます。 result ノード (resultSet という子ノードを含む) の内容を変数にコピーするには、マップで CopyOf 機能を使用します。 CopyOf 機能がソース・ノードの値を宛先ノードに正しくコピーするには、 宛先変数の XML スキーマがソース・ノードの XML スキーマと一致しなければなりません。 詳しくは、『CopyOf 機能』を参照してください。

  8. 行を列値でソートするには、列の見出しをクリックします。 例えば、列名で行をソートするには、列の「列名」見出しをクリックします。 列見出しの右側に矢印が表示されます。 上矢印は、列が a で始まり z へと続くアルファベット順でソートされていることを示します。 下矢印は、列が z で始まり a へと続く逆のアルファベット順でソートされていることを示します。 アルファベット順を逆にするには矢印をクリックします。
  9. 必要に応じて、各照会用入力パラメーターの「データ型」、「エンコード」、または「ヌル可能」値の設定を変更します。 新しく選択を行うフィールドをクリックします。
    • データ型 - デフォルトでは、パラメーターのデータ型。 パラメーターに代替のデータ型を選択するには、「データ型」セルをクリックして、対応するセルのリストから別の「データ型」を選択します。 「UNSUPPORTED」と示されているデータ型は変更する必要があります。
      注: (MONEY および XMLTYPE データ型の場合) Oracle データベースの XMLTYPE データ型と SQL Server データベースの MONEY データ型については、Studio によって自動的には正しいデータ型が関連付けられないため、ユーザーが適切なデータ型を手動で選択する必要があります。
    • エンコード - デフォルトでは、データベース・レベルまたは表レベルのいずれかで設定された現在のデフォルト・エンコード。 パラメーターに必要なエンコードが、現在のデフォルト・エンコードと異なる場合は、「エンコード」セルをクリックして、リストから別のエンコードを選択することによって、別のエンコードを選択します。
    • サイズ - 表で定義された列のサイズ。 このサイズはデータベース表から取得され、構成することはできません。
  10. パラメーターのプロパティーをすべてデフォルトに再設定するには、「リセット」をクリックします。 これによって、すべてのパラメーターの「使用」オプションも選択されます。
  11. 配信ルール』を構成します。
    注:配信ルール」タスクで「1 回のみ」オプションを選択する場合は、実行時に統合アプライアンスで使用されるコントロール表を作成する必要があります。 Studio から統合アプライアンスにオーケストレーションを公開した後で、コントロール表を作成します。 プロジェクトをデプロイする前に、Web 管理コンソール (WMC) を使用して、コントロール表を作成します。
    注:1 回のみ」オプションを選択する場合は、 パーシスタンスを使用可能にする必要があります。 詳しくは、『パーシスタンスを使用可能にする』を参照してください。
  12. 再試行オプションを構成します。
 

アクティビティーの入力をマップする

  1. チェックリスト」で「入力のマップ」タスクを選択します。 このアクティビティーの入力パラメーターが、 「アクティビティーへ」ペインの calls エレメントの下に表示されます。 「アクティビティーへ」ペインに表示される入力パラメーターは、「ストアード・プロシージャー」タスクで選択した IN および INOUT パラメーターに対応します。 「配信ルール」で「複数の行を 1 つのメッセージにまとめる」チェック・ボックスが選択されている場合、複数オカレンスのアイコンが call エレメントの横に表示されます。
  2. 表示されるすべての入力パラメーターをマップします。 マッピングの一般的な説明については、『マップの作成』を参照してください。

アクティビティーの出力をマップする

  1. 「チェックリスト」「出力のマップ」タスクを選択します。 このアクティビティーの出力パラメーターが、 「アクティビティーから」ペインの results エレメントの下に表示されます。 「アクティビティーから」ペインに表示される出力パラメーターは、「ストアード・プロシージャー」タスクで選択した OUT、RETURN、および INOUT パラメーターに対応します。

    配信ルール」で「複数の行を 1 つのメッセージにまとめる」チェック・ボックスが選択されている場合、複数オカレンスのアイコンが result エレメントの横に表示されます。

    ストアード・プロシージャーに戻りパラメーターがない場合でも、「プロシージャーの呼び出し」アクティビティーの「アクティビティーから」ペインには resultSet という反復ノードが表示されます。 実行時に、このアクティビティーから開始されたストアード・プロシージャーが結果セットを返す場合は、この結果セットは、resultSet ノードのアクティビティーから返されます。 例えば、ストアード・プロシージャーが Select ステートメントを開始する場合は、Select ステートメントからの結果セットは、resultSet ノードに返されます。 result ノード (resultSet という子ノードを含む) の内容を変数にコピーするには、マップで CopyOf 機能を使用します。
    重要: CopyOf 機能がソース・ノードの値を宛先ノードに正しくコピーするには、 宛先変数の XML スキーマがソース・ノードの XML スキーマと一致しなければなりません。 詳しくは、『CopyOf 機能』を参照してください。
  2. 必要な出力パラメーターを変数にマップします。 マッピングについての一般的な説明は、『マップの作成』を参照してください。 このアクティビティーに関しては、出力パラメーターをマップする必要はありません