<?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/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>About Transaction Management</title><link>https://community.appian.com/discussions/f/data/28873/about-transaction-management</link><description>We would like to use Smart Service to delete records from the DSE (Data Store Entity) and create records according to the input received from the screen. In this case, will the Delete and Write transactions be separated? For example, if Write after Delete</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/141752?ContentTypeID=1</link><pubDate>Wed, 16 Oct 2024 14:52:17 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:5becca1c-d02b-418f-8baa-0c6a1fc1ea91</guid><dc:creator>Prasanna</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I have a similar requirement and may I know what was the approach used to handle this requirement ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is Stored procedure is the&amp;nbsp; best way to handle this or is there any better approach to do in Appian process itself ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113867?ContentTypeID=1</link><pubDate>Wed, 07 Jun 2023 10:59:14 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:1e51d98f-77c3-435e-a0c4-0796cf4db253</guid><dc:creator>Stefan Helzle</dc:creator><description>&lt;p&gt;Agreed. Tools have a specific purpose and should be used accordingly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113866?ContentTypeID=1</link><pubDate>Wed, 07 Jun 2023 10:06:26 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:de794b3d-e9d6-4819-a557-a0850f577a44</guid><dc:creator>Stewart Burchell</dc:creator><description>&lt;p&gt;Understood and appreciate where you&amp;#39;re coming from. We have to recognize the alternate danger of trying to do everything in Appian even when it doesn&amp;#39;t meet the actual need as I feel this example highlights.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113864?ContentTypeID=1</link><pubDate>Wed, 07 Jun 2023 09:47:58 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:0cd6d4e5-d759-47e4-8b5c-a1c50e056f10</guid><dc:creator>Stefan Helzle</dc:creator><description>&lt;p&gt;LOL. I appreciate that you disagree. And the pattern I described does not fit all scenarios.&lt;/p&gt;
&lt;p&gt;I try to keep as much logic as possible inside Appian and only offload to external systems, which includes the database, only when I have to. Now, when people join the Appian universe from a more database focused environment, some&amp;nbsp;try to stay with their old approaches and loose a lot from the simplicity of Appian.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113850?ContentTypeID=1</link><pubDate>Wed, 07 Jun 2023 08:19:30 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:710cee61-846e-4c02-a1ab-fdfa50a8e046</guid><dc:creator>Stewart Burchell</dc:creator><description>&lt;p&gt;&lt;a href="https://docs.appian.com/suite/help/23.2/Execute_Stored_Procedure_Smart_Service.html"&gt;docs.appian.com/.../Execute_Stored_Procedure_Smart_Service.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113849?ContentTypeID=1</link><pubDate>Wed, 07 Jun 2023 08:17:43 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a62572a8-5969-43a7-9b69-98c0370196a9</guid><dc:creator>Stewart Burchell</dc:creator><description>&lt;p&gt;Probably for the first time ever  I have to disagree with you. Here&amp;#39;s why;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Execute the Delete Smart Service - this works&lt;/li&gt;
&lt;li&gt;Execute the Write Smart Service - this fails&lt;/li&gt;
&lt;li&gt;(Now I have to design a rollback to write back to the DB the rows I just deleted.)&lt;/li&gt;
&lt;li&gt;I execute the rollback thread - this also fails&lt;/li&gt;
&lt;li&gt;Now I am (as we say here) in a complete muddle!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Until we get native &amp;quot;Begin Transaction&amp;quot; , &amp;quot;End Transaction&amp;quot;, &amp;quot;Rollback Transaction&amp;quot; commands that can bracket multiple Smart Services in an Appian Process then by far the safest and reliable method is to use the DB&amp;#39;s native functionality and incorporate this in a Stored Procedure.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113828?ContentTypeID=1</link><pubDate>Wed, 07 Jun 2023 02:02:27 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:c5ad9667-4775-42fd-8c31-910f57cf8019</guid><dc:creator>Meme02</dc:creator><description>&lt;p&gt;Thanks for the answer. I understand what you mean but in order to fulfill the request from the client we need to create many different tables to manage the data. I&amp;#39;m a little nervous when doing data write or delete in tables without transaction manager.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113827?ContentTypeID=1</link><pubDate>Wed, 07 Jun 2023 01:56:29 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:6fc8286f-6be7-40b6-b070-97811b95cde3</guid><dc:creator>Meme02</dc:creator><description>&lt;p&gt;Thanks for the answer. Is there any concrete example of how to use it on Appian. I didn&amp;#39;t find much useful information on how to use it nor how to feed information from the process variable to it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113826?ContentTypeID=1</link><pubDate>Wed, 07 Jun 2023 01:51:45 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:8d2eb1e5-b664-4c7c-980a-25bbc414e2ce</guid><dc:creator>Meme02</dc:creator><description>&lt;p&gt;My question is just one of the examples. We have multiple tables that need to be deleted or written at the same time. We&amp;#39;ve been thinking about Write to Multiple Data Store Entities but it seems to only allow writes, not deletes. So we have to separate delete and write in two. Then the deleete operation will not be recovered even if the later performed write operation fails. So I&amp;#39;m considering using Query DataBase to do both in one node. When one of the tasks in the node fails it returns an error and all the tasks in the node are not executed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113808?ContentTypeID=1</link><pubDate>Tue, 06 Jun 2023 12:57:27 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:14d4d719-a443-419d-afc9-f13c0fe2b8f5</guid><dc:creator>Stefan Helzle</dc:creator><description>&lt;p&gt;I my experience, it is a better approach to not make the database manage a transaction, but to look at the Appian process to be that instance.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113798?ContentTypeID=1</link><pubDate>Tue, 06 Jun 2023 11:38:23 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:8416ef76-8e7c-4541-834d-347b38149fde</guid><dc:creator>Stewart Burchell</dc:creator><description>&lt;p&gt;Alternatively you can write a Stored Procedure that conducts both Write and Delete operations in the scope of a single transaction and then invoke that from Appian. You&amp;#39;d need to detect any failures/rollbacks issued from the Stored Procedure and handle this in your process model so that the appropriate notification(s) and action(s) can be conducted.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113784?ContentTypeID=1</link><pubDate>Tue, 06 Jun 2023 09:39:11 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:6d0d98b6-704a-4443-a473-7eb479c6a112</guid><dc:creator>Harshit Bumb (Appyzie)</dc:creator><description>&lt;p&gt;Query Database smart service? Why you want to use that?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113774?ContentTypeID=1</link><pubDate>Tue, 06 Jun 2023 07:52:24 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:ff88fc7b-af4f-497d-af59-f3b2a01a0cbb</guid><dc:creator>Meme02</dc:creator><description>&lt;p&gt;Thank you for your reply. I&amp;#39;m thinking about query database, what about this？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About Transaction Management</title><link>https://community.appian.com/thread/113769?ContentTypeID=1</link><pubDate>Tue, 06 Jun 2023 06:58:27 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:2915beae-a7ae-41f8-97a5-2ea682716c73</guid><dc:creator>Harshit Bumb (Appyzie)</dc:creator><description>&lt;p&gt;You have to use two different services for the same.&amp;nbsp;&lt;br /&gt;For your use-case, you can create a process where you always keep a backup of what was deleted and what was inserted so you can insert the deleted ones and delete the inserted ones if the process fails.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>