Freigeben über


SnapShot for Microsoft Dynamics GP

David Meego

Not long after I joined Microsoft in May 2001, I found myself working as part of a global development team for Asia Pacific. The team was based in Manila in the Philippines and was involved in a regional research project to check the feasibility of releasing a version of Great Plains eEnterprise v6.0 for China.

Now, it should be mentioned that Dexterity (and so Microsoft Dynamics GP) does not support double byte or Unicode characters. This project was investigating whether a third party tool such as Rich-Win could be used to display Chinese characters using two single characters for each Chinese character.  While it was possible to translate the documentation and most of the windows, there were a number of quirky issues with data entry that eventually caused the project to be stopped.

Another part of this project was looking at the reporting requirements for Chinese companies and creating custom code or Advanced Financial Analysis (AFA) reports to handle the requirements.  AFA stores the report setup in tables as data and so this data would need to be added to new companies after they had been created. 

This is where the SnapShot tool I created comes into the picture. SnapShot works by copying the contents of selected tables to Ctree files in a separate folder, thus creating a SnapShot of the data. This separate folder can then be copied to a target system and the data inserted back into the actual tables. SnapShot has a wizard interface (which can be controlled with dex.ini settings) to automate the process of importing the data back.  Using SnapShot we could pre-load the AFA reports setup every time a new company was created.

So that is the history of where SnapShot comes from and why it was created.  Even though the project that spawned the code is no more, SnapShot was too useful to let die.

SnapShot's primary functionality is the ability to copy data between systems (of the same version), including between different account frameworks or database types.  It can be used to help migrate data from Ctree or Btrieve/P.SQL to MS SQL Server when a third party vendor does not have a migration tool. It can be used to pre-load standard configurations. It can be used to backup and restore data from a client. It can be used to backup and restore test or demo data on a consultant's workstation.

SnapShot also has the ability to print or export resource data about the tables and fields used in any table in any dictionary/product in the system.  It can output the data in a variery of forms including reports, tab delimited text files, XML and even GenView SQL Scripts.

NOTE: SnapShot is not an officially released tool and is not supported.  It is made available "as is".

The code and documentation for v8.0, v9.0, v10.0 & v11.0 (GP 2010) is attached at the bottom of the article.

Please add your comments to say how you have used this tool. 

David

15-Feb-2010: Added SnapShot for Microsoft Dynamics GP 2010 Beta code.

25-Aug-2010: Older versions of the SnapShot tool for v6.0, v7.0 & v7.5 can be downloaded from https://www.winthropdc.com/development.html.

SnapShot.zip

Comments

  • Anonymous
    July 27, 2008
    Hey David, Its great to read your posts with these stories :) Are the rapid application tools for migrating data from Quickbooks built on top of the Snapshot tool ? Jivtesh

  • Anonymous
    July 28, 2008
    No, SnapShot was not adopted by the development team, even though the technique that I developed to allow any table in any dictionary to be opened twice in two locations with potentially different database types has been used by the later versions of the GP database migration tool. David

  • Anonymous
    July 28, 2008
    The ability to backup, move and restore data makes SnapShot a valuable tool.  I find the part that I use most often is SnapShot’s ability to export table and field data to an Excel spreadsheet (via a TAB delimited file).  This functions as a replacement to 'Resource Descriptions' table and field listings.  SnapShot is several magnitudes easier, and actually produces useful reports. You have the ability to choose your tables you require across multiple dictionaries and modules.  You may export just the tables or include the fields. Great for Report Writer, SmartList, SmartList Builder, Dexterity, etc. Paul

  • Anonymous
    August 04, 2008
    Posting from VSToolsForum.com http://vstoolsforum.com/forums/p/524/1208.aspx#1208

  • Anonymous
    August 04, 2008
    Posting from About Dynamics, Development and Life (Jivtesh Singh's Blog) http://www.jivtesh.com/2008/07/snapshot-tool-from-david-musgrave.html

  • Anonymous
    October 09, 2008
    This is an updated version of an article I wrote a while back for the Microsoft Dynamics GP community

  • Anonymous
    October 27, 2008
    Posting from the Dynamics GP Blogster http://dynamicsgpblogster.blogspot.com/2008/10/often-overlooked-yet-powerful-table.html

  • Anonymous
    October 28, 2008
    This is an updated version of an article I wrote a while back for the Microsoft Dynamics GP community

  • Anonymous
    November 10, 2008
    From the Microsoft Dynamics GP Application Level Security Series . With the change from the optimistic

  • Anonymous
    March 02, 2009
    Hey David, I want ask about use this tools in GP 10 SP 3, because i got error must upgrade version when deploy in GP 10 SP 3. Teguh

  • Anonymous
    May 26, 2009
    Hi David, Was looking at this handy tool, and reading through the docs, there is reference to using a conversion table for handling acct framework differences. I can't seem to find where/how you actually set that up however. Am I missing something, or is that function not in the app at the present time ? Thanks, ABower

  • Anonymous
    June 01, 2009
    Posting from the Dynamics GP Blogster http://dynamicsgpblogster.blogspot.com/2009/05/moving-data-between-microsoft-dynamics.html

  • Anonymous
    July 12, 2009
    Hi, David: I'm not if I'm using the latest version of SnapShot. I notice that when copying Company Addresses, the CMPANYID in SY00600 does not 'update' accordindly. It still retains the originating company ID value.

  • Anonymous
    July 12, 2009
    HFLo, I would suspect that it would.  In a tool such as this, data is copied in and out of a table of the same structure without regard to what the columns are.  To that end, it would seem unlikely that the app would know that if it finds a "company id" value to switch it to a different value. Meaning that you'd likely have to update the value yourself once the data is in the table or else just use sql to copy it and adjust the query as you require.

  • Anonymous
    July 12, 2009
    Hi Lo Patrick is correct.  Snapshot does not alter any data, it just copies it (via Ctree tables). The latest version is the one attached to this post. David

  • Anonymous
    January 07, 2012
    Thanks! was just looking for the same.

  • Anonymous
    April 09, 2012
    David - Is there a dex.ini setting to stop the Snapshot wizard prompting when logging into a new company? Thanks in advance!

  • Anonymous
    April 10, 2012
    Hi Travis In the user guide it mentions the dex.ini settings for SnapShot.. Have you tried SS_Development=TRUE David

  • Anonymous
    April 11, 2013
    Do you have a version for GP2013?

  • Anonymous
    April 11, 2013
    Hi Lisa There is no version ready for GP 2013 yet. I will get something released soon. David

  • Anonymous
    February 11, 2014
    David, Any update on a possible release of Snap Shot for GP 2013?  Thanks!