<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Interesting Findings &#38; Knowledge Sharing</title>
	<atom:link href="http://cvakumar.com/msdynamics/feed/" rel="self" type="application/rss+xml" />
	<link>http://cvakumar.com/msdynamics</link>
	<description></description>
	<lastBuildDate>Sun, 08 Aug 2010 02:55:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>DexSense: IntelliSense for Dexterity &#8211; A Boon for Dexterity Developers</title>
		<link>http://cvakumar.com/msdynamics/2010/08/08/dexsense-intellisense-for-dexterity-a-boon-for-dexterity-developers/</link>
		<comments>http://cvakumar.com/msdynamics/2010/08/08/dexsense-intellisense-for-dexterity-a-boon-for-dexterity-developers/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 01:24:23 +0000</pubDate>
		<dc:creator>veeyeskay</dc:creator>
				<category><![CDATA[Customizations]]></category>
		<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[DexSense]]></category>
		<category><![CDATA[Dexterity]]></category>
		<category><![CDATA[IntelliSense]]></category>

		<guid isPermaLink="false">http://cvakumar.com/msdynamics/2010/08/08/dexsense-intellisense-for-dexterity-a-boon-for-dexterity-developers/</guid>
		<description><![CDATA[Folks Not so long ago we all were busy voting for a product suggestion initiated by Mariano Gomez. And here we are, with a wonderful utility developed by Tim Gordon from Alpine Limited called DexSense. This application runs as a system tray application and it shows its functionalities once you open a Dynamics GP dictionary [...]]]></description>
			<content:encoded><![CDATA[<p>Folks</p>
<p>Not so long ago we all were busy voting for a <a href="http://dynamicsgpblogster.blogspot.com/2010/06/dex-dexterity-and-intellisense-its-time.html" target="_blank">product suggestion</a> initiated by <a href="http://dynamicsgpblogster.blogspot.com/" target="_blank">Mariano Gomez</a>. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And here we are, with a wonderful utility developed by Tim Gordon from <a href="http://www.alpinelimited.com/">Alpine Limited</a> called DexSense. This application runs as a system tray application and it shows its functionalities once you open a Dynamics GP dictionary in Dexterity. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You can download the current build for this utility from <a title="http://www.alpinelimited.com/Products/DexSense_16.zip" href="http://www.alpinelimited.com/Products/DexSense_16.zip">http://www.alpinelimited.com/Products/DexSense_16.zip</a></p>
<p>Take a look at some screenshots below for having a glimpse of the same… </p>
<p><strong>Selecting Field Names:</strong></p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/2010/08/20100808_063525.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2010-08-08_063525" border="0" alt="2010-08-08_063525" src="http://cvakumar.com/msdynamics/wp-content/uploads/2010/08/20100808_063525_thumb.png" width="429" height="208" /></a> </p>
<p><strong>Selecting Window/Form Names:</strong></p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/2010/08/20100808_063609.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2010-08-08_063609" border="0" alt="2010-08-08_063609" src="http://cvakumar.com/msdynamics/wp-content/uploads/2010/08/20100808_063609_thumb.png" width="432" height="198" /></a> </p>
<p><strong>Selecting Table Names:</strong></p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/2010/08/20100808_063709.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2010-08-08_063709" border="0" alt="2010-08-08_063709" src="http://cvakumar.com/msdynamics/wp-content/uploads/2010/08/20100808_063709_thumb.png" width="434" height="176" /></a> </p>
<p>Selecting Procedure Names:</p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/2010/08/20100808_063747.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2010-08-08_063747" border="0" alt="2010-08-08_063747" src="http://cvakumar.com/msdynamics/wp-content/uploads/2010/08/20100808_063747_thumb.png" width="438" height="212" /></a> </p>
<p>I am sure the entire Dexterity community would be benefitted by this work and I, on behalf of the community would like to thank Tim for his effort in giving this amazing product to the community. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I would request the entire community to use this, test this and help us enhance the capabilities of this product. Good job Tim… <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Until next post…</p>
]]></content:encoded>
			<wfw:commentRss>http://cvakumar.com/msdynamics/2010/08/08/dexsense-intellisense-for-dexterity-a-boon-for-dexterity-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IntelliSense in Dexterity &#8211; Product Suggestion</title>
		<link>http://cvakumar.com/msdynamics/2010/06/25/intellisense-in-dexterity-product-suggestion/</link>
		<comments>http://cvakumar.com/msdynamics/2010/06/25/intellisense-in-dexterity-product-suggestion/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 04:29:38 +0000</pubDate>
		<dc:creator>veeyeskay</dc:creator>
				<category><![CDATA[Customizations]]></category>
		<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[Dexterity]]></category>
		<category><![CDATA[IntelliSense]]></category>
		<category><![CDATA[Microsoft Connect]]></category>

		<guid isPermaLink="false">http://cvakumar.com/msdynamics/2010/06/25/intellisense-in-dexterity-product-suggestion/</guid>
		<description><![CDATA[Hi all For many years now, I am sure every Dexterity developer has been dreaming of a cool IntelliSense feature to be provided in Dexterity. With the ease of coding brought into Visual Studio and this emerging in SQL Server from v2008 too, the dream to have this available in Dexterity too, has doubled up, [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>For many years now, I am sure every Dexterity developer has been dreaming of a cool IntelliSense feature to be provided in Dexterity. With the ease of coding brought into Visual Studio and this emerging in SQL Server from v2008 too, the dream to have this available in Dexterity too, has doubled up, I am sure.. </p>
<p><a href="http://dynamicsgpblogster.blogspot.com/" target="_blank">Mariano Gomez</a> has taken the initiative to submit a product suggestion for the same to Microsoft and we would recommend all Dexterity developers to vote for this recommendation, so that our voices are collaboratively heard and answered. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Please take a look at Mariano’s article <a href="http://dynamicsgpblogster.blogspot.com/2010/06/dex-dexterity-and-intellisense.html" target="_blank">Dexterity and IntelliSense</a> for more information and vote for this suggestion. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For those who has issues accessing the URL because of permission issues, please follow the steps below. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ul>
<li>Go to <a href="https://connect.microsoft.com/">https://connect.microsoft.com/</a> and login using your live credentials. </li>
<li>Once logged in, in the search Products tab, enter Microsoft Dynamics GP and search</li>
<li>The search will return 1 record. See the Your Status column. You would have an option to enroll. If not enrolled, please enroll. Once you have enrolled, go to the main page and search for Dynamics GP again and see the search result showing a status of Enrolled. Then click on Microsoft Dynamics GP in the search results.</li>
<li>Click on Search Existing button to search existing product suggestions.</li>
<li>In the “New Feedback for this Connection” section you would note the suggestion titled “IntelliSense implementation for Microsoft Dexterity”. </li>
<li>Click on this product suggestion link and then you should be able to vote.</li>
</ul>
<p>I hope we use this opportunity to join our hands and vote for this… And hope that our voices are heard. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Until next post!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://cvakumar.com/msdynamics/2010/06/25/intellisense-in-dexterity-product-suggestion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deploying Chunk Files &#8211; A Note to Remember</title>
		<link>http://cvakumar.com/msdynamics/2010/06/17/deploying-chunk-files-a-note-to-remember/</link>
		<comments>http://cvakumar.com/msdynamics/2010/06/17/deploying-chunk-files-a-note-to-remember/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 16:38:53 +0000</pubDate>
		<dc:creator>veeyeskay</dc:creator>
				<category><![CDATA[Customizations]]></category>
		<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[Chunk File]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Modified Forms]]></category>
		<category><![CDATA[Modified Reports]]></category>
		<category><![CDATA[OLFD*.dat]]></category>
		<category><![CDATA[OLFD*.idx]]></category>
		<category><![CDATA[Resource Explorer]]></category>
		<category><![CDATA[SQL Maintenance]]></category>

		<guid isPermaLink="false">http://cvakumar.com/msdynamics/2010/06/17/deploying-chunk-files-a-note-to-remember/</guid>
		<description><![CDATA[Hi all I ran into a very interesting issue today, which I would like to share with you folks, which would be surely helpful to all who is involved in deploying customizations as chunks and packages. We had an developed a customization for one of out clients, about 6 months back and now they had [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>I ran into a very interesting issue today, which I would like to share with you folks, which would be surely helpful to all who is involved in deploying customizations as chunks and packages. </p>
<p>We had an developed a customization for one of out clients, about 6 months back and now they had requested for an enhancement. We worked on this enhancement and was testing the deployment and landed into this issue explained below.</p>
<p>We had one of the temp tables modified by adding an additional key for validation purposes. As a standard process, I deleted the existing customization dictionary file and the copied the chunk file to the folder and launched Great Plains and included the new code. However, as I was testing the enhancement, I received a key error on the temp table which we had modified. So I looked into the Resource Descriptions to see the table key definition and noted that the new key that we had added to the table was not showing from the table definition. I then re-created the chunk file again and the same issue again. </p>
<p>Wondering what could be the reason, I tried to deploy the chunk on my machine and interestingly it worked fine and no issues. When I looked at the table definition in my local machine, it showed me the new key which I had added. Now a little more surprised, I began to analyze what could be the issue. Since this was a temp table, SQL Maintenance was not an option, since temp tables do not get listed in SQL Maintenance.&#160; </p>
<p>I then had a chat with <a href="http://blogs.msdn.com/b/developingfordynamicsgp/" target="_blank">David Musgrave</a> who requested me to delete the <em>OLFD*.dat</em> and <em>OLFD*.idx </em>files from the <em>Data</em> folder in Dynamics GP installation folder. These files are the cache files for the resource explorer. Once you delete these files, when you open Resource Explorer in GP following this, it will rebuild the resource explorer cache. I also deleted the .dat and the .idx file relevant to my product ID. The resource explorer cache got rebuilt but the issue still pertained. </p>
<p>Being really confused what could be happening, I was checking with David what else could be wrong. It was at this juncture that David asked me to check if there was any modified forms (or) reports for my customized dictionary. When I checked up, I noticed a modified forms dictionary in the <em>Data</em> folder. And then he requested me to rename/delete this modified forms dictionary and then try. And trust me, it worked fine when I did that. That’s when I realized that the client had modified one of our windows and created a modified form. And I realized that this modified forms dictionary would have the older resources which could have caused the conflict in the table definitions with the new customization dictionary. </p>
<p>So as a summary for all folks who are in the team deploying customizations, please keep these points in mind when preparing your deployment instructions:</p>
<ul>
<li>Delete any existing product dictionary from the application folder. </li>
<li>Delete any .vba file for the specific customized product from the application folder (ensuring you have a customization package file for the VBA code so that you can import them back after deploying the new chunk) </li>
<li>Delete/Rename any modified forms &amp; reports dictionaries for the customized product (ensuring you have a customization package file for the modified forms and reports so that you can import them back after deploying the new chunk) </li>
<li>Delete the *.dat and *.idx files from the Data folder for your specific product. These name of these files will be the product dictionary file name. </li>
</ul>
<p>I hope this article is useful for all of you, and thanks to <a href="http://blogs.msdn.com/b/developingfordynamicsgp/" target="_blank">David</a> once again, who has been my life saver twice in the last couple of days. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Until next post…</p>
]]></content:encoded>
			<wfw:commentRss>http://cvakumar.com/msdynamics/2010/06/17/deploying-chunk-files-a-note-to-remember/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dynamics GP 10 Login Issue After Upgrade from Great Plains v8</title>
		<link>http://cvakumar.com/msdynamics/2010/06/14/dynamics-gp-10-login-issue-after-upgrade-from-great-plains-v8/</link>
		<comments>http://cvakumar.com/msdynamics/2010/06/14/dynamics-gp-10-login-issue-after-upgrade-from-great-plains-v8/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 15:37:28 +0000</pubDate>
		<dc:creator>veeyeskay</dc:creator>
				<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[David Musgrave]]></category>
		<category><![CDATA[Dex.ini]]></category>
		<category><![CDATA[Dynamics GP Upgrade]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[Encryption Algorithm]]></category>
		<category><![CDATA[SQLLoginCompatibilityMode]]></category>

		<guid isPermaLink="false">http://cvakumar.com/msdynamics/2010/06/14/dynamics-gp-10-login-issue-after-upgrade-from-great-plains-v8/</guid>
		<description><![CDATA[Hi all I was in the process of upgrading one of our clients from Microsoft Business Solutions Great Plains v8 to Microsoft Dynamics GP SP4. The upgrade process went fine, but after the upgrade was completed, I landed up at a strange issue where none of the users were able to login and they were [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>I was in the process of upgrading one of our clients from Microsoft Business Solutions Great Plains v8 to Microsoft Dynamics GP SP4. The upgrade process went fine, but after the upgrade was completed, I landed up at a strange issue where none of the users were able to login and they were getting the following error at the time of login.</p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/DynamicsGP10LoginIssueAfterUpgradefromGr_11E53/20100614_173317.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2010-06-14_173317" border="0" alt="2010-06-14_173317" src="http://cvakumar.com/msdynamics/wp-content/uploads/DynamicsGP10LoginIssueAfterUpgradefromGr_11E53/20100614_173317_thumb.png" width="471" height="193" /></a> </p>
<p>However, the ‘sa’ user was able to login successfully without any issues. Once I tried to reset the password from the User Maintenance window, the user is able to log in without any issues. Wondering what could have gone wrong, I turned to the ever reliable <a href="http://blogs.msdn.com/b/developingfordynamicsgp/" target="_blank">David Musgrave</a> to see if he had an idea on why this happened. He immediately directed me to his blog article which talked of <a href="http://blogs.msdn.com/b/developingfordynamicsgp/archive/2008/10/02/why-does-microsoft-dynamics-gp-encrypt-passwords.aspx" target="_blank">Why does Microsoft Dynamics GP encrypt passwords?</a> </p>
<p>This article threw some light on the password encryptions in Dynamics GP 10. It looks like the password encryption algorithm has changed in Dynamics GP 10. Hence a user enters the password in Dynamics GP 10, the application encrypts the password using the new v10 encryption algorithm and sends it to SQL Server, which causes the GP login to fail, because of the encryption algorithm mismatch between v8 and v10.</p>
<p>However, there is a work around which can overcome this functionality in GP and make GP v10 use the old algorithm to encrypt the password. This needs an update to the Dex.ini file. You can add the below given property line towards the end of the Dex.ini file.</p>
<p><em>SQLLoginCompatibilityMode=TRUE</em></p>
<p>Save the Dex.ini file and launch GP and now when the user tries to login using his old password, it allows him to login, but prompts him to change the password during his initial login. The user can change his password and continue logging into Dynamics GP v10 without any issues.</p>
<blockquote><p>Note: Once all the users have changed their passwords in the initial login, we can remove the above property line from the Dex.ini file.</p>
</blockquote>
<p>I should definitely thank <a href="http://blogs.msdn.com/b/developingfordynamicsgp/" target="_blank">David Musgrave</a> for this tip he provided me, which helped me resolve the issue in a jiffy. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I hope this article is helpful to all.</p>
<p>Until next post!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://cvakumar.com/msdynamics/2010/06/14/dynamics-gp-10-login-issue-after-upgrade-from-great-plains-v8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Year End Close Issue with AA &#8211; Workaround</title>
		<link>http://cvakumar.com/msdynamics/2010/06/08/year-end-close-issue-with-aa-workaround/</link>
		<comments>http://cvakumar.com/msdynamics/2010/06/08/year-end-close-issue-with-aa-workaround/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 08:23:55 +0000</pubDate>
		<dc:creator>veeyeskay</dc:creator>
				<category><![CDATA[General Ledger]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[aagYearEndCloseMain]]></category>
		<category><![CDATA[Analytical Accounting]]></category>
		<category><![CDATA[Balance Brought Forward]]></category>
		<category><![CDATA[Dimension Codes]]></category>
		<category><![CDATA[Year End Process]]></category>
		<category><![CDATA[Zero Balance]]></category>

		<guid isPermaLink="false">http://cvakumar.com/msdynamics/2010/06/08/year-end-close-issue-with-aa-workaround/</guid>
		<description><![CDATA[Hi all Recently, I was working on the year end for one of our clients and landed up in the error shown below during the YEC process for the General Ledger. Based on the error message, I believed it was some issue in GP’s Year End Process. But on analysis, I found out some interesting [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all    </p>
<p>Recently, I was working on the year end for one of our clients and landed up in the error shown below during the YEC process for the General Ledger. </p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/YearEndCloseIssuewithAAWorkaround_BADC/20100527_134406.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2010-05-27_134406" border="0" alt="2010-05-27_134406" src="http://cvakumar.com/msdynamics/wp-content/uploads/YearEndCloseIssuewithAAWorkaround_BADC/20100527_134406_thumb.png" width="539" height="220" /></a> </p>
<p>Based on the error message, I believed it was some issue in GP’s Year End Process. But on analysis, I found out some interesting information, which gave me some insight on how the year end process works when Analytical Accounting is installed and configured to include dimension codes during the year end process.</p>
<p>As you all know, during the YEC process, GP creates a journal entry for rolling forward the balance sheet account balances and to bring forward the retained earnings account balances (based on P &amp; L balances) into the subsequent year. And Analytical Accounting process is triggered after the standard GP’s YEC process to create the relevant AA records in the AAG30000 series of&#160; tables for the BBF(Balance Brought Forward) journal entry. It also moves the open year records from the 30000 series of tables in AA to the 40000 series of tables. </p>
<p>But in certain cases, we could have a GL account in GP which has a zero balance at the account number level, but they could have balances at dimension code level. E.g. An account 000-2300-00 could have a zero balance at the account level (from GP’s Summary Inquiry window), but they could have a debit balance of $1000 with a dimension code AAAAA and a credit balance of $10000 with a dimension code BBBBB. In such cases, even though GP’s BBF entry does not have a brought forward entry does not have a distribution line for this account (since account balance is zero), Analytical Accounting module appends an additional line into the BBF journal entry with both the debit amount and credit amount as zero. And in the AA tables, it inserts the appropriate balances brought forward at the appropriate dimension code level. </p>
<p>So consider this scenario: If there are 10 GL accounts in a company out of which only one GL account has a balance to be rolled forward. 5 accounts have zero balance at account level, and zero balance at dimension code level. 4 accounts have zero balance at the account level, but have a balance at dimension code level. In this scenario, GP would automatically create the BBF journal entry with one distribution line bring forward the balance of the 1 account which had a balance to roll forward. However, for the other 4 accounts with zero balance at account level and a balance at dimension code level, Analytical Accounting module tries to identify the journal entry number created for GP during the year end process, and appends 4 additional lines for these accounts with both credit and debit as zero to the specific BBF journal entry, and updates the AA tables with the relevant dimension code balances for all the 5 GL accounts rolled forward. </p>
<p>Further, in the same example above, if all 10 GL accounts had a zero balance at the account level, but had a balance at the dimension code level, GP does not create the standard BBF entry at all… In this case, the Analytical Accounting module tries to identify the journal entry number created by GP for the BBF and it identifies a NULL value (since there was no journal entry created by GP). But&#160; Analytical Accounting still append lines for these accounts with a zero balance at account level, but a balance at the dimension code level, to the BBF journal journal entry (with a NULL value). Thus the above error surfaces. <em>Ideally, Analytical Accounting module has to create the BBF journal entry from scratch, but instead, it looks for a journal entry already created by GP and tries to append additional lines to a journal entry which does not exist, which causes this issue</em>.</p>
<p>I had to figure this out after digging into the YEC procedures in GP and Analytical Accounting. <em>The SQL procedure which is causing the issue here is <strong>aagYearEndCloseMain</strong>. A ticket has been logged with Microsoft on this who has assigned it to the development team to have it fixed in the subsequent service pack/hotfix</em>. </p>
<p>However, since we had to close the year in the interim and could not wait for a response from Microsoft. So this is what I had performed as an interim workaround to close the year without the above issue. I identified 2 balance sheet accounts (could be any BS account) and created a reversing journal entry in the specific company with a transaction date as 12/31/2009 and a reversing date as 01/01/2010. I debited one balance sheet account to $0.01 and credited the other balance sheet account to $0.01. Once I posted this entry, the YEC process identifies a balance of $0.01 in both these balance sheet accounts to be rolled forward and GP creates a journal entry during the YEC process, which will facilitate the AA procedure to successfully append the additional lines for the accounts which have zero balance at the account level, but a balance at the dimension code level. Also since we posted the entry as a reversing entry, the $0.01 balance which was rolled forward during the YEC process, into the 2 balance sheet accounts, would be cleared on 01/01/2010. </p>
<p>Trust me, this idea struck my mind, as I was having my breakfast listening to music… And for the fact that I was breaking my head for the last few days on identifying an interim solution for the same, it is quite amazing that i found a solution when relaxing… . <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Following the path of Archimedes/Newton, though I am not one definitely… <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>So this article gives a work around solution for many who use AA and are looking for their YEC process and have the same scenario. Apart from the work around, it also gives you all a little tip that whenever you are stressed at work, trying to figure out a solution, go have a break and I am sure your would get easy and fast solutions to issues which would have haunted you for a long time… </p>
<p>Until next post!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://cvakumar.com/msdynamics/2010/06/08/year-end-close-issue-with-aa-workaround/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maintaining Data Integrity between Sub Ledgers and General Ledger</title>
		<link>http://cvakumar.com/msdynamics/2010/05/16/maintaining-data-integrity-between-sub-ledgers-and-general-ledger/</link>
		<comments>http://cvakumar.com/msdynamics/2010/05/16/maintaining-data-integrity-between-sub-ledgers-and-general-ledger/#comments</comments>
		<pubDate>Sun, 16 May 2010 12:51:02 +0000</pubDate>
		<dc:creator>veeyeskay</dc:creator>
				<category><![CDATA[Accounts Payables]]></category>
		<category><![CDATA[Accounts Receivables]]></category>
		<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[General Ledger]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[Inventory]]></category>
		<category><![CDATA[Reconciliation]]></category>

		<guid isPermaLink="false">http://cvakumar.com/msdynamics/2010/05/16/maintaining-data-integrity-between-sub-ledgers-and-general-ledger/</guid>
		<description><![CDATA[Hi all I have been involved in the process of reconciliation between the sub ledgers and the general ledger at various clients and there has been various scenarios in which there has been a break between the sub ledgers and the general ledger balances. A few key scenarios are quoted below A transaction posted in [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>I have been involved in the process of reconciliation between the sub ledgers and the general ledger at various clients and there has been various scenarios in which there has been a break between the sub ledgers and the general ledger balances. A few key scenarios are quoted below</p>
<ol>
<li>A transaction posted in the sub ledgers do not have a corresponding transaction in the general ledger.&#160; </li>
<li>A transaction posted in the sub ledger is backed out/corrected at the general ledger level.</li>
<li>Manual posting to the sub ledger control accounts in the General Ledger.</li>
</ol>
<p>In this article, I am going to provide some tips to avoid any of the above situations and ensure that there is data integrity between the sub ledgers and the general ledger. This will ensure that the periodic audits done in the system proceeds in a smooth manner to a great extent.</p>
<p>The first two errors listed above can be prevented by disabling the following options in the General Ledger setup window from <em>Microsoft Dynamics GP &gt;&gt; Tools &gt;&gt; Setup &gt;&gt; Financials &gt;&gt; General Ledger</em>.&#160; </p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/MaintainingDataIntegritybetweenSubLedger_10101/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/MaintainingDataIntegritybetweenSubLedger_10101/image_thumb.png" width="479" height="371" /></a> </p>
<p>By unmarking the option “<em>Deletion of Saved Transactions</em>”, a journal entry batch that is created when a sub ledger transaction is posted, cannot be deleted at the General Ledger level. This prevents any deletion of a journal entry that was created from a sub ledger transaction. Note that if we have enabled “<em>Post Through General Ledger</em>” in the posting setup, this would not make a big difference, since whenever a transaction is posted in the sub ledger, the corresponding general ledger transactions get automatically posted as well. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>By unmarking the option “<em>Voiding/Correcting of Subsidiary Transactions</em>”, the system will not allow us to void a journal entry batch that is created when a sub ledger transaction is posted. This prevents any voiding of a journal entry that was created from a sub ledger transaction. that if we have enabled “<em>Post Through General Ledger</em>” in the posting setup, this would not make a big difference, since whenever a transaction is posted in the sub ledger, the corresponding general ledger transactions get automatically posted as well. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Further, this option will not allow the user to back-out (or) back-out and correct a journal entry that was posted for a sub ledger transaction. </p>
<p>The third error listed above can be eliminated by disallowing account entry for all the sub ledger control accounts like the GL accounts for Accounts Receivable, Accounts Payable and Inventory accounts, in the Account Maintenance window from <em>Cards &gt;&gt; Financial &gt;&gt; Accounts</em>, as shown below. We need to unmark the option “<em>Allow Account Entry</em>” for all the control accounts needed.</p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/MaintainingDataIntegritybetweenSubLedger_10101/image_3.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/MaintainingDataIntegritybetweenSubLedger_10101/image_thumb_3.png" width="422" height="351" /></a>&#160;&#160;&#160; </p>
<p>Unmarking this option for the key control accounts, will prevent the user from picking up this account in any transaction entry windows and will prompt the message as shown below.</p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/MaintainingDataIntegritybetweenSubLedger_10101/image_4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/MaintainingDataIntegritybetweenSubLedger_10101/image_thumb_4.png" width="430" height="183" /></a> </p>
</p>
<p>This option will prevent any direct posting into the sub ledger control accounts in the General Ledger. All postings will happen only from the sub ledger module. </p>
<p>These options mentioned above are some key setups that we can enable in GP to minimize the data integrity issues between the sub ledgers and the general ledger which consumes precious reconciliation time which is spent by many resources during the key audit time.</p>
<p>Hope this information helps all.</p>
<p>Until next post…</p>
]]></content:encoded>
			<wfw:commentRss>http://cvakumar.com/msdynamics/2010/05/16/maintaining-data-integrity-between-sub-ledgers-and-general-ledger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Posting Levels in Dynamics GP &#8211; A Review</title>
		<link>http://cvakumar.com/msdynamics/2010/05/16/posting-levels-in-dynamics-gp-a-review/</link>
		<comments>http://cvakumar.com/msdynamics/2010/05/16/posting-levels-in-dynamics-gp-a-review/#comments</comments>
		<pubDate>Sun, 16 May 2010 09:53:42 +0000</pubDate>
		<dc:creator>veeyeskay</dc:creator>
				<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[General Ledger]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[Detailed Level]]></category>
		<category><![CDATA[Journal Entry]]></category>
		<category><![CDATA[Posting Levels]]></category>
		<category><![CDATA[Posting Setup]]></category>
		<category><![CDATA[Summary Level]]></category>
		<category><![CDATA[Use Account Settings]]></category>

		<guid isPermaLink="false">http://cvakumar.com/msdynamics/2010/05/16/posting-levels-in-dynamics-gp-a-review/</guid>
		<description><![CDATA[Hi All I have been getting questions from many of my clients and network on the various levels of postings to the General Ledger accounts that are available in Dynamics GP. Hence I decided to provide some information on the same to all the folks in this community. The level of posting to the GL [...]]]></description>
			<content:encoded><![CDATA[<p>Hi All</p>
<p>I have been getting questions from many of my clients and network on the various levels of postings to the General Ledger accounts that are available in Dynamics GP. Hence I decided to provide some information on the same to all the folks in this community. </p>
<p>The level of posting to the GL accounts is determined from couple of setups working hand in hand in Dynamics GP which I will elaborate below. The initial setup is to define the level of postings for various accounts in the Account Maintenance window from <em>Cards &gt;&gt; Financials &gt;&gt; Accounts</em> as illustrated below.</p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/PostingLevelsinDynamicsGPAReview_D7DA/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/PostingLevelsinDynamicsGPAReview_D7DA/image_thumb.png" width="409" height="340" /></a>&#160;&#160;&#160;&#160;&#160;&#160; <a href="http://cvakumar.com/msdynamics/wp-content/uploads/PostingLevelsinDynamicsGPAReview_D7DA/image_3.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/PostingLevelsinDynamicsGPAReview_D7DA/image_thumb_3.png" width="161" height="81" /></a> </p>
</p>
<p>We can specify the levels of posting from the various series into the General Ledger module. The various options available for posting levels are</p>
<ul>
<li>Detail</li>
<li>Summary</li>
</ul>
<p>Once this has been setup, we need to define the level of posting for various transactions in various modules in the Posting Setup window from <em>Microsoft Dynamics GP &gt;&gt; Tools &gt;&gt; Setup &gt;&gt; Posting &gt;&gt; Posting</em> as illustrated below.</p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/PostingLevelsinDynamicsGPAReview_D7DA/image_4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/PostingLevelsinDynamicsGPAReview_D7DA/image_thumb_4.png" width="412" height="376" /></a> </p>
<p><font color="#800000">So for the purpose of this case study, I created a couple of receivable invoices with the distributions explained below and saved them into a batch called <em>RECVINV</em>.</font></p>
<p><strong><font color="#800000">Invoice #1</font></strong></p>
<table border="0" cellspacing="0" cellpadding="2" width="584">
<tbody>
<tr>
<td valign="top" width="118"><strong><font color="#800000">Invoice Number</font></strong></td>
<td valign="top" width="154"><strong><font color="#800000">Account Number</font></strong></td>
<td valign="top" width="55"><strong><font color="#800000">Type</font></strong></td>
<td valign="top" width="124"><strong><font color="#800000">Debit (DR)</font></strong></td>
<td valign="top" width="131"><strong><font color="#800000">Credit (CR)</font></strong></td>
</tr>
<tr>
<td valign="top" width="118"><font color="#800000">INV0001</font></td>
<td valign="top" width="154"><font color="#800000">000-1200-00</font></td>
<td valign="top" width="55"><font color="#800000">RECV</font></td>
<td valign="top" width="124"><font color="#800000">$500</font></td>
<td valign="top" width="131"><font color="#800000">-</font></td>
</tr>
<tr>
<td valign="top" width="118"><font color="#800000">INV0001</font></td>
<td valign="top" width="154"><font color="#800000">000-4100-00</font></td>
<td valign="top" width="55"><font color="#800000">SALES</font></td>
<td valign="top" width="124"><font color="#800000">-</font></td>
<td valign="top" width="131"><font color="#800000">$500</font></td>
</tr>
</tbody>
</table>
<p><strong><font color="#800000">Invoice #2</font></strong></p>
<table border="0" cellspacing="0" cellpadding="2" width="584">
<tbody>
<tr>
<td valign="top" width="118"><strong><font color="#800000">Invoice Number</font></strong></td>
<td valign="top" width="154"><strong><font color="#800000">Account Number</font></strong></td>
<td valign="top" width="55"><strong><font color="#800000">Type</font></strong></td>
<td valign="top" width="124"><strong><font color="#800000">Debit (DR)</font></strong></td>
<td valign="top" width="131"><strong><font color="#800000">Credit (CR)</font></strong></td>
</tr>
<tr>
<td valign="top" width="118"><font color="#800000">INV0001</font></td>
<td valign="top" width="154"><font color="#800000">000-1200-00</font></td>
<td valign="top" width="55"><font color="#800000">RECV</font></td>
<td valign="top" width="124"><font color="#800000">$700</font></td>
<td valign="top" width="131"><font color="#800000">-</font></td>
</tr>
<tr>
<td valign="top" width="118"><font color="#800000">INV0001</font></td>
<td valign="top" width="154"><font color="#800000">000-4100-00</font></td>
<td valign="top" width="55"><font color="#800000">SALES</font></td>
<td valign="top" width="124"><font color="#800000">-</font></td>
<td valign="top" width="131"><font color="#800000">$700</font></td>
</tr>
</tbody>
</table>
<p><font color="#800000">And I have setup the account <em>000-1200-00</em> to post at a Summary Level in the Sales Series in the Account Maintenance window, whereas I have setup the account <em>000-4100-00</em> to post in detail in the Sales Series in the Account Maintenance window.</font></p>
<p>Now, in the Posting Setup window, if we select the option to create one journal entry per transaction, posting will always be done at a detailed level (irrespective of the setting specified in the Account Maintenance window) (i.e.) There will be a one-to-one match between the distribution lines in the journal entry and the distribution that we had noted in the transaction posted in the sub ledgers. </p>
<p><font color="#800000">So when the above batch RECVINV is posted in the Receivables module, there will be 2 journal entries created with the distributions explained below.</font></p>
<p><strong><font color="#800000">Journal Entry #1</font></strong></p>
<table border="0" cellspacing="0" cellpadding="2" width="567">
<tbody>
<tr>
<td valign="top" width="131"><strong><font color="#800000">Journal Entry</font></strong></td>
<td valign="top" width="166"><strong><font color="#800000">Account Number</font></strong></td>
<td valign="top" width="131"><strong><font color="#800000">Debit (DR)</font></strong></td>
<td valign="top" width="137"><strong><font color="#800000">Credit (CR)</font></strong></td>
</tr>
<tr>
<td valign="top" width="136"><font color="#800000">12345</font></td>
<td valign="top" width="169"><font color="#800000">000-1200-00</font></td>
<td valign="top" width="134"><font color="#800000">$500</font></td>
<td valign="top" width="139"><font color="#800000">-</font></td>
</tr>
<tr>
<td valign="top" width="138"><font color="#800000">12345</font></td>
<td valign="top" width="169"><font color="#800000">000-4100-00</font></td>
<td valign="top" width="135"><font color="#800000">-</font></td>
<td valign="top" width="139"><font color="#800000">$500</font></td>
</tr>
</tbody>
</table>
<p><strong><font color="#800000">Journal Entry #2</font></strong></p>
<table border="0" cellspacing="0" cellpadding="2" width="567">
<tbody>
<tr>
<td valign="top" width="131"><strong><font color="#800000">Journal Entry</font></strong></td>
<td valign="top" width="166"><strong><font color="#800000">Account Number</font></strong></td>
<td valign="top" width="131"><strong><font color="#800000">Debit (DR)</font></strong></td>
<td valign="top" width="137"><strong><font color="#800000">Credit (CR)</font></strong></td>
</tr>
<tr>
<td valign="top" width="136"><font color="#800000">12346</font></td>
<td valign="top" width="169"><font color="#800000">000-1200-00</font></td>
<td valign="top" width="134"><font color="#800000">$700</font></td>
<td valign="top" width="139"><font color="#800000">-</font></td>
</tr>
<tr>
<td valign="top" width="138"><font color="#800000">12346</font></td>
<td valign="top" width="169"><font color="#800000">000-4100-00</font></td>
<td valign="top" width="135"><font color="#800000">-</font></td>
<td valign="top" width="139"><font color="#800000">$700</font></td>
</tr>
</tbody>
</table>
<p>However in the above window, if we specify the option to create a journal entry per batch, we have two levels of roll ups that are available when journal entries are created when the sub ledger transactions are posted. </p>
<p>If the “<em>Use Account Settings</em>” option is unchecked, then when a batch of transactions is posted from the sub ledger module, the system creates one journal entry for all transactions posted in the sub ledger batch. However, there is no roll-up done at the account level, even though the accounts have been setup to post at summary level in the Account Maintenance window. </p>
<p><font color="#800000">So in the same case study example above, if the batch was posted in the Receivables module, there will be one journal entry created with the distributions illustrated below.</font></p>
<p><strong><font color="#800000">Journal Entry #1</font></strong></p>
<table border="0" cellspacing="0" cellpadding="2" width="567">
<tbody>
<tr>
<td valign="top" width="131"><strong><font color="#800000">Journal Entry</font></strong></td>
<td valign="top" width="166"><strong><font color="#800000">Account Number</font></strong></td>
<td valign="top" width="131"><strong><font color="#800000">Debit (DR)</font></strong></td>
<td valign="top" width="137"><strong><font color="#800000">Credit (CR)</font></strong></td>
</tr>
<tr>
<td valign="top" width="136"><font color="#800000">12345</font></td>
<td valign="top" width="169"><font color="#800000">000-1200-00</font></td>
<td valign="top" width="134"><font color="#800000">$500</font></td>
<td valign="top" width="139"><font color="#800000">-</font></td>
</tr>
<tr>
<td valign="top" width="138"><font color="#800000">12345</font></td>
<td valign="top" width="169"><font color="#800000">000-4100-00</font></td>
<td valign="top" width="135"><font color="#800000">-</font></td>
<td valign="top" width="139"><font color="#800000">$500</font></td>
</tr>
<tr>
<td valign="top" width="138"><font color="#800000">12345</font></td>
<td valign="top" width="169"><font color="#800000">000-1200-00</font></td>
<td valign="top" width="135"><font color="#800000">$700</font></td>
<td valign="top" width="139"><font color="#800000">-</font></td>
</tr>
<tr>
<td valign="top" width="138"><font color="#800000">12345</font></td>
<td valign="top" width="169"><font color="#800000">000-4100-00</font></td>
<td valign="top" width="135"><font color="#800000">-</font></td>
<td valign="top" width="139"><font color="#800000">$700</font></td>
</tr>
</tbody>
</table>
<p>If the “<em>Use Account Settings</em>” option is checked, then when a batch of transactions is posted from the sub ledger module, the system creates one journal entry for all transactions posted in the sub ledger batch and the distribution amounts are rolled based on the posting levels for the accounts that are defined in the Account Maintenance window. </p>
<p><font color="#800000">So in the same case study example above, if the batch was posted in the Receivables module, there will be one journal entry created with the distributions illustrated below.</font></p>
<p><strong><font color="#800000">Journal Entry #1</font></strong></p>
<p>
<table border="0" cellspacing="0" cellpadding="2" width="567">
<tbody>
<tr>
<td valign="top" width="131"><strong><font color="#800000">Journal Entry</font></strong></td>
<td valign="top" width="166"><strong><font color="#800000">Account Number</font></strong></td>
<td valign="top" width="131"><strong><font color="#800000">Debit (DR)</font></strong></td>
<td valign="top" width="137"><strong><font color="#800000">Credit (CR)</font></strong></td>
</tr>
<tr>
<td valign="top" width="136"><font color="#800000">12345</font></td>
<td valign="top" width="169"><font color="#800000">000-1200-00</font></td>
<td valign="top" width="134"><font color="#800000">$1200</font></td>
<td valign="top" width="139"><font color="#800000">-</font></td>
</tr>
<tr>
<td valign="top" width="138"><font color="#800000">12345</font></td>
<td valign="top" width="169"><font color="#800000">000-4100-00</font></td>
<td valign="top" width="135"><font color="#800000">-</font></td>
<td valign="top" width="139"><font color="#800000">$500</font></td>
</tr>
<tr>
<td valign="top" width="138"><font color="#800000">12345</font></td>
<td valign="top" width="169"><font color="#800000">000-4100-00</font></td>
<td valign="top" width="135"><font color="#800000">-</font></td>
<td valign="top" width="139"><font color="#800000">$700</font></td>
</tr>
</tbody>
</table>
<blockquote><p>Note: Keep in mind that the various levels of postings will also be in effect only when we perform a batch posting in the sub ledger. If the posting is done at a transaction level, the system will always post in detail to the General Ledger (irrespective if the settings in the Account Maintenance window and the Posting Setup window for the specific sub ledger transaction).</p>
</blockquote>
<p>Hope this article provides some insight into the General Ledger posting levels that are available in Dynamics GP.</p>
<p>Until next post…</p>
]]></content:encoded>
			<wfw:commentRss>http://cvakumar.com/msdynamics/2010/05/16/posting-levels-in-dynamics-gp-a-review/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SQL Script to Reconcile GL vs. AA Balances</title>
		<link>http://cvakumar.com/msdynamics/2010/05/16/sql-script-to-reconcile-gl-vs-aa-balances/</link>
		<comments>http://cvakumar.com/msdynamics/2010/05/16/sql-script-to-reconcile-gl-vs-aa-balances/#comments</comments>
		<pubDate>Sun, 16 May 2010 07:15:21 +0000</pubDate>
		<dc:creator>veeyeskay</dc:creator>
				<category><![CDATA[Analytical Accounting]]></category>
		<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[General Ledger]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server 2000]]></category>
		<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[Account Balances]]></category>
		<category><![CDATA[Reconciliation]]></category>

		<guid isPermaLink="false">http://cvakumar.com/msdynamics/2010/05/16/sql-script-to-reconcile-gl-vs-aa-balances/</guid>
		<description><![CDATA[Hi all Having used Analytical Accounting for quite some time now, I have come across various issues in Analytical Accounting module, which has caused serious data discrepancy between the General Ledger tables and the Analytical Accounting tables. So I had decided to write up a simple SQL script to reconcile the balances for every account [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>Having used Analytical Accounting for quite some time now, I have come across various issues in Analytical Accounting module, which has caused serious data discrepancy between the General Ledger tables and the Analytical Accounting tables.</p>
<p>So I had decided to write up a simple SQL script to reconcile the balances for every account currency combination between the General Ledger tables and the Analytical Accounting tables.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">DECLARE @ASOFDATE DATETIME
<span style="color: #993333; font-weight: bold;">SET</span> @ASOFDATE <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'2010-05-16'</span>
<span style="color: #993333; font-weight: bold;">SELECT</span>  DB_NAME<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> COMPANY<span style="color: #66cc66;">,</span>
        RTRIM<span style="color: #66cc66;">&#40;</span>X<span style="color: #66cc66;">.</span>ACTNUMST<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> GPACCOUNTNO<span style="color: #66cc66;">,</span>
        X<span style="color: #66cc66;">.</span>CURNCYID<span style="color: #66cc66;">,</span>
        X<span style="color: #66cc66;">.</span>GLORIGAMT<span style="color: #66cc66;">,</span>
        X<span style="color: #66cc66;">.</span>GLFUNCAMT<span style="color: #66cc66;">,</span>
        X<span style="color: #66cc66;">.</span>AA30001ORIGAMT<span style="color: #66cc66;">,</span>
        X<span style="color: #66cc66;">.</span>AA30001FUNCAMT<span style="color: #66cc66;">,</span>
        X<span style="color: #66cc66;">.</span>AA30002ORIGAMT<span style="color: #66cc66;">,</span>
        X<span style="color: #66cc66;">.</span>AA30002FUNCAMT<span style="color: #66cc66;">,</span>
        CASE WHEN X<span style="color: #66cc66;">.</span>GLORIGAMT <span style="color: #66cc66;">=</span> X<span style="color: #66cc66;">.</span>AA30001ORIGAMT THEN <span style="color: #ff0000;">'TRUE'</span>
             ELSE <span style="color: #ff0000;">'FALSE'</span>
        END <span style="color: #993333; font-weight: bold;">AS</span> GLAA30001ORIGMATCH<span style="color: #66cc66;">,</span>
        CASE WHEN X<span style="color: #66cc66;">.</span>GLFUNCAMT <span style="color: #66cc66;">=</span> X<span style="color: #66cc66;">.</span>AA30001FUNCAMT THEN <span style="color: #ff0000;">'TRUE'</span>
             ELSE <span style="color: #ff0000;">'FALSE'</span>
        END <span style="color: #993333; font-weight: bold;">AS</span> GLAA30001FUNCMATCH<span style="color: #66cc66;">,</span>
        CASE WHEN X<span style="color: #66cc66;">.</span>GLORIGAMT <span style="color: #66cc66;">=</span> X<span style="color: #66cc66;">.</span>AA30002ORIGAMT THEN <span style="color: #ff0000;">'TRUE'</span>
             ELSE <span style="color: #ff0000;">'FALSE'</span>
        END <span style="color: #993333; font-weight: bold;">AS</span> GLAA30002ORIGMATCH<span style="color: #66cc66;">,</span>
        CASE WHEN X<span style="color: #66cc66;">.</span>GLFUNCAMT <span style="color: #66cc66;">=</span> X<span style="color: #66cc66;">.</span>AA30002FUNCAMT THEN <span style="color: #ff0000;">'TRUE'</span>
             ELSE <span style="color: #ff0000;">'FALSE'</span>
        END <span style="color: #993333; font-weight: bold;">AS</span> GLAA30002FUNCMATCH<span style="color: #66cc66;">,</span>
        <span style="color: #66cc66;">&#40;</span> X<span style="color: #66cc66;">.</span>GLORIGAMT <span style="color: #66cc66;">-</span> X<span style="color: #66cc66;">.</span>AA30001ORIGAMT <span style="color: #66cc66;">&#41;</span> AAG30001ORIGDIFFERENCE<span style="color: #66cc66;">,</span>
        <span style="color: #66cc66;">&#40;</span> X<span style="color: #66cc66;">.</span>GLFUNCAMT <span style="color: #66cc66;">-</span> X<span style="color: #66cc66;">.</span>AA30001FUNCAMT <span style="color: #66cc66;">&#41;</span> AAG30001FUNCDIFFERENCE<span style="color: #66cc66;">,</span>
        <span style="color: #66cc66;">&#40;</span> X<span style="color: #66cc66;">.</span>GLORIGAMT <span style="color: #66cc66;">-</span> X<span style="color: #66cc66;">.</span>AA30002ORIGAMT <span style="color: #66cc66;">&#41;</span> AAG30002ORIGDIFFERENCE<span style="color: #66cc66;">,</span>
        <span style="color: #66cc66;">&#40;</span> X<span style="color: #66cc66;">.</span>GLFUNCAMT <span style="color: #66cc66;">-</span> X<span style="color: #66cc66;">.</span>AA30002FUNCAMT <span style="color: #66cc66;">&#41;</span> AAG30002FUNCDIFFERENCE
<span style="color: #993333; font-weight: bold;">FROM</span>    <span style="color: #66cc66;">&#40;</span> <span style="color: #993333; font-weight: bold;">SELECT</span>    B<span style="color: #66cc66;">.</span>ACTNUMST<span style="color: #66cc66;">,</span>
                    B<span style="color: #66cc66;">.</span>ACTINDX<span style="color: #66cc66;">,</span>
                    A<span style="color: #66cc66;">.</span>CURNCYID<span style="color: #66cc66;">,</span>
                    SUM<span style="color: #66cc66;">&#40;</span>A<span style="color: #66cc66;">.</span>ORDBTAMT <span style="color: #66cc66;">-</span> A<span style="color: #66cc66;">.</span>ORCRDAMT<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> GLORIGAMT<span style="color: #66cc66;">,</span>
                    SUM<span style="color: #66cc66;">&#40;</span>A<span style="color: #66cc66;">.</span>DEBITAMT <span style="color: #66cc66;">-</span> A<span style="color: #66cc66;">.</span>CRDTAMNT<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> GLFUNCAMT<span style="color: #66cc66;">,</span>
                    <span style="color: #66cc66;">&#40;</span> <span style="color: #993333; font-weight: bold;">SELECT</span>    SUM<span style="color: #66cc66;">&#40;</span>C<span style="color: #66cc66;">.</span>ORDBTAMT <span style="color: #66cc66;">-</span> C<span style="color: #66cc66;">.</span>ORCRDAMT<span style="color: #66cc66;">&#41;</span>
                      <span style="color: #993333; font-weight: bold;">FROM</span>      dbo<span style="color: #66cc66;">.</span>AAG30001 C
                                <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> dbo<span style="color: #66cc66;">.</span>AAG30000 D <span style="color: #993333; font-weight: bold;">ON</span> C<span style="color: #66cc66;">.</span>aaGLHdrID <span style="color: #66cc66;">=</span> D<span style="color: #66cc66;">.</span>aaGLHdrID
                      <span style="color: #993333; font-weight: bold;">WHERE</span>     D<span style="color: #66cc66;">.</span>GLPOSTDT <span style="color: #66cc66;">&lt;=</span> @ASOFDATE
                                <span style="color: #993333; font-weight: bold;">AND</span> C<span style="color: #66cc66;">.</span>ACTINDX <span style="color: #66cc66;">=</span> B<span style="color: #66cc66;">.</span>ACTINDX
                                <span style="color: #993333; font-weight: bold;">AND</span> C<span style="color: #66cc66;">.</span>CURNCYID <span style="color: #66cc66;">=</span> A<span style="color: #66cc66;">.</span>CURNCYID
                    <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> AA30001ORIGAMT<span style="color: #66cc66;">,</span>
                    <span style="color: #66cc66;">&#40;</span> <span style="color: #993333; font-weight: bold;">SELECT</span>    SUM<span style="color: #66cc66;">&#40;</span>C<span style="color: #66cc66;">.</span>DEBITAMT <span style="color: #66cc66;">-</span> C<span style="color: #66cc66;">.</span>CRDTAMNT<span style="color: #66cc66;">&#41;</span>
                      <span style="color: #993333; font-weight: bold;">FROM</span>      dbo<span style="color: #66cc66;">.</span>AAG30001 C
                                <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> dbo<span style="color: #66cc66;">.</span>AAG30000 D <span style="color: #993333; font-weight: bold;">ON</span> C<span style="color: #66cc66;">.</span>aaGLHdrID <span style="color: #66cc66;">=</span> D<span style="color: #66cc66;">.</span>aaGLHdrID
                      <span style="color: #993333; font-weight: bold;">WHERE</span>     D<span style="color: #66cc66;">.</span>GLPOSTDT <span style="color: #66cc66;">&lt;=</span> @ASOFDATE
                                <span style="color: #993333; font-weight: bold;">AND</span> C<span style="color: #66cc66;">.</span>ACTINDX <span style="color: #66cc66;">=</span> B<span style="color: #66cc66;">.</span>ACTINDX
                                <span style="color: #993333; font-weight: bold;">AND</span> C<span style="color: #66cc66;">.</span>CURNCYID <span style="color: #66cc66;">=</span> A<span style="color: #66cc66;">.</span>CURNCYID
                    <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> AA30001FUNCAMT<span style="color: #66cc66;">,</span>
                    <span style="color: #66cc66;">&#40;</span> <span style="color: #993333; font-weight: bold;">SELECT</span>    SUM<span style="color: #66cc66;">&#40;</span>E<span style="color: #66cc66;">.</span>ORDBTAMT <span style="color: #66cc66;">-</span> E<span style="color: #66cc66;">.</span>ORCRDAMT<span style="color: #66cc66;">&#41;</span>
                      <span style="color: #993333; font-weight: bold;">FROM</span>      dbo<span style="color: #66cc66;">.</span>AAG30002 E
                                <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> dbo<span style="color: #66cc66;">.</span>AAG30001 C <span style="color: #993333; font-weight: bold;">ON</span> E<span style="color: #66cc66;">.</span>aaGLHdrID <span style="color: #66cc66;">=</span> C<span style="color: #66cc66;">.</span>aaGLHdrID
                                                             <span style="color: #993333; font-weight: bold;">AND</span> E<span style="color: #66cc66;">.</span>aaGLDistID <span style="color: #66cc66;">=</span> C<span style="color: #66cc66;">.</span>aaGLDistID
                                <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> dbo<span style="color: #66cc66;">.</span>AAG30000 D <span style="color: #993333; font-weight: bold;">ON</span> C<span style="color: #66cc66;">.</span>aaGLHdrID <span style="color: #66cc66;">=</span> D<span style="color: #66cc66;">.</span>aaGLHdrID
                      <span style="color: #993333; font-weight: bold;">WHERE</span>     D<span style="color: #66cc66;">.</span>GLPOSTDT <span style="color: #66cc66;">&lt;=</span> @ASOFDATE
                                <span style="color: #993333; font-weight: bold;">AND</span> C<span style="color: #66cc66;">.</span>ACTINDX <span style="color: #66cc66;">=</span> B<span style="color: #66cc66;">.</span>ACTINDX
                                <span style="color: #993333; font-weight: bold;">AND</span> C<span style="color: #66cc66;">.</span>CURNCYID <span style="color: #66cc66;">=</span> A<span style="color: #66cc66;">.</span>CURNCYID
                    <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> AA30002ORIGAMT<span style="color: #66cc66;">,</span>
                    <span style="color: #66cc66;">&#40;</span> <span style="color: #993333; font-weight: bold;">SELECT</span>    SUM<span style="color: #66cc66;">&#40;</span>E<span style="color: #66cc66;">.</span>DEBITAMT <span style="color: #66cc66;">-</span> E<span style="color: #66cc66;">.</span>CRDTAMNT<span style="color: #66cc66;">&#41;</span>
                      <span style="color: #993333; font-weight: bold;">FROM</span>      dbo<span style="color: #66cc66;">.</span>AAG30002 E
                                <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> dbo<span style="color: #66cc66;">.</span>AAG30001 C <span style="color: #993333; font-weight: bold;">ON</span> E<span style="color: #66cc66;">.</span>aaGLHdrID <span style="color: #66cc66;">=</span> C<span style="color: #66cc66;">.</span>aaGLHdrID
                                                             <span style="color: #993333; font-weight: bold;">AND</span> E<span style="color: #66cc66;">.</span>aaGLDistID <span style="color: #66cc66;">=</span> C<span style="color: #66cc66;">.</span>aaGLDistID
                                <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> dbo<span style="color: #66cc66;">.</span>AAG30000 D <span style="color: #993333; font-weight: bold;">ON</span> C<span style="color: #66cc66;">.</span>aaGLHdrID <span style="color: #66cc66;">=</span> D<span style="color: #66cc66;">.</span>aaGLHdrID
                      <span style="color: #993333; font-weight: bold;">WHERE</span>     D<span style="color: #66cc66;">.</span>GLPOSTDT <span style="color: #66cc66;">&lt;=</span> @ASOFDATE
                                <span style="color: #993333; font-weight: bold;">AND</span> C<span style="color: #66cc66;">.</span>ACTINDX <span style="color: #66cc66;">=</span> B<span style="color: #66cc66;">.</span>ACTINDX
                                <span style="color: #993333; font-weight: bold;">AND</span> C<span style="color: #66cc66;">.</span>CURNCYID <span style="color: #66cc66;">=</span> A<span style="color: #66cc66;">.</span>CURNCYID
                    <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> AA30002FUNCAMT
          <span style="color: #993333; font-weight: bold;">FROM</span>      dbo<span style="color: #66cc66;">.</span>GL20000 A
                    <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> dbo<span style="color: #66cc66;">.</span>GL00105 B <span style="color: #993333; font-weight: bold;">ON</span> A<span style="color: #66cc66;">.</span>ACTINDX <span style="color: #66cc66;">=</span> B<span style="color: #66cc66;">.</span>ACTINDX
          <span style="color: #993333; font-weight: bold;">WHERE</span>     A<span style="color: #66cc66;">.</span>TRXDATE <span style="color: #66cc66;">&lt;=</span> @ASOFDATE
          <span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span>  B<span style="color: #66cc66;">.</span>ACTNUMST<span style="color: #66cc66;">,</span>
                    B<span style="color: #66cc66;">.</span>ACTINDX<span style="color: #66cc66;">,</span>
                    A<span style="color: #66cc66;">.</span>CURNCYID
        <span style="color: #66cc66;">&#41;</span> X</pre></div></div>

<p>This script is free for use and you can modify this script to suit your business requirements.</p>
<blockquote>
<p><strong>Note:</strong> I have updated the above script to validate the balances in all the 3 tables (GL20000, AAG30001 &amp; AAG30002) to be in sync with one another. This is a critical enhancement since the AAG30002 table is the important table from where the data is picked up for reporting in AA.</p>
</blockquote>
<p>Hope this script is helpful for folks.</p>
<p>Until next post…</p>
]]></content:encoded>
			<wfw:commentRss>http://cvakumar.com/msdynamics/2010/05/16/sql-script-to-reconcile-gl-vs-aa-balances/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SQL Script to delete stranded activity for a specific user</title>
		<link>http://cvakumar.com/msdynamics/2010/05/16/sql-script-to-delete-stranded-activity-for-a-specific-user/</link>
		<comments>http://cvakumar.com/msdynamics/2010/05/16/sql-script-to-delete-stranded-activity-for-a-specific-user/#comments</comments>
		<pubDate>Sun, 16 May 2010 06:52:46 +0000</pubDate>
		<dc:creator>veeyeskay</dc:creator>
				<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server 2000]]></category>
		<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[ACTIVITY]]></category>
		<category><![CDATA[DEX_LOCK]]></category>
		<category><![CDATA[DEX_SESSION]]></category>
		<category><![CDATA[DYNAMICS database]]></category>
		<category><![CDATA[Stranded User]]></category>
		<category><![CDATA[SY00800]]></category>
		<category><![CDATA[SY00801]]></category>
		<category><![CDATA[User Activity]]></category>

		<guid isPermaLink="false">http://cvakumar.com/msdynamics/2010/05/16/sql-script-to-delete-stranded-activity-for-a-specific-user/</guid>
		<description><![CDATA[Hi all In this article I am providing a script to delete the activity table records for a specific stranded user in Dynamics GP. This will enable us not to have all the users log out of GP in order to execute these scripts. This is typically handy when we have many users signed into [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>In this article I am providing a script to delete the activity table records for a specific stranded user in Dynamics GP. This will enable us not to have all the users log out of GP in order to execute these scripts. This is typically handy when we have many users signed into the system from various regions and its a tough job to have all the users sign off the system for this maintenance to be done.</p>
<blockquote><p>Note: Its always advisable to take a back up of the DYNAMICS database before you execute this script. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</blockquote>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">DECLARE @USERID CHAR<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #66cc66;">&#41;</span>
DECLARE @CMPNYNAM CHAR<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">30</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">SET</span> @USERID <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'testuser'</span>
<span style="color: #993333; font-weight: bold;">SET</span> @CMPNYNAM <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'Fabrikam, Inc.'</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*Deleting the user record from the DEX_LOCK table*/</span>
<span style="color: #993333; font-weight: bold;">DELETE</span>  <span style="color: #993333; font-weight: bold;">FROM</span> tempdb<span style="color: #66cc66;">.</span>dbo<span style="color: #66cc66;">.</span>DEX_LOCK
<span style="color: #993333; font-weight: bold;">WHERE</span>   session_id <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #993333; font-weight: bold;">SELECT</span>   SQLSESID
                       <span style="color: #993333; font-weight: bold;">FROM</span>     DYNAMICS<span style="color: #66cc66;">.</span>dbo<span style="color: #66cc66;">.</span>ACTIVITY
                       <span style="color: #993333; font-weight: bold;">WHERE</span>    USERID <span style="color: #66cc66;">=</span> @USERID
                                <span style="color: #993333; font-weight: bold;">AND</span> CMPNYNAM <span style="color: #66cc66;">=</span> RTRIM<span style="color: #66cc66;">&#40;</span>@CMPNYNAM<span style="color: #66cc66;">&#41;</span>
                     <span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*Deleting the user record from the DEX_SESSION table*/</span>
<span style="color: #993333; font-weight: bold;">DELETE</span>  <span style="color: #993333; font-weight: bold;">FROM</span> tempdb<span style="color: #66cc66;">.</span>dbo<span style="color: #66cc66;">.</span>DEX_SESSION
<span style="color: #993333; font-weight: bold;">WHERE</span>   session_id <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #993333; font-weight: bold;">SELECT</span>   SQLSESID
                       <span style="color: #993333; font-weight: bold;">FROM</span>     DYNAMICS<span style="color: #66cc66;">.</span>dbo<span style="color: #66cc66;">.</span>ACTIVITY
                       <span style="color: #993333; font-weight: bold;">WHERE</span>    USERID <span style="color: #66cc66;">=</span> @USERID
                                <span style="color: #993333; font-weight: bold;">AND</span> CMPNYNAM <span style="color: #66cc66;">=</span> RTRIM<span style="color: #66cc66;">&#40;</span>@CMPNYNAM<span style="color: #66cc66;">&#41;</span>
                     <span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*Deleting the user record from the SY00801 table*/</span>
<span style="color: #993333; font-weight: bold;">DELETE</span>  <span style="color: #993333; font-weight: bold;">FROM</span> DYNAMICS<span style="color: #66cc66;">.</span>dbo<span style="color: #66cc66;">.</span>SY00801
<span style="color: #993333; font-weight: bold;">WHERE</span>   USERID <span style="color: #66cc66;">=</span> @USERID
        <span style="color: #993333; font-weight: bold;">AND</span> CMPANYID <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> CMPANYID
                         <span style="color: #993333; font-weight: bold;">FROM</span>   DYNAMICS<span style="color: #66cc66;">.</span>dbo<span style="color: #66cc66;">.</span>SY01500
                         <span style="color: #993333; font-weight: bold;">WHERE</span>  CMPNYNAM <span style="color: #66cc66;">=</span> RTRIM<span style="color: #66cc66;">&#40;</span>@CMPNYNAM<span style="color: #66cc66;">&#41;</span>
                       <span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*Deleting the user record from the SY00800 table*/</span>
<span style="color: #993333; font-weight: bold;">DELETE</span>  <span style="color: #993333; font-weight: bold;">FROM</span> DYNAMICS<span style="color: #66cc66;">.</span>dbo<span style="color: #66cc66;">.</span>SY00800
<span style="color: #993333; font-weight: bold;">WHERE</span>   USERID <span style="color: #66cc66;">=</span> @USERID
        <span style="color: #993333; font-weight: bold;">AND</span> CMPNYNAM <span style="color: #66cc66;">=</span> RTRIM<span style="color: #66cc66;">&#40;</span>@CMPNYNAM<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*Deleting the user record from the ACTIVITY table*/</span>
<span style="color: #993333; font-weight: bold;">DELETE</span>  <span style="color: #993333; font-weight: bold;">FROM</span> DYNAMICS<span style="color: #66cc66;">.</span>dbo<span style="color: #66cc66;">.</span>ACTIVITY
<span style="color: #993333; font-weight: bold;">WHERE</span>   USERID <span style="color: #66cc66;">=</span> @USERID
        <span style="color: #993333; font-weight: bold;">AND</span> CMPNYNAM <span style="color: #66cc66;">=</span> RTRIM<span style="color: #66cc66;">&#40;</span>@CMPNYNAM<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>I hope this script above would be useful to you folks…</p>
<p>Until next post…</p>
]]></content:encoded>
			<wfw:commentRss>http://cvakumar.com/msdynamics/2010/05/16/sql-script-to-delete-stranded-activity-for-a-specific-user/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Recovering the System Menu Password in Dynamics GP</title>
		<link>http://cvakumar.com/msdynamics/2010/05/16/recovering-the-system-menu-password-in-dynamics-gp/</link>
		<comments>http://cvakumar.com/msdynamics/2010/05/16/recovering-the-system-menu-password-in-dynamics-gp/#comments</comments>
		<pubDate>Sun, 16 May 2010 05:30:08 +0000</pubDate>
		<dc:creator>veeyeskay</dc:creator>
				<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[Great Plains]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Report Destination]]></category>
		<category><![CDATA[Report Writer]]></category>
		<category><![CDATA[System Password]]></category>
		<category><![CDATA[System Password Recovery]]></category>

		<guid isPermaLink="false">http://cvakumar.com/msdynamics/2010/05/16/recovering-the-system-menu-password-in-dynamics-gp/</guid>
		<description><![CDATA[Hi all How many times have consultants faced the situation where the system menu password in Dynamics GP is forgotten? This typically happens when we return to a client for an upgrade after about a year and it happens to be the case where the client side admin has forgotten the password as well… Most [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>How many times have consultants faced the situation where the system menu password in Dynamics GP is forgotten? This typically happens when we return to a client for an upgrade after about a year and it happens to be the case where the client side admin has forgotten the password as well… <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Most of the time we handle this by deleting the record from the System Password Master table (SY02400) and then re-defining the password once more. But is there a way to recover the existing password without manipulating the data at SQL level? Fortunately, we do have an alternate solution and I am going to elaborate on the steps to recover this password, in this article.</p>
<p>When you have logged into Dynamics GP, go to Microsoft Dynamics GP &gt;&gt; Tools &gt;&gt; Customize &gt;&gt; Report Writer and choose the product as Microsoft Dynamics GP. This will open GP in the Report Writer mode as shown below. Click on the Reports button in the Toolbar.</p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_thumb.png" width="565" height="340" /></a>&#160; <a href="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_thumb_3.png" width="423" height="240" /></a> </p>
<p>Click on the New button in the Report Writer window and enter the following details for the new report that you have decided to create.</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><strong>Report Name</strong></td>
<td valign="top" width="200">System Password Recovery</td>
</tr>
<tr>
<td valign="top" width="200"><strong>Series</strong></td>
<td valign="top" width="200">System</td>
</tr>
<tr>
<td valign="top" width="200"><strong>Main Table</strong></td>
<td valign="top" width="200">System Password Master</td>
</tr>
<tr>
<td valign="top" width="200"><strong>Using Key</strong></td>
<td valign="top" width="200">SY_System_Password_Key1</td>
</tr>
</tbody>
</table>
<p>The report definition window would look as shown below.</p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_thumb_4.png" width="385" height="328" /></a> </p>
<p>Now click on the Layout button. Add the Password field from the System Password Master table into the Body section of the report as shown below.</p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_5.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_thumb_5.png" width="402" height="218" /></a>&#160; <a href="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_thumb_6.png" width="330" height="141" /></a> </p>
<p>Close the report and choose Save on the prompt that shows up.</p>
</p>
<p>Click OK on the Report Definition window to close the report definition window as well. Now you should be noticing the new report that we had created in the Report Writer window as shown below. </p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_7.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_thumb_7.png" width="414" height="235" /></a>&#160; <a href="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_8.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_thumb_8.png" width="317" height="234" /></a> </p>
<p>Select the new report that we had created and click on the Print button. On the Report Destination window, choose to print the report on Screen and click on the OK button.</p>
<p>The report will print on the screen and it will display the decrypted system menu password on the report as shown below. </p>
<p><a href="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_9.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://cvakumar.com/msdynamics/wp-content/uploads/RecoveringtheSystemMenuPasswordinDynamic_993B/image_thumb_9.png" width="303" height="225" /></a> </p>
<blockquote><p>Note: Note that in order to create this recovery report, we need to have access to this system series table, which is only available to users having the POWERUSERS role. Thanks to <a href="http://blogs.msdn.com/DevelopingForDynamicsGP/" target="_blank">David Musgrave</a> for providing this information.</p>
</blockquote>
<p>This is an alternate method for GP administrators to recover the system menu password without having to delete the System Password Master table and resetting the password. Hope this article is helpful to all. <img src='http://cvakumar.com/msdynamics/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Until next post…</p>
]]></content:encoded>
			<wfw:commentRss>http://cvakumar.com/msdynamics/2010/05/16/recovering-the-system-menu-password-in-dynamics-gp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
