User Guide : Map Connectors : Source and Target Map Connectors : Microsoft Dynamics GP 9 and 10
 
Share this page                  
Microsoft Dynamics GP 9 and 10
Microsoft Dynamics GP is an accounting software package that runs on top of a Microsoft SQL Server database. Before its purchase by Microsoft, it was called Great Plains Software. This connector provides a means of retrieving and manipulating data in the database back end of a Microsoft Dynamics GP system. It supports connections to versions 9 and 10.
These connectors rely on Microsoft Dynamics GP eConnect, which uses SQL stored procedures to implement business logic rules, validate data for Great Plains, and ensure good performance.
Before You Begin
The following are requirements before you can use the connector.
Install a Microsoft Dynamics GP 9 or 10 compliant web service. For details, see the MSDN library.
Version 9 only: To avoid receiving an ISO 4217 currency code error, install web server software update 924546, which you can download from the Microsoft Dynamics GP knowledge base.
Connectivity Pointers
If you have problems with data truncation, see the Microsoft Dynamics GP Web Services Reference to determine the length of each key field. Then you can manually change the field sizes using the integration platform. You can download this document from the Learn tab of the Microsoft Dynamics GP Developer Center home page.
Connector-Specific Notes
Date fields. Date fields sent from Microsoft Dynamics GP contain a time value, even though the time value is not relevant for these fields. For example, assume that the web service response contains <DateCreate>2008-07-30 00:00:00</DateCreated>. If you map this field to an ASCII Delimited file with no date conversions, the following data is returned: 7/30/2008 12:00:00 am.
CRUD Operations. The Microsoft interface to Microsoft Dynamics GP data does not support all fields in a Dynamics GP system, and some fields are available only for read access. The create, delete, get, and update methods of the Microsoft interface provide insight into which CRUD operations this connector can perform.
Error Messages. This connector sometimes returns error messages from the originating server that are not useful when troubleshooting server-side issues. Microsoft Dynamics GP offers information that may be more helpful in these situations.
Query Statements. Query statements are not supported in this connector.
For more information on the above limitations, see the Microsoft Dynamics GP Web Services Reference. You can download this document from the Learn tab of the Microsoft Dynamics GP Developer Center home page.
Property Options
You can set the following source (S) and target (T) properties.
Property
S/T
Version
Description
BatchResponse
T
9, 10
Optional. Creates a BatchResponse file, which serves as a reporting mechanism to the connector. The file provides detailed results for each object in a batch where the batch size is greater than 1.
Obtaining detailed results is useful in the following cases:
You need to capture system-generated object IDs for use in future updates.
You need to correlate an error with its object and have enough information about the error for exception handling and error diagnosis.
For more details, see Batch Response File.
BatchSize
S
9, 10
Optional. Number of source records cached before processing them. Default is zero.
CultureName
ST
9, 10
Optional. Specifies the culture (locale) of the user making the web service call. Enter a culture name.
CurrencyType
ST
9, 10
Optional. Specifies how currency information is used for the web service call. This property is used only for documents that support multicurrency. If multicurrency is not supported, Local is used.
Transactional (default) – The originating currency amount is used.
Local – The local currency amount is used.
Domain
ST
9, 10
Required. Enter the domain name to use for NTLM authentication.
FlushFrequency
T
9, 10
Optional. Number of operations the connector caches before writing them to the target. Default is zero.
IgnoreRecordErrors
S
10
Returns an error when retrieving any record if set to false (default). If true, records that cause errors are ignored.
OrganizationKey
ST
9, 10
Required. Specifies the unique identifier of the company where the operation should be executed. The web service determines the appropriate company database to use.
PreValidate
T
9, 10
Optional. Analyzes the data before sending it to the server, which can be time-consuming because this validation is not optimized. Default is false.
RoleKey
ST
9, 10
Optional. Permissions that allow access to specific areas of Microsoft Dynamics GP. If this property is supplied, the role is used to choose the policy instance and appropriate behavior options for the web service call. If you do not supply a role key, the web service attempts to find a role for the user and company specified in the context object. If only one role is found, that role is used. If more than one role is found, or no roles are found, the default role is used.
For more information, see the Microsoft Dynamics GP Web Services Reference. You can download this document from the Learn tab of the Microsoft Dynamics GP Developer Center home page.
ShowChildren
ST
9, 10
Optional. Determines whether to add the child record types to the list of available record types.
False (default in target) – List only the parent-level record types.
True (default in source) – Include child record types, allowing you to write data to them.
Note:  On the target, if you want to manipulate any child record types, set this option to true.
Data Types
These are the data types of the fields in a table.
If you are appending data to an existing table, the data type of each field uses the data type in the selected table by default.
The data types displayed for the fields of tables available in Microsoft Dynamics GP are the defaults specified by web service interface.
bigdecimal
biginteger
boolean
byte
bytes
character
date
double
float
integer
long
record
short
string
text
Additional Considerations
The following sections discuss various options supported in this connector.
Viewing Hierarchical Data
Understanding Record Names
Data That Can Be Flattened
Data That Represents a Choice
Data That Represents a List of Hierarchical Data
Viewing Hierarchical Data
The hierarchical data that is delivered from GP is unrolled into a series of flat records. Source child records are associated with their appropriate parents by ordering of the data.
The hierarchical data contained within a top-level record type, such as Customer, falls into three categories:
Data that can be flattened
Data that represents a choice
Data that represents a list of more hierarchical data
Understanding Record Names
Record names follow a certain pattern. For instance, if the record name does not start with an open bracket, it is a top-level parent. Otherwise, it uses the following pattern:
[parent!child1!child2!...childN]child
where child1 is a child of parent1, child2 is a child of child1, and so on.
For example, sales orders can contain multiple lines and each line can contain multiple freight taxes. In this case, the connector has the following record types:
SalesOrder
[SalesOrder]Lines
[SalesOrder!Lines]FreightTaxes
Data That Can Be Flattened
Hierarchical data can be flattened into a number of fields contained within its parent. This data is not exposed as a separate record type, and is broken down into a series of fields that are attached to its parent.
For example, the Customer record type contains the following fields:
CashGLAccountKey_IdCashGLAccountKey_IsEncrypted
The GP back-end sends a Customer record type containing a CashGLAccountKey with two child fields:
Id
IsEncrypted
The depth of flattening correlates directly to the number of underscores present in the field name.
Data That Represents a Choice
Sections of hierarchical data can sometimes differ when data is delivered. The connector creates record types to deal with this. There is a marker record type with the suffix _C, which is a flag saying that the following record type represents the data that was actually delivered. Each of these record types contain a number of record types, which represent the available choices.
In the GLTransaction record type, each GLTransaction can contain [GLTransaction]Lines records.
Each [GLTransaction]Lines instance contains the record type, [GLTransaction!Lines]DebitAmount_C.
Each [GLTransaction!Lines]DebitAmount_C can be followed by either a [GLTransaction!Lines!DebitAmount_C]MoneyAmount or a [GLTransaction!Lines!DebitAmount_C]Quantity.
Assume that you received the following from GP:
<gltransaction>
  <id>100</id>
  <line><num>1</num><money_amount><value>100</value></money_amount></line>
  <line><num>2</num><quantity><number>5</number></quantity></line>
</gltransaction>
The connector produces the following record series:
GLTransaction: id = 1
[GLTransaction]Lines: num = 1
[GLTransaction!Lines]DebitAmount_C
[GLTransaction!Lines!DebitAmount_C]MoneyAmount: value = 100
[GLTransaction]Lines: num = 2
[GLTransaction!Lines]DebitAmount_C
[GLTransaction!Lines!DebitAmount_C]Quantity: value = 5
Data That Represents a List of Hierarchical Data
Some record types contain multiple instances of a grouping of fields. For instance, a GLTransaction can contain many Lines that are treated as record types and are given prefixes that indicate the parents.
For example, assume GP delivers two sales orders and that each order contains two lines. The connector produces the following records:
SalesOrder: field = value, ...
[SalesOrder]Lines: line_field = value, ...
[SalesOrder] Lines
SalesOrder
[SalesOrder]Lines
[SalesOrder]Lines
The record type is [SalesOrder]Lines as opposed to [SalesOrder]Line because of variable names. Remember that a record of type [SalesOrder]Lines represents one line on a sales order.