You are on page 1of 20

SnapShot for

Microsoft Dynamics™ GP

User’s Guide

Build 1
Copyright Copyright © 2008 Microsoft Corporation. All rights reserved.

Complying with all applicable copyright laws is the responsibility of the user.
Without limiting the rights under copyright, no part of this document may be
reproduced, stored in or introduced into a retrieval system, or transmitted in any
form or by any means (electronic, mechanical, photocopying, recording, or
otherwise), or for any purpose, without the express written permission of
Microsoft Corporation. Notwithstanding the foregoing, the licensee of the
software with which this document was provided may make a reasonable
number of copies of this document solely for internal use.

Trademarks Microsoft, Excel, FRx, MapPoint, Microsoft Dynamics, Outlook, SharePoint

SQL Server, and Windows Vista are either registered trademarks or trademarks
of Microsoft Corporation or FRx Software Corporation or their affiliates in the
United States and/or other countries. FRx Software Corporation is a subsidiary
of Microsoft Corporation. FairCom and c-tree Plus are trademarks of FairCom
Corporation and are registered in the United States and other countries.

The names of actual companies and products mentioned herein may be

trademarks or registered marks - in the United States and/or other countries - of
their respective owners.

Unless otherwise noted, the example companies, organizations, products,

domain names, e-mail addresses, logos, people, places, and events depicted
herein are fictitious. No association with any real company, organization,
product, domain name, e-mail address, logo, person, place, or event is intended
or should be inferred.

Intellectual Microsoft may have patents, patent applications, trademarks, copyrights, or

property other intellectual property rights covering subject matter in this document.
Except as expressly provided in any written license agreement from Microsoft,
the furnishing of this document does not give you any license to these patents,
trademarks, copyrights, or other intellectual property.

Warranty Microsoft Corporation disclaims any warranty regarding the sample code
disclaimer contained in this documentation, including the warranties of merchantability
and fitness for a particular purpose.

Limitation of The content of this document is furnished for informational use only, is subject
Liability to change without notice, and should not be construed as a commitment by
Microsoft Corporation. Microsoft Corporation assumes no responsibility or
liability for any errors or inaccuracies that may appear in this manual. Neither
Microsoft Corporation nor anyone else who has been involved in the creation,
production or delivery of this documentation shall be liable for any indirect,
incidental, special, exemplary or consequential damages, including but not
limited to any loss of anticipated profit or benefits, resulting from the use of
this documentation or sample code.

License Use of this product is covered by a license agreement provided with the
Agreement software product.

Application & documentation designed and developed by

David Musgrave
Escalation Engineer – Microsoft Dynamics GP
Microsoft Dynamics Support - Asia Pacific
Chapter 1: Introduction 1
Chapter 2: Using SnapShot 2
SnapShot Installation Wizard 3
SnapShot Development Control 8
SnapShot Profile Maintenance 10
Print or Export Profile 11

Chapter 3: DEX.INI Settings 13

Chapter 4: Example Uses 14
SnapShot Index 16

Chapter 1: Introduction
SnapShot has been designed to automate the pre-loading of data into
company and system tables for any Microsoft Dynamics GP or third party
product. It also has a number of other functions which can be used by
support technicians to assist with the smooth running of a Microsoft
Dynamics GP system.

Its core functionality works by creating a SnapShot profile that contains a

list of tables to be captured as well as a description of when to use that
profile. The tables in the profile can then be captured by exporting them
to external tables. These external tables can be easily copied from one
system to another.

The previously exported tables can be imported back into any company by
use of either an end-user wizard or the development control window.

SnapShot contains the following component modules:

Module Description
SnapShot Installation Wizard The end-user wizard for installing a
previously stored SnapShot profiles
SnapShot Development The master development control for
Control SnapShot to import & export profiles
SnapShot Profile The window for the defining of what
Maintenance tables to include in a SnapShot profile
Print or Export Profile The facility to export table and field
Definitions for the selected tables

Chapter 2: Using SnapShot
This chapter includes the following sections:

• SnapShot Installation Wizard

• SnapShot Development Control
• SnapShot Profile Maintenance
• Print or Export Profile


SnapShot Installation Wizard

The SnapShot Installation Wizard will launch automatically the first time
any user logs on to a new company. This wizard will guide the user
through the installation of a previously stored SnapShot profile.

SnapShot identifies a new company by the lack of the SnapShot wizard

entry on the company setup menu. If this entry is missing the wizard will
open immediately after logging in.

After the initial installation, the SnapShot Installation Wizard can be

opened manually via Setup >> Company >> SnapShot Wizard. You can
use the SS_Wizard DEX.INI setting to hide the menu entry.

The wizard can be bypassed so that a single or multiple SnapShot Profiles are
installed automatically without user interaction. This option can be enabled
using the SS_Default setting in the DEX.INI.

The first page of the wizard explains what the wizard does and the
options if you decide to cancel the wizard.


The second page of the wizard allows you to select one SnapShot profile
from a list of available profiles.

If there is a default profile, it will already be selected for you. Select a

SnapShot profile and click Next to continue.

The third page of the wizard will display the full description stored with
the profile.

If this is the correct SnapShot profile, click Next to continue.


The fourth page of the wizard will display the tables associated with the

If any table is associated with the profile but not actually available for import it
will be flagged as Not Available. You may continue with the wizard, but that
table will not be imported.

If this is still the correct SnapShot profile, click Next to continue.


The fifth page of the wizard offers two options that can be selected when
importing. It is recommended that you accept the default options.

The options are:

• Delete all Records in Target Table before Importing

• Overwrite Target Records if they already exist

Deleting all records will ensure that the target tables will only have the
records from the stored SnapShot tables.

If you do not delete all records, then there may be a potential for duplicate
records to occur, the second option decides if the existing or the imported
record has precedence.

Check the appropriate options and click Next to continue.


The sixth and final page of the wizard displays all the settings you have

Please verify that the settings are correct and click Finish to start the
import process. Once completed you may exit or restart the Wizard.

You may abort at any time by clicking Cancel. If you cancel the wizard
before it has been successfully completed at least once for this company,
you will be given the option to prevent the wizard opening automatically
on next login.


SnapShot Development Control

The SnapShot Development Control window is the main window for use
by the developer. It can be opened via Setup >> Company >> SnapShot
Development. You can use the SS_Development DEX.INI setting to hide
the menu entry.

If the menu entry is not on the Company Setup menu, please enable Development
Mode using the SS_Development setting in the DEX.INI.

From the SnapShot Development window you can import and export data
from the external SnapShot tables using a previously create SnapShop
profile. Just select from an existing profile or add a new profile on-the-fly
(see next section).

Once a profile is displayed, a list of all the tables attached to that profile
are displayed with their display, technical and physical names and well as
their resource ID, series, product ID and name, number of records and
their status. Also shown are the number of Account Number fields in the
table and the optional Export Where Clause.

The following functions are available:

Mark All
Check all unchecked checkboxes in the table list. Disabled checkboxes
are ignored.

Unmark All
Uncheck all checked checkboxes in the table list. Disabled checkboxes
are ignored.

Import Tables
This will attempt to import all the checked tables in the table list. If
the table had not been previously exported (ie. Status of Normal), it
will be automatically unchecked and you will be notified of a partial


Export Tables
This will export all the checked tables in the table list. Once
successfully exported, a table will have a status of Exported. Please
note an optional Export Where Clause can be applied.

Delete Tables
This will delete the exported tables for all the check tables in the table
list. Once deleted, a table’s status will return to Normal.

Table Actions
This will allow the clearing of records in the live data from the selected
tables, as well as dropping and creating the actual physical tables. It
can also be used to drop and create the Dexterity Automatic Stored

Be careful when using Table Actions as this can permanently remove data. It is
recommended to make sure you have exported the table first so it can always have
its contents restored by importing it back.

Delete all Records in Target Table before Importing

If this option is enabled, SnapShot will automatically clear the table
just prior to importing.

Overwrite Target Records if they already exist

If this option is enabled and the previous option disabled, records
from the imported data have precedence when a duplicate occurs.

A Table may have a status of Unknown and have a question mark on its checkbox
when SnapShot is unable to open the table to count the number of records in the
table. This can often occur when additional tables are defined in a dictionary for
use with table conversions. These table definitions may not have a matching
physical table.

Exported tables are stored as Ctree tables in a subfolder off the SNAPSHOT folder
created in the same folder that the application dictionary is stored in. Each profile
ID has its own folder with System and Company subfolders. Also stored in the
Profile folder is a SNAPSHOT.XML file which contains details of the profile
used. The location of the SNAPSHOT folder can be changed using the SS_Path
DEX.INI setting.

Please note that tables containing the Account Number field or any field based on
the Account_Number datatype will only import and export correctly if a
conversion table has previously been created in SnapShot. The conversion table
allows SnapShot to be independent of account framework.

When importing tables, Snapshot will create missing tables & stored procedures
and grant access permissions as required. SnapShot will also grant access when
using the Table Actions to Create Tables or Create Stored Procedures.


SnapShot Profile Maintenance

The SnapShot Profile Maintenance window is used associated the tables
with a profile ID. You can open the window by drilling down from the
SnapShot Development Control window.

On this window you can create a SnapShot profile by defining its profile
ID and description. You may also enter a long description into the Wizard
Text field. This is displayed as one of the pages when the wizard is used.

Tables are selected using an explorer style interface. The tree hierarchy is
based on product, series, table group and table. You may select at any of
the higher levels and all children will be selected accordingly.

The list shows the details of any children to whatever item is currently
selected in the tree. Details include display name, technical name,
physical name and resource ID.

The view displayed in the tree can be by the display name or the technical name.
Dexterity developers would be more comfortable with the technical name view.
Changing the view also changes the default sort order for the list.

When exporting you may also configure an Export Where Clause to be applied.
Highlighting a selected table in the tree or the list will show the Export Where
Clause at the bottom of the window. You may type up to 255 characters, which
must be the correct Transact-SQL syntax and must only reference the highlighted
table. Double clicking on fields in the list will automatically add the physical
name of the field to the end of the where clause field.

The following additional functions are available:

The Duplicate Button allows an existing profile to be duplicated. This
is useful when a new profile similar to an existing profile is required.


The Export Button allows the current profile information to be
manually exported as a SNAPSHOT.XML file. This happens
automatically when exporting tables from the SnapShot Development
Control window. The Export Button is only displayed when a profile
ID is being displayed.

The Import Button can be used to import a SNAPSHOT.XML file. The
profile ID created will be the same as the folder name that the
SNAPSHOT.XML file is located. The import facility can only be used
when no profile ID is being displayed.

Also there is a print facility, which allows the SnapShot profile ID
information for the tables selected to be printed to a report or exported
to a variety of file types.

If you press the About Button, the About SnapShot window will open.
This window shows the version, build and last modified date.

Print or Export Profile

The report can be printed to any of the usual destinations offered,
including Acrobat PDF format if the PDF Writer is installed. The report
contains the display, technical and physical names of tables and fields as
well as field datatypes and storage & keyable lengths.

This same information can be exported to a tab delimited file or to an XML

file (which includes the document descriptor at the top of the XML file).

The final output is a GenView SQL script. This is a SQL script which can
be executed against a database to create views which allow the tables and
fields to be referenced by their technical names rather than their physical

For example: SELECT CUSTNAME FROM RM00100 becomes SELECT



There are a number of options to control exactly how the output is sorted
and grouped. You can also select if you do not want to include the table
fields in the output.

If including the table fields you may select if you want array and
composite fields to be expanded and shown as individual fields. If
showing the expanded fields you may decide not to show the parent field
so that you do not include the same fields twice.

By default, the technical name for fields is the correct Dexterity syntax. If
you wish you can control how the technical name is displayed using the 6
options on the window. These options allow you to remove the illegal
characters from the technical name as possibly required by other

Finally, you have the option to show the storage types rather than the
Dexterity datatypes.

Chapter 3: DEX.INI Settings
SnapShot uses the DEX.INI file to store a number of settings. These are
explained below:

This setting can be TRUE or FALSE, and denotes whether development
mode is active. If this setting is TRUE, SnapShot will create menu entries
for the wizard and the development control windows. The default for this
setting is TRUE.

If this setting is TRUE, the wizard will have a menu entry on the company
setup menu even when development mode is not active. The default for
this setting is TRUE.

This setting accepts multiple sets of three fields. The first is a profile ID,
the second field is a TRUE or FALSE for delete all records and the third
field is a TRUE or FALSE for overwrite existing records. For example:

SS_Default=DEFAULT, TRUE, TRUE{,…,…,…}

This setting is usually set to <Default>, which means that the SnapShot
tables will be stored in a SNAPSHOT folder in the same folder as where
the application dictionary is stored. You can change the path to the
SNAPSHOT folder to another specified location by changing this setting.
For example: SS_Path=C:\Data\.

If this setting is TRUE, Snapshot will reset the flag when logging into a
company, so that the wizard will automatically start.

This setting is used to store the last position and size of the SnapShot
Development Control window.

This setting is used to store the last position and size of the SnapShot
Profile Maintenance window.

This setting is used to store the last position and size of the SnapShot
Installation Wizard window.

Chapter 4:Example Uses
SnapShot can be used for many purposes. Some examples of these are
listed below:

• Automatic pre-loading of data into new companies. You could pre-

load tax schedules, charts of accounts, module Setup information, etc.

• Pre-loading of data into new companies using the wizard to select the
appropriate profile. For example, you could supply profiles for
different business types.

• Copying specific data from any product for backup or support

purposes. Can be used to send specified table data via email rather
than an entire company. Just create a profile ID with the required
tables and export the SNAPSHOT.XML file to be sent to the client.
The client can then import the profile into their copy of SnapShot, and
then export the tables. Finally they can zip up and email the profile ID
subfolder created in the SNAPSHOT folder. .

• Backing up and restoring Sales Consultant’s demonstration systems

created for demonstrating specific products.

• Backing up and restoring specific data to return to a known state for

development SQA (Software Quality Assurance) purposes.

• Copying data between different companies on a system.

• Copying data between different systems, independent of database

platform, account framework or sort order.

• Corporate data archiving by copying selected data using the where

clause and then clearing those selected records from the table.

• Migrating data between platforms, especially for 3rd party products

that do not have migration facilities.

• Creating or re-creating tables, especially for 3rd party products that do

not have installation scripts.

• Creating or re-creating the Dexterity automatic stored procedures,

especially when a Dexterity runtime update recommends recreation of
the store procedures.

• Ensuring access is granted to tables and stored procedures, by

requesting SnapShot to create the tables without dropping them first.

• Obtaining a resource description report for tables and fields from any

• Obtaining resource information as a tab delimited file for importing

into the data dictionary of your favorite data mining or reporting

• Obtaining resource information as an XML file for use with any XML
compatible application.


• Creating GenView SQL scripts to be execute to create views which

allow the more descriptive technical names to be used to reference the
Microsoft Dynamics GP tables and fields.

The potential uses are unlimited.


SnapShot Index
Grant Access, 9 Delete all Records in Target Table
before Importing, 6
A Details, 4
Aborting, 7
I Finish, 7
About SnapShot, 11 Import, 11 Options, 6
Account Framework, 9 Import Tables, 8, 9 Overwrite Target Records if they
Introduction, 1 already exist, 6
Selection, 4
C Tables, 5
Clear Tables, 9
M Welcome, 3
SnapShot Profile Maintenance, 10
Create Procs, 9 Mark All, 8 About, 11
Create Tables, 9 Duplicate, 10
O Export, 11
D Options, 6
Import, 11
Print, 11
Delete all Records in Target Table Overwrite Target Records if they SNAPSHOT.XML, 9, 11, 14
before Importing, 6, 9 already exist, 6, 9 SS_Default, 3, 13
Delete Tables, 9 SS_Development, 8, 13
Details, 4 SS_Path, 9, 13
DEX.INI Settings, 13 P SS_ResetFlag, 13
SS_Default, 3, 13 Permissions, 9 SS_WinDevelop, 13
SS_Development, 8, 13 Print, 11 SS_WinProfile, 13
SS_Path, 9, 13 Print or Export Profile, 11 SS_Wizard, 3, 13
SS_ResetFlag, 13 Stored Procedures, 9
SS_WinDevelop, 13
SS_WinProfile, 13 S
SS_Wizard, 3, 13 T
WinWizard, 13 Selection, 4
SnapShot Development Control, 8, Table Actions, 9
Drop Procs, 9 Tables, 5
Drop Tables, 9 11
Duplicate, 10 Clear Tables, 9
Create Procs, 9
Create Tables, 9
E Delete all Records in Target Table Unmark All, 8
before Importing, 9 Using SnapShot, 2
Example Uses, 14 Delete Tables, 9
Export, 11 Drop Procs, 9
Export Tables, 9 Drop Tables, 9 W
Export Where Clause, 8, 9, 10 Export Tables, 9 Welcome, 3
Import Tables, 8, 9 Where Clause, 8, 9, 10
F Mark All, 8
Overwrite Target Records if they
WinWizard, 13
Finish, 7 already exist, 9
Table Actions, 9
Unmark All, 8
G SnapShot Installation Wizard, 3
GenView, 11, 15 Aborting, 7

** End of document - SnapShot.doc - DM - 28 July 2008 **