外部システムのプロシージャは、フォームをベースとしたアクティビティ、または LC LSX スクリプトで利用できます。Connector によっては、選択や変更のオペレーションをプロシージャで代用できます。また、プロシージャが外部のシステムと通信する唯一の方法になっている Connector もあります。どのケースでも、プロシージャの機能やパラメータによって、使用方法や必要な要件を考慮しなければなりません。
LEI (IBM® Lotus Enterprise Integrator®) アクティビティまたは DECS (Domino® 基幹連携サービス) オペレーションでのプロシージャの使用方法については、各アクティビティの章で説明します。また、Connector 内でプロシージャを呼び出すときの注意点についても、各 Connector の章で説明します。一般的に、名前付きのパラメータがサポートされている場合は、パラメータは名前によってプロシージャに渡されます。これ以外の場合は、位置によって渡されます。また、プロシージャからの出力は、結果セットがサポートされている場合は結果セットで返され、それ以外の場合は出力パラメータで返されます。
一般的に、プロシージャは、次に示す 3 つの状況で使用されます。
このケースでは、呼び出し側は実行されているアクションとは直接関係ありません。入力は与えられますが、特定の動作または出力は要求されません。この方法は、一般的に LC LSX スクリプト内で使用されます。フォームをベースとする LEI アクティビティは、ほとんどの場合、ストアドプロシージャに対し特定の動作を要求します。このケースでは、入力パラメータの指定はスクリプトによって行われ、対応する名前やデータ型のパラメータはプロシージャに渡されます。名前付きのパラメータがサポートされていない Connector では、パラメータの場所を指定しなければなりません。
このケースでは、ストアドプロシージャは外部データベースのデータを変更するために使用されます。この方法は、フォームをベースとするアクティビティやスクリプトの両方でよく用いられます。スクリプトから呼び出される場合、ストアドプロシージャは上記のブラックボックスアクションと同様に扱われます。フォームをベースとするアクティビティでストアドプロシージャを使用するときは、与えられる入力パラメータと要求される動作は通常のアクティビティで定義します。例えば、ストアドプロシージャを Direct Transfer アクティビティのターゲットとして使用するときは、データの格納先のターゲットフィールドが入力パラメータとして与えられ、新規レコードの挿入が動作として要求されます。実行するアクティビティによって、供給するパラメータが決められます。例えば、Virtual Fields アクティビティは、異なるストアドプロシージャを介して、レコードを挿入、更新、および削除できますが、与えられるパラメータは実行されるアクションによって決められます。
このケースでは、プロシージャは外部システムから情報を返すために使用されます。この場合、プロシージャは、Connector の種類によって、標準の選択オペレーションをシミュレートするか、結果セットを生成するただ 1 つの方法として機能します。入力パラメータを供給しない場合もありますが、結果セットは必ず生成されなければなりません。入力パラメータは、上記で説明した他のプロシージャーのコンテキストと同じ方法で渡されます。結果セットの内容は、一般的には、プロシージャの定義によって決められます。いくつかのシステムでは、返されるフィールドは呼び出し側によってプロシージャの実行時に識別される必要があります。このケースでは、出力フィールドは呼び出し側のアクティビティによって識別されるか、スクリプトで直接識別します。この方法を使用する例として Oracle のプロシージャがあります。Oracle のプロシージャは結果を出力パラメータとして返すだけなので、呼び出し時に内容を識別しなければなりません。