<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Upgrade from Execute Stored Procedure Plug-in to OOTB Features</title><link>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Upgrade from Execute Stored Procedure Plug-in to OOTB Features</title><link>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features</link><pubDate>Tue, 23 Apr 2024 13:15:14 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a960a78b-88bd-4293-b6f0-ee79f77467bd</guid><dc:creator>Appian Max Team</dc:creator><comments>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features#comments</comments><description>Current Revision posted to Guide by Appian Max Team on 4/23/2024 1:15:14 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="introduction"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In version 22.1 Appian released support for executing stored procedures out-of-the-box using &lt;a href="https://docs.appian.com/suite/help/latest/fnc_system_a_executestoredprocedureforquery.html"&gt;a!executeStoredProcedureForQuery()&lt;/a&gt;, &lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave()&lt;/i&gt;&lt;/a&gt;, or the &lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;Execute Stored Procedure Smart Service&lt;/a&gt;. With this release, the Execute Stored Procedure plug-in was deprecated. Below is a guide for how you can upgrade the deprecated plug-in function calls and smart service nodes to the fully supported features. &lt;b&gt;Note that this guide does not guarantee the success of your updates. All updates should be tested thoroughly.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;When upgrading, keep in mind the following backwards compatibility considerations:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Appian Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Plug-in Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Result sets exceeding the max result set size of 1000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;For stored procedures that return multiple result sets, results exceeding the cumulative max size of 10,000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum cumulative result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when duplicate or empty column names are found.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Columns with duplicate names are silently truncated. Empty column names are allowed.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when IN or INOUT parameters are not passed in&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Missing IN and INOUT parameters are defaulted to null.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Supports&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html"&gt;data source connected systems&lt;/a&gt;&amp;nbsp;and admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Supports only admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optionally, the fully supported&amp;nbsp;Appian Execute Stored Procedure functions and smart service can be used with data source connected systems, which allow you to apply role map security to your data sources.&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html#migrating-data-sources-from-the-administration-console"&gt;Migrating&lt;/a&gt;&amp;nbsp;from an admin console data source to a data source connected system is simple. From the Appian designer click to create a new connected system object, copy the connection details, and apply&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Connected_System_Object.html#security"&gt;security&lt;/a&gt;. To execute stored procedures using the new data source connected system you&amp;rsquo;ll also need to create a connected system constant.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h2 id="finding_all_plug-in_usage_for_a_site"&gt;&lt;strong&gt;Finding all plug-in usage for a site&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To find each instance that the Execute Stored Procedure plug-in is used, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &amp;ldquo;OBJECTS&amp;rdquo; page in the Appian Designer and select the &amp;ldquo;PLUG-INS&amp;rdquo; tab.&lt;/li&gt;
&lt;li&gt;Search and select the &amp;ldquo;Execute Stored Procedure&amp;rdquo; plug-in.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Dependents&amp;rdquo; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h2 id="upgrading_executestoredprocedure"&gt;&lt;strong&gt;Upgrading &lt;em&gt;executeStoredProcedure&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Like the plug-in function,&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;should not be used to execute stored procedures that modify data. Doing so can have&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Expressions.html#functions-and-side-effects"&gt;unintended side effects&lt;/a&gt;! If you&amp;rsquo;re relying on this unsupported behavior to execute a stored procedure that modifies data, we&amp;rsquo;re excited to introduce you to the new&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave&lt;/i&gt;&lt;/a&gt;&amp;nbsp;smart service function. Using this function, you can safely execute stored procedures that modify data from an interface.&lt;/p&gt;
&lt;p&gt;Upgrading to the Appian execute stored procedure functions is super easy. In most cases it will be as simple as changing the function name.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update the function name from&amp;nbsp;&lt;i&gt;fn!executeStoredProcedure&lt;/i&gt;&amp;nbsp;to&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Change the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;parameter to&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;The&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;function requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Test the expression.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="upgrading_execute_stored_procedure_smart_service_nodes"&gt;&lt;strong&gt;Upgrading execute stored procedure smart service nodes&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To upgrade execute stored procedure process model nodes, we recommend copying the properties from the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/process-model-object.html#viewing-process-model-documentation"&gt;process model documentation&lt;/a&gt;&amp;nbsp;in a separate window and following the instructions below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Drag and drop a new &amp;ldquo;Execute Stored Procedure&amp;rdquo; node into the process model next to the deprecated execute stored procedure plug-in node.&lt;/li&gt;
&lt;li&gt;In the process model documentation, find the execute stored procedure plug-in node properties.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Copy each property from the process model documentation of the deprecated node. Note that the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;input will need to be copied into&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. The new execute stored procedure&amp;nbsp;smart service requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to as custom inputs. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;Remove the deprecated process model node.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Test the process model.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: database, Architecture, plugins&lt;/div&gt;
</description></item><item><title>Upgrade from Execute Stored Procedure Plug-in to OOTB Features</title><link>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features/revision/8</link><pubDate>Thu, 22 Feb 2024 21:15:47 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a960a78b-88bd-4293-b6f0-ee79f77467bd</guid><dc:creator>Appian Max Team</dc:creator><comments>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features#comments</comments><description>Revision 8 posted to Guide by Appian Max Team on 2/22/2024 9:15:47 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="introduction"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In version 22.1 Appian released support for executing stored procedures out-of-the-box using &lt;a href="https://docs.appian.com/suite/help/latest/fnc_system_a_executestoredprocedureforquery.html"&gt;a!executeStoredProcedureForQuery()&lt;/a&gt;, &lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave()&lt;/i&gt;&lt;/a&gt;, or the &lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;Execute Stored Procedure Smart Service&lt;/a&gt;. With this release, the Execute Stored Procedure plug-in was deprecated. Below is a guide for how you can upgrade the deprecated plug-in function calls and smart service nodes to the fully supported features. &lt;b&gt;Note that this guide does not guarantee the success of your updates. All updates should be tested thoroughly.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;When upgrading, keep in mind the following backwards compatibility considerations:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Appian Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Plug-in Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Result sets exceeding the max result set size of 1000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;For stored procedures that return multiple result sets, results exceeding the cumulative max size of 10,000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum cumulative result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when duplicate or empty column names are found.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Columns with duplicate names are silently truncated. Empty column names are allowed.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when IN or INOUT parameters are not passed in&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Missing IN and INOUT parameters are defaulted to null.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Supports&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html"&gt;data source connected systems&lt;/a&gt;&amp;nbsp;and admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Supports only admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optionally, the fully supported&amp;nbsp;Appian Execute Stored Procedure functions and smart service can be used with data source connected systems, which allow you to apply role map security to your data sources.&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html#migrating-data-sources-from-the-administration-console"&gt;Migrating&lt;/a&gt;&amp;nbsp;from an admin console data source to a data source connected system is simple. From the Appian designer click to create a new connected system object, copy the connection details, and apply&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Connected_System_Object.html#security"&gt;security&lt;/a&gt;. To execute stored procedures using the new data source connected system you&amp;rsquo;ll also need to create a connected system constant.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h2 id="finding_all_plug-in_usage_for_a_site"&gt;&lt;strong&gt;Finding all plug-in usage for a site&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To find each instance that the Execute Stored Procedure plug-in is used, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &amp;ldquo;OBJECTS&amp;rdquo; page in the Appian Designer and select the &amp;ldquo;PLUG-INS&amp;rdquo; tab.&lt;/li&gt;
&lt;li&gt;Search and select the &amp;ldquo;Execute Stored Procedure&amp;rdquo; plug-in.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Dependents&amp;rdquo; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h2 id="upgrading_executestoredprocedure"&gt;&lt;strong&gt;Upgrading &lt;em&gt;executeStoredProcedure&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Like the plug-in function,&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;should not be used to execute stored procedures that modify data. Doing so can have&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Expressions.html#functions-and-side-effects"&gt;unintended side effects&lt;/a&gt;! If you&amp;rsquo;re relying on this unsupported behavior to execute a stored procedure that modifies data, we&amp;rsquo;re excited to introduce you to the new&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave&lt;/i&gt;&lt;/a&gt;&amp;nbsp;smart service function. Using this function, you can safely execute stored procedures that modify data from an interface.&lt;/p&gt;
&lt;p&gt;Upgrading to the Appian execute stored procedure functions is super easy. In most cases it will be as simple as changing the function name.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update the function name from&amp;nbsp;&lt;i&gt;fn!executeStoredProcedure&lt;/i&gt;&amp;nbsp;to&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Change the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;parameter to&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;The&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;function requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Test the expression.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="upgrading_execute_stored_procedure_smart_service_nodes"&gt;&lt;strong&gt;Upgrading execute stored procedure smart service nodes&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To upgrade execute stored procedure process model nodes, we recommend copying the properties from the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/process-model-object.html#viewing-process-model-documentation"&gt;process model documentation&lt;/a&gt;&amp;nbsp;in a separate window and following the instructions below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Drag and drop a new &amp;ldquo;Execute Stored Procedure&amp;rdquo; node into the process model next to the deprecated execute stored procedure plug-in node.&lt;/li&gt;
&lt;li&gt;In the process model documentation, find the execute stored procedure plug-in node properties.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Copy each property from the process model documentation of the deprecated node. Note that the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;input will need to be copied into&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. The new execute stored procedure&amp;nbsp;smart service requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to as custom inputs. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;Remove the deprecated process model node.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Test the process model.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: database, Architecture, plugins&lt;/div&gt;
</description></item><item><title>Upgrade from Execute Stored Procedure Plug-in to OOTB Features</title><link>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features/revision/7</link><pubDate>Wed, 01 Nov 2023 17:20:28 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a960a78b-88bd-4293-b6f0-ee79f77467bd</guid><dc:creator>matt.cosenza</dc:creator><comments>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features#comments</comments><description>Revision 7 posted to Guide by matt.cosenza on 11/1/2023 5:20:28 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="introduction"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In version 22.1 Appian released support for executing stored procedures out-of-the-box using &lt;a href="https://docs.appian.com/suite/help/latest/fnc_system_a_executestoredprocedureforquery.html"&gt;a!executeStoredProcedureForQuery()&lt;/a&gt;, &lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave()&lt;/i&gt;&lt;/a&gt;, or the &lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;Execute Stored Procedure Smart Service&lt;/a&gt;. With this release, the Execute Stored Procedure plug-in was deprecated. Below is a guide for how you can upgrade the deprecated plug-in function calls and smart service nodes to the fully supported features. &lt;b&gt;Note that this guide does not guarantee the success of your updates. All updates should be tested thoroughly.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;When upgrading, keep in mind the following backwards compatibility considerations:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Appian Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Plug-in Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Result sets exceeding the max result set size of 1000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;For stored procedures that return multiple result sets, results exceeding the cumulative max size of 10,000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum cumulative result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when duplicate or empty column names are found.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Columns with duplicate names are silently truncated. Empty column names are allowed.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when IN or INOUT parameters are not passed in&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Missing IN and INOUT parameters are defaulted to null.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Supports&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html"&gt;data source connected systems&lt;/a&gt;&amp;nbsp;and admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Supports only admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optionally, the fully supported&amp;nbsp;Appian Execute Stored Procedure functions and smart service can be used with data source connected systems, which allow you to apply role map security to your data sources.&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html#migrating-data-sources-from-the-administration-console"&gt;Migrating&lt;/a&gt;&amp;nbsp;from an admin console data source to a data source connected system is simple. From the Appian designer click to create a new connected system object, copy the connection details, and apply&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Connected_System_Object.html#security"&gt;security&lt;/a&gt;. To execute stored procedures using the new data source connected system you&amp;rsquo;ll also need to create a connected system constant.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="create a data source connected system" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/3187.connected_5F00_system_5F00_creation.gif" /&gt;&lt;/div&gt;
&lt;h2 id="finding_all_plug-in_usage_for_a_site"&gt;&lt;strong&gt;Finding all plug-in usage for a site&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To find each instance that the Execute Stored Procedure plug-in is used, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &amp;ldquo;OBJECTS&amp;rdquo; page in the Appian Designer and select the &amp;ldquo;PLUG-INS&amp;rdquo; tab.&lt;/li&gt;
&lt;li&gt;Search and select the &amp;ldquo;Execute Stored Procedure&amp;rdquo; plug-in.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Dependents&amp;rdquo; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="discover plugin dependencies" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/5050.open_5F00_plugin_5F00_dependents.gif" /&gt;&lt;/div&gt;
&lt;h2 id="upgrading_executestoredprocedure"&gt;&lt;strong&gt;Upgrading &lt;em&gt;executeStoredProcedure&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Like the plug-in function,&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;should not be used to execute stored procedures that modify data. Doing so can have&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Expressions.html#functions-and-side-effects"&gt;unintended side effects&lt;/a&gt;! If you&amp;rsquo;re relying on this unsupported behavior to execute a stored procedure that modifies data, we&amp;rsquo;re excited to introduce you to the new&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave&lt;/i&gt;&lt;/a&gt;&amp;nbsp;smart service function. Using this function, you can safely execute stored procedures that modify data from an interface.&lt;/p&gt;
&lt;p&gt;Upgrading to the Appian execute stored procedure functions is super easy. In most cases it will be as simple as changing the function name.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update the function name from&amp;nbsp;&lt;i&gt;fn!executeStoredProcedure&lt;/i&gt;&amp;nbsp;to&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Change the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;parameter to&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;The&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;function requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Test the expression.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="upgrading_execute_stored_procedure_smart_service_nodes"&gt;&lt;strong&gt;Upgrading execute stored procedure smart service nodes&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To upgrade execute stored procedure process model nodes, we recommend copying the properties from the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/process-model-object.html#viewing-process-model-documentation"&gt;process model documentation&lt;/a&gt;&amp;nbsp;in a separate window and following the instructions below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Drag and drop a new &amp;ldquo;Execute Stored Procedure&amp;rdquo; node into the process model next to the deprecated execute stored procedure plug-in node.&lt;/li&gt;
&lt;li&gt;In the process model documentation, find the execute stored procedure plug-in node properties.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="replace deprecated node (part 1)" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/6327.open_5F00_deprecated_5F00_node_5F00_documentation.gif" /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Copy each property from the process model documentation of the deprecated node. Note that the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;input will need to be copied into&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. The new execute stored procedure&amp;nbsp;smart service requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to as custom inputs. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;Remove the deprecated process model node.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="replace deprecated node (part 2)" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/4162.copy_5F00_and_5F00_delete_5F00_esp_5F00_plugin_5F00_node.gif" /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Test the process model.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: database, Architecture, plugins&lt;/div&gt;
</description></item><item><title>Upgrade from Execute Stored Procedure Plug-in to OOTB Features</title><link>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features/revision/6</link><pubDate>Wed, 01 Nov 2023 17:20:17 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a960a78b-88bd-4293-b6f0-ee79f77467bd</guid><dc:creator>matt.cosenza</dc:creator><comments>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features#comments</comments><description>Revision 6 posted to Guide by matt.cosenza on 11/1/2023 5:20:17 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="introduction"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In version 22.1 Appian released support for executing stored procedures out-of-the-box using&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_system_a_executestoredprocedureforquery.html"&gt;&lt;i&gt;a!executeStoredProcedureForQuery()&lt;/i&gt;&lt;/a&gt;&lt;i&gt;,&amp;nbsp;&lt;/i&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave()&lt;/i&gt;&lt;/a&gt;, or the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;Execute Stored Procedure Smart Service&lt;/a&gt;. With this release, the Execute Stored Procedure plug-in was deprecated. Below is a guide for how you can upgrade the deprecated plug-in function calls and smart service nodes to the fully supported features.&amp;nbsp;&lt;b&gt;Note that this guide does not guarantee the success of your updates. All updates should be tested thoroughly.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;When upgrading, keep in mind the following backwards compatibility considerations:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Appian Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Plug-in Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Result sets exceeding the max result set size of 1000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;For stored procedures that return multiple result sets, results exceeding the cumulative max size of 10,000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum cumulative result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when duplicate or empty column names are found.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Columns with duplicate names are silently truncated. Empty column names are allowed.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when IN or INOUT parameters are not passed in&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Missing IN and INOUT parameters are defaulted to null.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Supports&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html"&gt;data source connected systems&lt;/a&gt;&amp;nbsp;and admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Supports only admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optionally, the fully supported&amp;nbsp;Appian Execute Stored Procedure functions and smart service can be used with data source connected systems, which allow you to apply role map security to your data sources.&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html#migrating-data-sources-from-the-administration-console"&gt;Migrating&lt;/a&gt;&amp;nbsp;from an admin console data source to a data source connected system is simple. From the Appian designer click to create a new connected system object, copy the connection details, and apply&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Connected_System_Object.html#security"&gt;security&lt;/a&gt;. To execute stored procedures using the new data source connected system you&amp;rsquo;ll also need to create a connected system constant.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="create a data source connected system" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/3187.connected_5F00_system_5F00_creation.gif" /&gt;&lt;/div&gt;
&lt;h2 id="finding_all_plug-in_usage_for_a_site"&gt;&lt;strong&gt;Finding all plug-in usage for a site&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To find each instance that the Execute Stored Procedure plug-in is used, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &amp;ldquo;OBJECTS&amp;rdquo; page in the Appian Designer and select the &amp;ldquo;PLUG-INS&amp;rdquo; tab.&lt;/li&gt;
&lt;li&gt;Search and select the &amp;ldquo;Execute Stored Procedure&amp;rdquo; plug-in.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Dependents&amp;rdquo; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="discover plugin dependencies" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/5050.open_5F00_plugin_5F00_dependents.gif" /&gt;&lt;/div&gt;
&lt;h2 id="upgrading_executestoredprocedure"&gt;&lt;strong&gt;Upgrading &lt;em&gt;executeStoredProcedure&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Like the plug-in function,&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;should not be used to execute stored procedures that modify data. Doing so can have&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Expressions.html#functions-and-side-effects"&gt;unintended side effects&lt;/a&gt;! If you&amp;rsquo;re relying on this unsupported behavior to execute a stored procedure that modifies data, we&amp;rsquo;re excited to introduce you to the new&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave&lt;/i&gt;&lt;/a&gt;&amp;nbsp;smart service function. Using this function, you can safely execute stored procedures that modify data from an interface.&lt;/p&gt;
&lt;p&gt;Upgrading to the Appian execute stored procedure functions is super easy. In most cases it will be as simple as changing the function name.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update the function name from&amp;nbsp;&lt;i&gt;fn!executeStoredProcedure&lt;/i&gt;&amp;nbsp;to&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Change the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;parameter to&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;The&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;function requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Test the expression.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="upgrading_execute_stored_procedure_smart_service_nodes"&gt;&lt;strong&gt;Upgrading execute stored procedure smart service nodes&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To upgrade execute stored procedure process model nodes, we recommend copying the properties from the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/process-model-object.html#viewing-process-model-documentation"&gt;process model documentation&lt;/a&gt;&amp;nbsp;in a separate window and following the instructions below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Drag and drop a new &amp;ldquo;Execute Stored Procedure&amp;rdquo; node into the process model next to the deprecated execute stored procedure plug-in node.&lt;/li&gt;
&lt;li&gt;In the process model documentation, find the execute stored procedure plug-in node properties.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="replace deprecated node (part 1)" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/6327.open_5F00_deprecated_5F00_node_5F00_documentation.gif" /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Copy each property from the process model documentation of the deprecated node. Note that the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;input will need to be copied into&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. The new execute stored procedure&amp;nbsp;smart service requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to as custom inputs. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;Remove the deprecated process model node.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="replace deprecated node (part 2)" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/4162.copy_5F00_and_5F00_delete_5F00_esp_5F00_plugin_5F00_node.gif" /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Test the process model.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Upgrade from Execute Stored Procedure Plug-in to OOTB Features</title><link>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features/revision/5</link><pubDate>Tue, 17 Oct 2023 20:18:19 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a960a78b-88bd-4293-b6f0-ee79f77467bd</guid><dc:creator>matt.cosenza</dc:creator><comments>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features#comments</comments><description>Revision 5 posted to Guide by matt.cosenza on 10/17/2023 8:18:19 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="introduction"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In version 22.1 Appian released support for executing stored procedures out-of-the-box using&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_system_a_executestoredprocedureforquery.html"&gt;&lt;i&gt;a!executeStoredProcedureForQuery()&lt;/i&gt;&lt;/a&gt;&lt;i&gt;,&amp;nbsp;&lt;/i&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave()&lt;/i&gt;&lt;/a&gt;, or the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;Execute Stored Procedure Smart Service&lt;/a&gt;. With this release, the Execute Stored Procedure plug-in was deprecated. Below is a guide for how you can upgrade the deprecated plug-in function calls and smart service nodes to the fully supported features.&amp;nbsp;&lt;b&gt;Note that this guide does not guarantee the success of your updates. All updates should be tested thoroughly.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;When upgrading, keep in mind the following backwards compatibility considerations:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Appian Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Plug-in Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Result sets exceeding the max result set size of 1000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;For stored procedures that return multiple result sets, results exceeding the cumulative max size of 10,000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum cumulative result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when duplicate or empty column names are found.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Columns with duplicate names are silently truncated. Empty column names are allowed.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when IN or INOUT parameters are not passed in&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Missing IN and INOUT parameters are defaulted to null.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Supports&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html"&gt;data source connected systems&lt;/a&gt;&amp;nbsp;and admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Supports only admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optionally, the fully supported&amp;nbsp;Appian Execute Stored Procedure functions and smart service can be used with data source connected systems, which allow you to apply role map security to your data sources.&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html#migrating-data-sources-from-the-administration-console"&gt;Migrating&lt;/a&gt;&amp;nbsp;from an admin console data source to a data source connected system is simple. From the Appian designer click to create a new connected system object, copy the connection details, and apply&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Connected_System_Object.html#security"&gt;security&lt;/a&gt;. To execute stored procedures using the new data source connected system you&amp;rsquo;ll also need to create a connected system constant.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h2 id="finding_all_plug-in_usage_for_a_site"&gt;&lt;strong&gt;Finding all plug-in usage for a site&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To find each instance that the Execute Stored Procedure plug-in is used, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &amp;ldquo;OBJECTS&amp;rdquo; page in the Appian Designer and select the &amp;ldquo;PLUG-INS&amp;rdquo; tab.&lt;/li&gt;
&lt;li&gt;Search and select the &amp;ldquo;Execute Stored Procedure&amp;rdquo; plug-in.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Dependents&amp;rdquo; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h2 id="upgrading_executestoredprocedure"&gt;&lt;strong&gt;Upgrading &lt;em&gt;executeStoredProcedure&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Like the plug-in function,&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;should not be used to execute stored procedures that modify data. Doing so can have&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Expressions.html#functions-and-side-effects"&gt;unintended side effects&lt;/a&gt;! If you&amp;rsquo;re relying on this unsupported behavior to execute a stored procedure that modifies data, we&amp;rsquo;re excited to introduce you to the new&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave&lt;/i&gt;&lt;/a&gt;&amp;nbsp;smart service function. Using this function, you can safely execute stored procedures that modify data from an interface.&lt;/p&gt;
&lt;p&gt;Upgrading to the Appian execute stored procedure functions is super easy. In most cases it will be as simple as changing the function name.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update the function name from&amp;nbsp;&lt;i&gt;fn!executeStoredProcedure&lt;/i&gt;&amp;nbsp;to&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Change the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;parameter to&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;The&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;function requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Test the expression.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="upgrading_execute_stored_procedure_smart_service_nodes"&gt;&lt;strong&gt;Upgrading execute stored procedure smart service nodes&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To upgrade execute stored procedure process model nodes, we recommend copying the properties from the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/process-model-object.html#viewing-process-model-documentation"&gt;process model documentation&lt;/a&gt;&amp;nbsp;in a separate window and following the instructions below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Drag and drop a new &amp;ldquo;Execute Stored Procedure&amp;rdquo; node into the process model next to the deprecated execute stored procedure plug-in node.&lt;/li&gt;
&lt;li&gt;In the process model documentation, find the execute stored procedure plug-in node properties.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Copy each property from the process model documentation of the deprecated node. Note that the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;input will need to be copied into&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. The new execute stored procedure&amp;nbsp;smart service requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to as custom inputs. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;Remove the deprecated process model node.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Test the process model.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Upgrade from Execute Stored Procedure Plug-in to OOTB Features</title><link>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features/revision/4</link><pubDate>Tue, 17 Oct 2023 20:15:47 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a960a78b-88bd-4293-b6f0-ee79f77467bd</guid><dc:creator>matt.cosenza</dc:creator><comments>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features#comments</comments><description>Revision 4 posted to Guide by matt.cosenza on 10/17/2023 8:15:47 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="introduction"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In version 22.1 Appian released support for executing stored procedures out-of-the-box using&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_system_a_executestoredprocedureforquery.html"&gt;&lt;i&gt;a!executeStoredProcedureForQuery()&lt;/i&gt;&lt;/a&gt;&lt;i&gt;,&amp;nbsp;&lt;/i&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave()&lt;/i&gt;&lt;/a&gt;, or the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;Execute Stored Procedure Smart Service&lt;/a&gt;. With this release, the Execute Stored Procedure plug-in was deprecated. Below is a guide for how you can upgrade the deprecated plug-in function calls and smart service nodes to the fully supported features.&amp;nbsp;&lt;b&gt;Note that this guide does not guarantee the success of your updates. All updates should be tested thoroughly.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;When upgrading, keep in mind the following backwards compatibility considerations:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Appian Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Plug-in Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Result sets exceeding the max result set size of 1000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;For stored procedures that return multiple result sets, results exceeding the cumulative max size of 10,000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum cumulative result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when duplicate or empty column names are found.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Columns with duplicate names are silently truncated. Empty column names are allowed.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when IN or INOUT parameters are not passed in&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Missing IN and INOUT parameters are defaulted to null.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Supports&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html"&gt;data source connected systems&lt;/a&gt;&amp;nbsp;and admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Supports only admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optionally, the fully supported&amp;nbsp;Appian Execute Stored Procedure functions and smart service can be used with data source connected systems, which allow you to apply role map security to your data sources.&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html#migrating-data-sources-from-the-administration-console"&gt;Migrating&lt;/a&gt;&amp;nbsp;from an admin console data source to a data source connected system is simple. From the Appian designer click to create a new connected system object, copy the connection details, and apply&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Connected_System_Object.html#security"&gt;security&lt;/a&gt;. To execute stored procedures using the new data source connected system you&amp;rsquo;ll also need to create a connected system constant.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h2 id="finding_all_plug-in_usage_for_a_site"&gt;&lt;strong&gt;Finding all plug-in usage for a site&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To find each instance that the Execute Stored Procedure plug-in is used, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &amp;ldquo;OBJECTS&amp;rdquo; page in the Appian Designer and select the &amp;ldquo;PLUG-INS&amp;rdquo; tab.&lt;/li&gt;
&lt;li&gt;Search and select the &amp;ldquo;Execute Stored Procedure&amp;rdquo; plug-in.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Dependents&amp;rdquo; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h2 id="upgrading_fnexecutestoredprocedure"&gt;&lt;strong&gt;Upgrading &lt;em&gt;fnexecuteStoredProcedure&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Like the plug-in function,&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;should not be used to execute stored procedures that modify data. Doing so can have&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Expressions.html#functions-and-side-effects"&gt;unintended side effects&lt;/a&gt;! If you&amp;rsquo;re relying on this unsupported behavior to execute a stored procedure that modifies data, we&amp;rsquo;re excited to introduce you to the new&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave&lt;/i&gt;&lt;/a&gt;&amp;nbsp;smart service function. Using this function, you can safely execute stored procedures that modify data from an interface.&lt;/p&gt;
&lt;p&gt;Upgrading to the Appian execute stored procedure functions is super easy. In most cases it will be as simple as changing the function name.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update the function name from&amp;nbsp;&lt;i&gt;fn!executeStoredProcedure&lt;/i&gt;&amp;nbsp;to&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Change the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;parameter to&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;The&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;function requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Test the expression.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="upgrading_execute_stored_procedure_smart_service_nodes"&gt;&lt;strong&gt;Upgrading execute stored procedure smart service nodes&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To upgrade execute stored procedure process model nodes, we recommend copying the properties from the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/process-model-object.html#viewing-process-model-documentation"&gt;process model documentation&lt;/a&gt;&amp;nbsp;in a separate window and following the instructions below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Drag and drop a new &amp;ldquo;Execute Stored Procedure&amp;rdquo; node into the process model next to the deprecated execute stored procedure plug-in node.&lt;/li&gt;
&lt;li&gt;In the process model documentation, find the execute stored procedure plug-in node properties.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Copy each property from the process model documentation of the deprecated node. Note that the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;input will need to be copied into&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. The new execute stored procedure&amp;nbsp;smart service requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to as custom inputs. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;Remove the deprecated process model node.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Test the process model.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Upgrade from Execute Stored Procedure Plug-in to OOTB Features</title><link>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features/revision/3</link><pubDate>Tue, 17 Oct 2023 20:14:57 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a960a78b-88bd-4293-b6f0-ee79f77467bd</guid><dc:creator>matt.cosenza</dc:creator><comments>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features#comments</comments><description>Revision 3 posted to Guide by matt.cosenza on 10/17/2023 8:14:57 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="introduction"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In version 22.1 Appian released support for executing stored procedures out-of-the-box using&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/fnc_system_a_executestoredprocedureforquery.html"&gt;&lt;i&gt;a!executeStoredProcedureForQuery()&lt;/i&gt;&lt;/a&gt;&lt;i&gt;,&amp;nbsp;&lt;/i&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave()&lt;/i&gt;&lt;/a&gt;, or the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;Execute Stored Procedure Smart Service&lt;/a&gt;. With this release, the Execute Stored Procedure plug-in was deprecated. Below is a guide for how you can upgrade the deprecated plug-in function calls and smart service nodes to the fully supported features.&amp;nbsp;&lt;b&gt;Note that this guide does not guarantee the success of your updates. All updates should be tested thoroughly.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;When upgrading, keep in mind the following backwards compatibility considerations:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Appian Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Plug-in Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Result sets exceeding the max result set size of 1000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;For stored procedures that return multiple result sets, results exceeding the cumulative max size of 10,000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum cumulative result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when duplicate or empty column names are found.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Columns with duplicate names are silently truncated. Empty column names are allowed.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when IN or INOUT parameters are not passed in&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Missing IN and INOUT parameters are defaulted to null.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Supports&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html"&gt;data source connected systems&lt;/a&gt;&amp;nbsp;and admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Supports only admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optionally, the fully supported&amp;nbsp;Appian Execute Stored Procedure functions and smart service can be used with data source connected systems, which allow you to apply role map security to your data sources.&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/data-source-connected-systems.html#migrating-data-sources-from-the-administration-console"&gt;Migrating&lt;/a&gt;&amp;nbsp;from an admin console data source to a data source connected system is simple. From the Appian designer click to create a new connected system object, copy the connection details, and apply&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Connected_System_Object.html#security"&gt;security&lt;/a&gt;. To execute stored procedures using the new data source connected system you&amp;rsquo;ll also need to create a connected system constant.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h2 id="finding_all_plug-in_usage_for_a_site"&gt;&lt;strong&gt;Finding all plug-in usage for a site&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To find each instance that the Execute Stored Procedure plug-in is used, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &amp;ldquo;OBJECTS&amp;rdquo; page in the Appian Designer and select the &amp;ldquo;PLUG-INS&amp;rdquo; tab.&lt;/li&gt;
&lt;li&gt;Search and select the &amp;ldquo;Execute Stored Procedure&amp;rdquo; plug-in.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Dependents&amp;rdquo; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h2 id="upgrading_fn!executestoredprocedure"&gt;&lt;strong&gt;Upgrading &lt;em&gt;fn!executeStoredProcedure&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Like the plug-in function,&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;should not be used to execute stored procedures that modify data. Doing so can have&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Expressions.html#functions-and-side-effects"&gt;unintended side effects&lt;/a&gt;! If you&amp;rsquo;re relying on this unsupported behavior to execute a stored procedure that modifies data, we&amp;rsquo;re excited to introduce you to the new&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave&lt;/i&gt;&lt;/a&gt;&amp;nbsp;smart service function. Using this function, you can safely execute stored procedures that modify data from an interface.&lt;/p&gt;
&lt;p&gt;Upgrading to the Appian execute stored procedure functions is super easy. In most cases it will be as simple as changing the function name.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update the function name from&amp;nbsp;&lt;i&gt;fn!executeStoredProcedure&lt;/i&gt;&amp;nbsp;to&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Change the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;parameter to&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;The&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;function requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Test the expression.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="upgrading_execute_stored_procedure_smart_service_nodes"&gt;&lt;strong&gt;Upgrading execute stored procedure smart service nodes&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To upgrade execute stored procedure process model nodes, we recommend copying the properties from the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/process-model-object.html#viewing-process-model-documentation"&gt;process model documentation&lt;/a&gt;&amp;nbsp;in a separate window and following the instructions below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Drag and drop a new &amp;ldquo;Execute Stored Procedure&amp;rdquo; node into the process model next to the deprecated execute stored procedure plug-in node.&lt;/li&gt;
&lt;li&gt;In the process model documentation, find the execute stored procedure plug-in node properties.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Copy each property from the process model documentation of the deprecated node. Note that the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;input will need to be copied into&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. The new execute stored procedure&amp;nbsp;smart service requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to as custom inputs. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;Remove the deprecated process model node.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Test the process model.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Upgrade from Execute Stored Procedure Plug-in to OOTB Features</title><link>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features/revision/2</link><pubDate>Tue, 17 Oct 2023 20:03:16 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a960a78b-88bd-4293-b6f0-ee79f77467bd</guid><dc:creator>matt.cosenza</dc:creator><comments>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features#comments</comments><description>Revision 2 posted to Guide by matt.cosenza on 10/17/2023 8:03:16 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h3&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;In version 22.1 Appian released support for executing stored procedures out-of-the-box using&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/22.1/fnc_system_a_executestoredprocedureforquery.html"&gt;&lt;i&gt;a!executeStoredProcedureForQuery()&lt;/i&gt;&lt;/a&gt;&lt;i&gt;,&amp;nbsp;&lt;/i&gt;&lt;a href="https://docs.appian.com/suite/help/22.1/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave()&lt;/i&gt;&lt;/a&gt;, or the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/22.1/Execute_Stored_Procedure_Smart_Service.html"&gt;Execute Stored Procedure Smart Service&lt;/a&gt;. With this release, the Execute Stored Procedure plug-in was deprecated. Below is a guide for how you can upgrade the deprecated plug-in function calls and smart service nodes to the fully supported features.&amp;nbsp;&lt;b&gt;Note that this guide does not guarantee the success of your updates. All updates should be tested thoroughly.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;When upgrading, keep in mind the following backwards compatibility considerations:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Appian Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Plug-in Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Result sets exceeding the max result set size of 1000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;For stored procedures that return multiple result sets, results exceeding the cumulative max size of 10,000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum cumulative result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when duplicate or empty column names are found.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Columns with duplicate names are silently truncated. Empty column names are allowed.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when IN or INOUT parameters are not passed in&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Missing IN and INOUT parameters are defaulted to null.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Supports&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/21.4/data-source-connected-systems.html"&gt;data source connected systems&lt;/a&gt;&amp;nbsp;and admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Supports only admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optionally, the fully supported&amp;nbsp;Appian Execute Stored Procedure functions and smart service can be used with data source connected systems, which allow you to apply role map security to your data sources.&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/22.1/data-source-connected-systems.html#migrating-data-sources-from-the-administration-console"&gt;Migrating&lt;/a&gt;&amp;nbsp;from an admin console data source to a data source connected system is simple. From the Appian designer click to create a new connected system object, copy the connection details, and apply&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/21.4/Connected_System_Object.html#security"&gt;security&lt;/a&gt;. To execute stored procedures using the new data source connected system you&amp;rsquo;ll also need to create a connected system constant.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;Finding all plug-in usage for a site&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;To find each instance that the Execute Stored Procedure plug-in is used, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &amp;ldquo;OBJECTS&amp;rdquo; page in the Appian Designer and select the &amp;ldquo;PLUG-INS&amp;rdquo; tab.&lt;/li&gt;
&lt;li&gt;Search and select the &amp;ldquo;Execute Stored Procedure&amp;rdquo; plug-in.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Dependents&amp;rdquo; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;Upgrading&amp;nbsp;&lt;em&gt;fn!executeStoredProcedure&lt;/em&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Like the plug-in function,&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;should not be used to execute stored procedures that modify data. Doing so can have&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/22.1/Expressions.html#functions-and-side-effects"&gt;unintended side effects&lt;/a&gt;! If you&amp;rsquo;re relying on this unsupported behavior to execute a stored procedure that modifies data, we&amp;rsquo;re excited to introduce you to the new&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/22.1/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave&lt;/i&gt;&lt;/a&gt;&amp;nbsp;smart service function. Using this function, you can safely execute stored procedures that modify data from an interface.&lt;/p&gt;
&lt;p&gt;Upgrading to the Appian execute stored procedure functions is super easy. In most cases it will be as simple as changing the function name.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update the function name from&amp;nbsp;&lt;i&gt;fn!executeStoredProcedure&lt;/i&gt;&amp;nbsp;to&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Change the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;parameter to&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;The&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;function requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Test the expression.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;strong&gt;Upgrading&amp;nbsp;execute stored procedure smart service nodes&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;To upgrade execute stored procedure process model nodes, we recommend copying the properties from the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/21.4/process-model-object.html#viewing-process-model-documentation"&gt;process model documentation&lt;/a&gt;&amp;nbsp;in a separate window and following the instructions below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Drag and drop a new &amp;ldquo;Execute Stored Procedure&amp;rdquo; node into the process model next to the deprecated execute stored procedure plug-in node.&lt;/li&gt;
&lt;li&gt;In the process model documentation, find the execute stored procedure plug-in node properties.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Copy each property from the process model documentation of the deprecated node. Note that the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;input will need to be copied into&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. The new execute stored procedure&amp;nbsp;smart service requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to as custom inputs. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;Remove the deprecated process model node.
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Test the process model.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Upgrade from Execute Stored Procedure Plug-in to OOTB Features</title><link>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features/revision/1</link><pubDate>Wed, 06 Sep 2023 13:38:15 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a960a78b-88bd-4293-b6f0-ee79f77467bd</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3267/upgrade-from-execute-stored-procedure-plug-in-to-ootb-features#comments</comments><description>Revision 1 posted to Guide by joel.larin on 9/6/2023 1:38:15 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h3&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;In version 22.1 Appian released support for executing stored procedures out-of-the-box using&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/22.1/fnc_system_a_executestoredprocedureforquery.html"&gt;&lt;i&gt;a!executeStoredProcedureForQuery()&lt;/i&gt;&lt;/a&gt;&lt;i&gt;,&amp;nbsp;&lt;/i&gt;&lt;a href="https://docs.appian.com/suite/help/22.1/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave()&lt;/i&gt;&lt;/a&gt;, or the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/22.1/Execute_Stored_Procedure_Smart_Service.html"&gt;Execute Stored Procedure Smart Service&lt;/a&gt;. With this release, the Execute Stored Procedure plug-in was deprecated. Below is a guide for how you can upgrade the deprecated plug-in function calls and smart service nodes to the fully supported features.&amp;nbsp;&lt;b&gt;Note that this guide does not guarantee the success of your updates. All updates should be tested thoroughly.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;When upgrading, keep in mind the following backwards compatibility considerations:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Appian Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Plug-in Execute Stored Procedure Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Result sets exceeding the max result set size of 1000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;For stored procedures that return multiple result sets, results exceeding the cumulative max size of 10,000 rows are truncated.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;No maximum cumulative result set size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when duplicate or empty column names are found.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Columns with duplicate names are silently truncated. Empty column names are allowed.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Error returned when IN or INOUT parameters are not passed in&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Missing IN and INOUT parameters are defaulted to null.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Supports&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/21.4/data-source-connected-systems.html"&gt;data source connected systems&lt;/a&gt;&amp;nbsp;and admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Supports only admin console data sources.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optionally, the fully supported&amp;nbsp;Appian Execute Stored Procedure functions and smart service can be used with data source connected systems, which allow you to apply role map security to your data sources.&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/22.1/data-source-connected-systems.html#migrating-data-sources-from-the-administration-console"&gt;Migrating&lt;/a&gt;&amp;nbsp;from an admin console data source to a data source connected system is simple. From the Appian designer click to create a new connected system object, copy the connection details, and apply&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/21.4/Connected_System_Object.html#security"&gt;security&lt;/a&gt;. To execute stored procedures using the new data source connected system you&amp;rsquo;ll also need to create a connected system constant.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="create a data source connected system" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/connected_5F00_system_5F00_creation.gif" /&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;Finding all plug-in usage for a site&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;To find each instance that the Execute Stored Procedure plug-in is used, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &amp;ldquo;OBJECTS&amp;rdquo; page in the Appian Designer and select the &amp;ldquo;PLUG-INS&amp;rdquo; tab.&lt;/li&gt;
&lt;li&gt;Search and select the &amp;ldquo;Execute Stored Procedure&amp;rdquo; plug-in.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Dependents&amp;rdquo; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="discover plugin dependencies" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/open_5F00_plugin_5F00_dependents.gif" /&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;Upgrading&amp;nbsp;&lt;em&gt;fn!executeStoredProcedure&lt;/em&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;Like the plug-in function,&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;should not be used to execute stored procedures that modify data. Doing so can have&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/22.1/Expressions.html#functions-and-side-effects"&gt;unintended side effects&lt;/a&gt;! If you&amp;rsquo;re relying on this unsupported behavior to execute a stored procedure that modifies data, we&amp;rsquo;re excited to introduce you to the new&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/22.1/Execute_Stored_Procedure_Smart_Service.html#a!executestoredprocedureonsave()"&gt;&lt;i&gt;a!executeStoredProcedureOnSave&lt;/i&gt;&lt;/a&gt;&amp;nbsp;smart service function. Using this function, you can safely execute stored procedures that modify data from an interface.&lt;/p&gt;
&lt;p&gt;Upgrading to the Appian execute stored procedure functions is super easy. In most cases it will be as simple as changing the function name.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update the function name from&amp;nbsp;&lt;i&gt;fn!executeStoredProcedure&lt;/i&gt;&amp;nbsp;to&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Change the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;parameter to&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;The&amp;nbsp;&lt;i&gt;a!executeStoredProcedureForQuery&lt;/i&gt;&amp;nbsp;function requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to&amp;nbsp;&lt;i&gt;inputs&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Test the expression.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Upgrading&amp;nbsp;execute stored procedure smart service nodes&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;To upgrade execute stored procedure process model nodes, we recommend copying the properties from the&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/21.4/process-model-object.html#viewing-process-model-documentation"&gt;process model documentation&lt;/a&gt;&amp;nbsp;in a separate window and following the instructions below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Drag and drop a new &amp;ldquo;Execute Stored Procedure&amp;rdquo; node into the process model next to the deprecated execute stored procedure plug-in node.&lt;/li&gt;
&lt;li&gt;In the process model documentation, find the execute stored procedure plug-in node properties.&lt;br /&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="replace deprecated node (part 1)" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/open_5F00_deprecated_5F00_node_5F00_documentation.gif" /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Copy each property from the process model documentation of the deprecated node. Note that the&amp;nbsp;&lt;i&gt;dataSourceName&lt;/i&gt;&amp;nbsp;input will need to be copied into&amp;nbsp;&lt;i&gt;dataSource&lt;/i&gt;. The new execute stored procedure&amp;nbsp;smart service requires all IN and INOUT parameters to be defined. If you have any missing IN or INOUT parameters, add them to as custom inputs. If you are upgrading to use a new data source connected system, use the connected system constant instead of copying the name of the admin console data source.&lt;/li&gt;
&lt;li&gt;Remove the deprecated process model node.&lt;br /&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="replace deprecated node (part 2)" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-46/copy_5F00_and_5F00_delete_5F00_esp_5F00_plugin_5F00_node.gif" /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Test the process model.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>