<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/utility/FeedStylesheets/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>SharePoint Integration</title><link>https://www.infopathdev.com:443/forums/46.aspx</link><description> For questions concerning issues in the integration of SharePoint and Microsoft InfoPath.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Programatically reverting back to older version file in Forms Library</title><link>https://www.infopathdev.com:443/forums/thread/29380.aspx</link><pubDate>Fri, 13 Jun 2008 14:04:07 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:29380</guid><dc:creator>mehtavipulk</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/29380.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=46&amp;PostID=29380</wfw:commentRss><description>&lt;div&gt;&lt;font face="Tahoma" color="#000000" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma" color="#000000" size="2"&gt;Hi,&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;I have a requirement to save the InfoPath data in database. For any error occured while saving the data to database, I wanted to rollback the InfoPath form changes commited to Forms Library.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;To achive the above functionality, I implemented following approaches&amp;nbsp;(to achive the above functionality) in the insert &amp;amp; edit mode&amp;nbsp;of the InfoPath form&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;1. I set the versioning property&amp;nbsp;ON for the Forms Library&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;&lt;font face="tahoma"&gt;2. &lt;/font&gt;In the INSERT mode while inserting the data to DB if system encounters error,&amp;nbsp;I programatically tried&amp;nbsp;deleting the newly created .xml file from the SharePoint Forms Liabrary&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;3. In the&amp;nbsp;EDIT mode when there is any excpetion editing the data in DB, I programatically tried&amp;nbsp;deleting&amp;nbsp;the latest version of .xml file (which had the latest InfoPath form updates that are committed to Forms Library)&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma" size="2"&gt;In the process of deleting the latest version of .xml files I get following&amp;nbsp;error : &lt;strong&gt;Microsoft.SharePoint.SPException: Cannot delete the current version&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;To delete the latest version file, I have implemented the below logic:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPSite spSite = new SPSite(spSiteUrl);&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPWeb spWeb = spSite.RootWeb;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPListItem spForm = FindForm(spWeb, GetFormName(formName)); // .xml file name&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (spForm != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/font&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (spForm.Versions.Count &amp;gt;= 1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spForm.Versions[0].Delete();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/font&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;But I am able to successfully able to delete the lower version files but get&amp;nbsp;while deleting the latest version file I get the above&amp;nbsp;error&lt;strong&gt;.&lt;/strong&gt; To avoid the&amp;nbsp;SPException, am I missing some setting in my above code?&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;font face="tahoma" size="2"&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;Can any body suggest for the best possible solution /approach&amp;nbsp;to achive the above functionality (of rolling back the InfoPath form changes to Forms Library OR transactionalising the InfoPath form &amp;amp; DB data save)?&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp; Regards,&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="tahoma" size="2"&gt;Vipul Mehta&lt;/font&gt;&lt;/div&gt;</description></item></channel></rss>