{{tag>Index Action Action_List Process Query SQL Version:v4.8}} ====== EXEC_SP ====== This action allows execution of a database stored procedure. ===== Syntax ===== ''EXEC_SP'' SPName [ ''OF'' DatabaseEnvironment ] [ ''WITH'' ParamName ''='' ArithmeticExpression ()[ ''INOUT'')|''OUT'' ] ( '','' ParamName ''='' ArithmeticExpression () [ ''INOUT'' ) | ''OUT'' ] )* ] [ ''RETURN'' ObjectName ] where: * ''SPName'' is the name of the stored procedure to execute (must be enclosed in apostrophe) * ''DatabaseEnvironment'' if present indicates the name of the database environment where the stored procedure is defined (see objects persisted in [[docs:2500_config_apps:2800_external_sys_ldap|external databases]]). If not present the native Aware IM database is used. * ''ParamName'' is the name of the parameter of the stored procedure (if stored procedure requires a parameter. A parameter can be ''IN'', ''OUT'' or ''INOUT''. If parameter type is omitted ''IN'' is assumed * ArithmeticExpression an Aware IM expression to initialize input parameters with. If the parameter is of ''OUT'' or ''INOUT'' type this expression must be the name of an attribute of a business object * ''ObjectName'' if the stored procedure returns a result set (the result of the ''SQL SELECT'' statement) Aware IM can convert each record to the instance of the specified object. An object that is persisted in the database table of the ''SELECT'' statement must be defined. The resulting object instances are either placed in the Context if the ''EXEC_SP'' action is used in rules or returned by a query if the action is used in a rule form of the query ===== Examples ===== EXEC_SP 'procAlertGetAll' RETURN Alert This stored procedure does not require any parameters. It ''selects'' all alert records in the native database, that Aware IM will automatically convert to instances of the Alert object and put in the context or make available for a query EXEC_SP 'procAlertGet' WITH '@alerID'=1 RETURN Alert This stored procedure returns alert record with id=1 EXEC_SP 'procAlertGet' WITH '@alerID'=SPParam.AlertId RETURN Alert This stored procedure returns alert record with id taken from the AlertId attribute of the SPParam object EXEC_SP 'procAlertGetOut' WITH '@alerID'=SPParam.AlertId,'@alertName'=SPParam.AlertName OUT This stored procedure returns alert record with id taken from the AlertId attribute of the SPParam object. The name of the alert is then written into the AlertName attribute. EXEC_SP 'proc1' OF SQLServer WITH '@param1'=1,'@param2'=2 RETURN SomeObject This stored procedure returns the specified records from an [[docs:2500_config_apps:2800_external_sys_ldap:0100_define_objects_using_exist_table|external database]] identified by the name SQLServer.