必要に応じて SQL ストアド プロシージャを実行できます。XL3Link と組み合わせて使うことで、実行をトリガーします。
この関数では名前付きパラメーターを渡すことができ、サポートされている場合はテーブル パラメーターを渡すこともできます (現在は SQL Server)。
構文
XL3RunSQLProc2( ExcecuteSQL, Connection, ProcName, [Parameter1Name], [Parameter1Value],..., [ParameterNName], [ParameterNValue])
パラメーター
| パラメーター | 説明 |
| ExecuteSQL | ストアド プロシージャを実行すべき場合に TRUE が含まれるセル参照。実行が完了すると、セル参照は FALSE にリセットされるか、エラーが発生した場合はエラー メッセージが表示されます。 |
| Connection | データベースへの接続に使用する接続。ワークブックのリレーショナル接続の接続 ID にする必要があります。 |
| ProcName | 実行するストアド プロシージャ。 |
| [Parameter1Name], [Parameter1Value] | ストアド プロシージャに渡されるパラメーターの名前と値。10 ペアまで渡すことができます。 |
パラメーター値
単一値パラメーターは、Excel のデータ型、文字列、又は倍精度浮動小数点数を使用して渡されます。
日付は、Excel で数値として保存する方法であるため、数値として渡されます。これらは convert(datetime, @numeric_value - 2)<2> を使用して DateTime に変換できます。SQL Server と Excel では異なる日付エポックが使用されるため、-2 が必要です。
複数値パラメーター
範囲がパラメーター値として渡されると、Anaplan XL ではテーブル変数をストアド プロシージャに渡します。
Excel の列には固定の型がないため、すべての列が文字列型になります。int/float/datetime が必要な場合は、ストアド プロシージャで値を変換する必要があります。
すべての数値は en-US 形式になります。そのため、小数点は「.」になります。
テーブル変数のタイプと名前は、パラメーター範囲内の列の数に基づいて決まります。たとえば、範囲に三つの列がある場合、名前は XL3ParameterTable3 となり、次のように定義されます。
CREATE TYPE [dbo].[XL3ParameterTable3] AS TABLE(
[ParameterValue1] [nvarchar](100) NULL,
[ParameterValue2] [nvarchar](100) NULL,
[ParameterValue3] [nvarchar](100) NULL
)
例
XL3RunSqlProc(B3, Variables!C2, C3, "@my_param", D2)
(XL3Link を使用して) B3 が TRUE に設定されると、Variables!C2 で指定された接続を使用して C3 のストアド プロシージャが実行されます。@my_param というパラメーターがセル D2 からの値とともに渡されます。完了すると B3 は FALSE にリセットされ、XL3Link による次の更新に備えます。Anaplan XL Web Edition でこれを使用するには、XL3Link のタイプが 3 (ウェブでの変更の送信を行うリンク) である必要があります。