Allows a SQL Stored Procedure to be run when required. Used in conjunction with XL3Link to trigger the execution.

This function allows named parameters to be passed, and for table parameters to be passed where those are supported (currently SQL Server)

XL3RunSQLProc2( ExcecuteSQL, Connection, ProcName, [Parameter1Name], [Parameter1Value],..., [ParameterNName], [ParameterNValue])

ParameterDescription
ExecuteSQLA cell reference that contains TRUE when the Stored Procedure should be run. After execution, the cell reference will be set to FALSE or an error message if an error has occurred.
ConnectionThe connection to use to connect to the database. This must be the Connection ID of a workbook's relational connection.
ProcNameThe Stored Procedure to run
[Parameter1Name], [Parameter1Value]The name and value for the parameter to be passed to the stored procedure. You can pass up to 10 pairs.

Single-value parameters will be passed using their Excel data type, string, or double.

Dates are passed as numbers as that is how Excel stores them. They can be converted to a DateTime using convert(datetime, @numeric_value - 2). The - 2 is required as SQL Server and Excel use different date epochs.

If a range is passed as the parameter value, then Anaplan XL will pass a table variable to the stored procedure.

All columns will be of type string as Excel columns have no fixed type. If you require int/float/datetime, you will need to convert the values in your stored procedure.

All numbers are formatted in en-US format; that is, the decimal separator is ".".

The table variable type and name are based on the number of columns in the parameter range. For example, if the range has three columns, the name is XL3ParameterTable3, and is defined as follows:

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)

When B3 is set to TRUE (via an XL3Link) then the Stored Procedure in C3 is run using the connection specified in Variables!C2. A parameter called @my_param is passed with a value coming from cell D2. After completion, B3 will be reset to FALSE - ready for the next update by an XL3Link. Note that to use this on Anaplan XL Web Edition, the XL3Link should be of type 3 (Link with submit changes on web).