Showing posts with label integration. Show all posts
Showing posts with label integration. Show all posts

Wednesday, July 2, 2014

Tech Tuesday: What version is what in SmartConnect?

We have recently released SmartConnect 2014; for more information on the initial release, check out our blog post on it from last week here. Chris Dew, our Director of Product Management, will ease any confusion when it comes to different SmartConnect versions below.
 
We have quite a few people that ask what version of SmartConnect is needed for a specific version of Microsoft Dynamics GP or Microsoft Dynamics CRM. The new architecture we introduced in 2010 has allowed us to remain independent of specific versions of products for the most part. As with many ETL tools, we are always introducing new technologies as they are made available. For example, SQL Server 2014, gets added to our list of supported datasource and destinations.

Below I have prepared a couple of key releases you will want to note for the major versions:

SmartConnect 2014
  • Microsoft Dynamics GP 2013 R2, 2013, 2010, 10
  • Microsoft Dynamics CRM 2013, 2011, 4.0 and Online
  • Salesforce.com
  • SQL Server 2014, 2012, 2008, 2005
  • Webservices as datasource and destination
  • Excel add-in for Excel 2013, 2010

As you can see the newest version of SmartConnect should have you covered for most versions of Dynamics GP and Dynamics CRM. We have seen a few customers using SmartConnect to migrate from older versions of Dynamics GP (5 and 6) or from Dynamics CRM 4.0 to 2013 or the Online edition. You won't need to worry about loading any older versions of SmartConnect to go back this far. The only thing I would point out is that we do require SmartConnect to be loaded on a SQL Server 2005 or greater database when you are migrating.

As we look to the near future where we can make additional connectors available, we are especially excited about the "DexNext" services oriented approach. When we add this connector for Dynamics GP 2015 it will open up many more integration points to Dynamics GP and ISV products ensuring that the same business logic is used whether you enter the data inside of Dynamics GP or from SmartConnect. Will eConnect still be around for a while? Absolutely, but Microsoft will be pushing the architecture and I think it will make Dynamics GP have the best integration story with SmartConnect out there!


Interested in SmartConnect? Have further questions regarding versions? Email us at sales@eonesolutions.com and we will be happy to assist you!

Thursday, June 26, 2014

SmartConnect Classroom Training in Q3

Summer is here and though many of us have been taking turns vacationing, we're still hard at work in the office - focusing on the products and getting ready for some great events in (our) Q3. As you look forward to your next quarter, we'd love to have you set aside time to join us at our SmartConnect classroom training events: 

July 16th & 17th: Fargo, ND
August 13th & 14th: Denver, CO
September 17th & 18th: Los Angeles, CA

So are you ready to become an integration guru? The sessions are $1400/per person for two full days of hands-on training and lunches each day. If you send 2 people from your organization, the 2nd person is half off. We have LIMITED SEATING available so please sign up early.

Already made your schedule for next quarter? Consider joining us for the following. The sessions for Q4 are as follows: 

October 12th & 13th: St. Louis, MO (prior to the GPUG Summit event) 
November 12th & 13th: Fargo, ND (prior to the reIMAGINE event)
December 3rd & 4th: Phoenix, AZ

Sign up through our website calendar or email sales@eonesolutions.com if you'd like to participate! 

Tuesday, June 24, 2014

Tech Tuesday: Creating a Task in SmartConnect to get a file from an FTP site

This weeks Tech Tuesday is from our very own Chris Dew, our Director of Product Management, who will explain how to create a task in SmartConnect to get a file from an FTP site.

We get quite a few customers that want to take files from a FTP site and utilize this file as the source of their data when running a map inside of SmartConnect. Today I have created a sample Task script that will allow you to grab a file in a Pre Map Task and then use it for the integration.

First you can simply click on the Tasks button in any existing map, and then choose a new task called run script. This is where you can now copy the script below and paste into this window (like in the image below).



=================================================================

'EXAMPLE OF HOW TO USE FtpWebRequest

        'Configuration
        Const localFile As String = "C:\Users\Administrator\Downloads\ftpREADME.txt"
        Const remoteFile As String = "/README.txt"
        Const host As String = "ftp://ftp.swfwmd.state.fl.us/pub/"
        Const username As String = "anonymous"
        Const password As String = "email@email.com"

        'Create a request
        Dim URI As String = host & remoteFile
        Dim ftp As System.Net.FtpWebRequest = CType(System.Net.FtpWebRequest.Create(URI), System.Net.FtpWebRequest)
        'Set the credentials
        ftp.Credentials = New System.Net.NetworkCredential(username, password)
        'Turn off KeepAlive (will close connection on completion)
        ftp.KeepAlive = False
        'we want a binary
        ftp.UseBinary = True
        'Define the action required (in this case, download a file)
        ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile

        'If we were using a method that uploads data e.g. UploadFile
        'we would open the ftp.GetRequestStream here an send the data

        'Get the response to the Ftp request and the associated stream
        Using response As System.Net.FtpWebResponse = CType(ftp.GetResponse, System.Net.FtpWebResponse)
            Using responseStream As IO.Stream = response.GetResponseStream
                'loop to read & write to file
                Using fs As New IO.FileStream(localFile, IO.FileMode.Create)
                    Dim buffer(2047) As Byte
                    Dim read As Integer = 0
                    Do
                        read = responseStream.Read(buffer, 0, buffer.Length)
                        fs.Write(buffer, 0, read)
                    Loop Until read = 0 'see Note(1)
                    responseStream.Close()
                    fs.Flush()
                    fs.Close()
                End Using
                responseStream.Close()
            End Using
            response.Close()
        End Using
return true
=================================================================

The only configuration that needs to be done is at the very top where you determine four things:
1) The name and location you want to put the file on your network
2) The name of the remote file
3) FTP Site
4) Username
5) Password

Have fun with this one and use your imagination on other scripts you can use. If you have a suggestion for a new script please let me know.

chris.dew@eonesolutions.com

Thanks,
Chris Dew

Interested in SmartConnect? Please email us at sales@eonesolutions.com and we would be happy to assist you!

Wednesday, June 18, 2014

Props to SmartConnect

We are always on the lookout for satisfied (and possibly-not-quite-satisfied) so that we can continue to improve our software and go above and beyond the expectations of our clients. It has recently been brought to our attention that the Markovich Report - a blog by one of our SmartConnect users, was written praising SmartConnect and labeling it his choice integration tool for Microsoft Dynamics GP & CRM.

After listing the other integration options (i.e. Scribe, Connector from Microsoft, writing it yourself) he states,  
"Or you could eliminate all of that nonsense and time wasting and just use SmartConnect from eOne. In fact, you should definitely do that. SmartConnect has changed my life at work."
He also gave this tid bit:
"Side note: this was done without me really knowing much about the CRM tables or how the CRM web services really work. What I found was this: it’s not really necessary. eOne has done all of the heavy lifting for me initially and it’s just up to me to decide what information I want to sync."
So big props to SmartConnect for taking on all the heavy lifting for Joe and for offering many more options to integrate between GP and CRM. Also a big thank you to Joe for your kind words and feedback regarding eOne SmartConnect, we appreciate it!

For the full blog you may view it here.


Do you have a story about how SmartConnect has benefited you? If so we'd LOVE to hear it, please email your story to us at sales@eonesolutions.com!

Tuesday, May 13, 2014

Tech Tuesday: Ask User for Input

Have you ever wanted to ask a user to enter values when they integrate data in SmartConnect? This week's Tech Tuesday is from our Director of Professional Services, Lorren Zemke, who will lead you through an example of doing just that!

 

Overview

While most data integrations are executed on a scheduled basis or the data needed can be calculated or pulled directly from some source, there are times when you may want to ask a user for some values when they execute the process. This can be done in SmartConnect with a simple task and some global variables.

There are two requirements needed to be able to use this method. The main requirement is that the map will be executed manually by a user inside of the SmartConnect User Interface. The second requirement is that you must be using an ODBC Datasource so we can include the global variable as part of the query. The last requirement is that you are using VB.NET for your scripting language as C# does not have the input box method available.

For my example we will be asking the user to provide a document date and a batch number when executing our map to create Accounts Payable transactions.


Global Variables

To create the global variables, we will go to the SmartConnect Maintenance menu and click Global Variables. Enter the Global Variable name and click Add. After you have added your global variables be sure to click the Save button.

We will add GBL_BATCH and GBL_DOCUMENTDATE variables.



Create the Accounts Payable map

We will use an Excel workbook as our data source to create Accounts Payable transactions but we will use the ODBC Connection Data Source type so we can create a SQL statement for our data. Later we will modify the query to select specific data rows based on user input.


Create Script Task to Ask For User Input

Create a pre-map script task to ask the user for the values and store them into the global variables. Right-click on the Tasks that run before the map and choose New Task->Run Script.

We will utilize VB.NET code for this purpose by using the Microsoft.VisualBasic.Interaction.InputBox method to pop a dialog box where the user can enter the value requested.


The script will ask the user for the Document Date that we use in our source query. First, we loop until the user has entered a valid date in the format required. A RegEx Expression is used to validate the user entered the date in the necessary format. Second, we ask the user for a batch number and loop until one is entered. Finally we store the input into global variables.

Remember all task scripts in SmartConnect must return true to be successful otherwise return false to stop processing.

VB.NET Code

'---------------------------------------------------------------------------------------
' Requirements: This map should be located in the Tasks -> Map -> Before location so
'               that the dates entered can be used later on. This isn't required
'               however, and this script can be run anywhere it is needed.
'---------------------------------------------------------------------------------------
'---------------------------------------------------------------------------------------
' Setup:        The only variable that may need to be set is the regular expression
'               string. By default, it accepts a fairly standard input date, but it
'               can be edited if a change is needed.
'
' Update: If the map that the script is attached to is going to be
' scheduled or run real-time then the mapInterface variable should
' be set to 0.
' 0 = scheduled map / real-time map
' 1 = manually run map
'---------------------------------------------------------------------------------------
'----------------------------------- CONFIGURATION -------------------------------------
Dim regExpression As String = "^(0[1-9]|[1-9]|1[012])[ /](0[1-9]|[1-9]|[12][0-9]|3[01])[ /]((19|20)\d\d)"
'First we allow 01,02, etc. OR 1,2,etc. OR 10,11,12 as month entries
'The separators we use can be / to separate the month, day and year
'Next we allow 01,02, etc. OR 1,2, etc. OR 10,11,...,22,23 etc. OR 30,31 as day entries
'Another separator
'Finally we allow 19** OR 20** where the * represents a digit

Dim mapInterface As Integer = 1
'---------------------------------------------------------------------------------------

Try

Dim docDate As String
Dim batchNumber as String
Dim dDate As Date
Dim match As System.Text.RegularExpressions.Match

'Define the regular expression to check dates
Dim dateRegex As New System.Text.RegularExpressions.Regex(regExpression)

    'Prompt for the document date
    docDate = Microsoft.VisualBasic.Interaction.InputBox("Enter the document date (mm/dd/yyyy):", "Document Date")

    'Match the input against the regex
    match = dateRegex.Match(docDate)

    'While it doesn't match the regex or a valid date continue to prompt for it
    Do While (Not match.Success Or Not Microsoft.VisualBasic.IsDate(docDate))
       
'Alert the user of the problem
        Microsoft.VisualBasic.MsgBox("Please enter a valid date in the format of mm/dd/yyyy.")
       
' Prompt for the document Date
        docDate = Microsoft.VisualBasic.Interaction.InputBox("Enter the document date (mm/dd/yyyy):", "Document Date")

        'Match the input against the regex
        match = dateRegex.Match(docDate)
    Loop

    'Prompt for the Batch Number
    batchNumber = Microsoft.VisualBasic.Interaction.InputBox("Enter the Batch Number:", "Batch Number")

    'While it doesn't match the regex or a valid date continue to prompt for it
    Do While (string.IsNullOrEmpty(batchNumber))
       
'Alert the user of the problem
        Microsoft.VisualBasic.MsgBox("Please enter a valid Batch Number")
       
'Prompt for the ending date 
        batchNumber = Microsoft.VisualBasic.Interaction.InputBox("Enter the Batch Number:", "Batch Number")
       

    Loop

    'Store the input dates in Date datatypes
    dDate = CDate(docDate)
   

' Set the value into the global variables
GBL_DOCUMENTDATE = dDate
GBL_BATCH = batchNumber

Catch ex As Exception
If (mapInterface = 1) Then
Messagebox.Show(ex.Message, "DateInputTemplate Script Error")
End If
Return False
End Try

Return True


Create a Calculated Field to Use the Global Variables

To map the Batch Number global variable, we set up a calculation column and map that new column to the destination columns in our map.

We create the calculation column called BATCHNUMBER_CALC.


 Map the new calculation column to the Batch number.

Modify Your Query

Add the global variable to your ODBC Query to restrict what data is actually sent to the destination. When the map executes the user will be prompted to enter the Batch ID and then the Document Date. The Document Date entry will require the user to enter the date in a valid format of Month/Day/Year before continuing.

We will modify our query to select only those transactions in our source file with the date we just entered. We place single quotes around the global variable since SmartConnect replaces that global variable with the value it contains and SQL statements require the single quotes around a date value.

As a warning, with this setting you will receive an error when opening the map about an invalid data source. This is normal and will be changed in our 2014 SmartConnect release.



Execute

Execute the map and you will get the two dialog boxes asking for user input.




Once the user has entered valid data for the input boxes the map execution will proceed and create or update the batch entered for the documents matching the document date entered.

Happy Integrating!!

 If you have any questions regarding this Tech Tuesday article or SmartConnect in general please email sales@eonesolutions.com!

Tuesday, April 29, 2014

Tech Tuesday: Working with Date and Time Fields in Integration between Microsoft Dynamics CRM and Microsoft Dynamics GP using SmartConnect

Today's Tech Tuesday article comes right from the trenches of working in the world of integration. In this article we are going to focus on date fields from Microsoft Dynamics CRM.

Oftentimes when customers need to transform date fields from one format to another they will just use the standard SmartConnect Date Calculation (under Additional Fields in the mapping).


This will normally allow you to transform a date field from any format to any format. In the case of this specific customer we ran into two unique issues.

1) The first hurdle was that sometimes the date field coming from Microsoft Dynamics CRM would be NULL. This presents challenges as you have to make assumptions on how you handle NULLS. 

2) The second challenge was that we had multiple regions involved. In this specific example, we had Microsoft Dynamics CRM Online (hosted in a US locale) and Microsoft Dynamics GP on premise in the UK.

This customer had a Dynamics GP field that needed that date value along with another Extender window that needed the date value. What we were able to do to accomplish this task was to provide a calculated field to meet the criteria for both scenarios. Here is the calculated field that was used below in VB.NET form:

'Use the date field from your CRM Entity below
Dim dateString as string = _CUSTOMENTITY_STARTDATE 
Dim provider as System.Globalization.CultureInfo = System.Globalization.CultureInfo.InvariantCulture
'substitute the "en-US" below with the locale of the source data
Provider = New System.Globalization.CultureInfo("en-US")

'Handle NULL/Blank value of date/datetime field 
if dateString ="" then
     return "1900-01-01"
else
     'Convert the datestring provided to a date field in locale, then convert to desired locale
     return (Convert.ToDateTime(dateString,provider)).ToString("yyyy-MM-dd")

end if

In this script we are using an interesting .NET feature. The CultureInfo class allows us to determine the locale of the date format. This in turn can be used to convert the dateString from Microsoft Dynamics CRM to the format of any locale. In our specific example we converted a US format date into the format that most of the world uses (in this specific instance, the UK). Additionally, we simply indicated that a blank value would return a standard date in the format that Microsoft Dynamics GP likes.

This script could be used to change any date/datetime field into a format suitable for Microsoft Dynamics CRM or Microsoft Dynamics GP.

Hope this helps you with any date calculation issues you may be trying to solve.

Thanks,
Chris Dew

Want more information on SmartConnect and the features it offers? Please contact sales@eonesolutions.com for more information!

Thursday, March 13, 2014

Join Us at One of Our SmartConnect Classroom Trainings this 2014

Now that Convergence has passed and we've had a successful SmartConnect classroom training in Atlanta. We thought we'd release a little reminder on our other SmartConnect classroom training sessions we're hosting throughout 2014.


April 9th & 10th: Chicago, IL
May 7th & 8th: Seattle, WA
June 11th & 12th: Philadelphia, PA
July 16th & 17th: Fargo, ND
August 13th & 14th: Denver, CO
September 17th & 18th: Los Angeles, CA
October 12th & 13th: St. Louis, MO (prior to GPUG) 
November 12th & 13th: Fargo, ND (prior to Microsoft's Stampede)
December 3rd & 4th: Phoenix, AZ

So are you ready to become an integration guru? The sessions are $1400/per person for two full days of hands-on training and lunches each day. If you send 2 people from your organization, the 2nd person is half off! We have LIMITED SEATING available so please sign up early. 

You may sign up through our website calendar or email sales@eonesolutions.com.

Tuesday, February 18, 2014

Tech Tuesday: Line Sequence Numbering

In a previous post I discussed using Global Variables to sum amounts for detail lines. This method can be used for additional purposes such as incrementing sequence line numbers. To accomplish this correctly and quickly we need to understand how SmartConnect processes calculated fields. Basically SmartConnect runs through the calculations for each destination node for a document (the key fields) and then sends that document. Then it moves to the next source record and processes again. This blog article will walk through that process.

I'll use the example of creating inventory item transfers that include items with Serial Numbers. We need to calculate the sequence number for the serial number line since we don't have it available in our source file and we are letting eConnect default the next line sequence number.

Our data source has standard inventory item information. ItemCode, Serial Number, Quantity, Current Location, New Location and Transaction Date.

We will set our key field to the Transaction Date since we want to have one Transfer Document per date in our file.   



Here are the Microsoft Dynamics GP Destination nodes we will map for this transfer integration. We will Create Inventory Transfer header, Add Line Items and Assign Serial Numbers to those line items.

Processing

SmartConnect will take the data source and process each Key Field set, or data grouping, as one document, running through the Assign Serial Number node, Add Line Item Node and then the Create Inventory Transfer Node doing all of the calculations in each node consecutively. The next step is to move on to the Pre Document tasks before sending the data to the destination. After the document process has returned from the destination, the post document tasks are processed.

Data

In this dataset, I have only one transaction date so it will run through this set once.


In this next dataset, SmartConnect will run each process twice since we have two different transaction dates.


The reason for all of the above information is to show how to calculate values correctly within Smart Connect.

Setup

In this example, I need to make sure the Serial Number line will have the same line item sequence as the inventory transaction line where they belong. If we don't, we will get errors like the Line Item Quantity does not match the Serial Number Quantity.

First, we set up two Global Variables using the Global Variables option from the Maintenance menu. We will call one GBL_TRANSFERLINESEQUENCE and the other GBL_SERIALNUMBERSEQUENCE.

In the Assign Serial Number node, we will use the Restriction script to determine the next Transaction Line Sequence number, by checking to see if our Item Number is different. If it is a new Item Number, we increment our line by 16384.

If _ITEMCODE <> GBL_CURRENTITEMNUMBER then
GBL_SERIALNUMBERSEQUENCE += 16384
end if
GBL_CURRENTITEMNUMBER = _ITEMCODE

' Only map this line if there is a serial number
If _SN > "" Then
Return true
Else
Return false
End If

Assign Serial Number Node 

In the Assign Serial Number node, we will create a calculated column called NEXTSERIALLOTSEQUENCE to return the current line sequence number that is calculated in the restriction script using the code below. (This is the VB.NET version). This will give us the Sequence number from the transaction line.

Dim mysequencenumber as integer
mysequencenumber = GBL_SERIALNUMBERSEQUENCE
Return mysequencenumber

Then we will map this to the Line Sequence Number column in our destination.

Add Line Item Node

We can now move on to mapping the line which requires creating a calculated field to increment the Line Sequence, just as we did in the Assign Serial Number line, however we will increment our other global variable.

Create a calculated column called NEXTLINESEQUENCE that increments the GBL_TRANSFERLINESEQUENCE global variable for each item in our group. This assumes we have grouped our data for this node by the Key Fields and then Item Number to create a new line for each item in our data set.

Use this code for the calculated column

dim mysequencenumber as integer
mysequencenumber = GBL_TRANSFERLINESEQUENCE
GBL_TRANSFERLINESEQUENCE = GBL_TRANSFERLINESEQUENCE + 16384
return mysequencenumber

Then map this calculated field to the Line Item Sequence.

Create Inventory transfer Node

The Create Inventory Transfer node does not require any special settings and can be mapped as follows.

Final Step

As a final step we need to reset the global variables to make sure the calculations are correct for the next document. We will create a Script Task that runs before the document which can be misleading however. This really means the task is executing before it is sent to the destination not before the data is gathered for processing. What we are really doing is clearing the variables before the next document begins processing.

Here is the code we will use for this Pre-Document Task

GBL_TRANSFERLINESEQUENCE = 16384
GBL_CURRENTITEMNUMBER = String.Empty

return true

Here is the screen showing the Document Task

Summary

To summarize, SmartConnect executes each node separately for a given document, defined by the key fields of the map, before sending the document to the destination. The order the nodes are processed is the order they appear in the destination.

Happy Integrating!!


Interested in learning more about SmartConnect? Feel free to reach us at sales@eonesolutions.com!

Tuesday, December 17, 2013

Tech Tuesday: SOP Map Parameter Flags - SmartConnect

For this week's Tech Tuesday we have another SmartConnect video demo focusing on the SOP map parameter flags by Chris Hanson, one of our Senior Consultants!

When running an integration into GP, a lot of times there are node-specific flags that can be set to determine how the nodes run. Most of these flags will trigger other nodes to run or execute additional code within the current node being used. The below video shows a couple of these flags that are available in the SOP nodes for both the lines and header.



Like what you're seeing? Want more SmartConnect demos? Feel free to send your requests into us at sales@eonesolutions.com!


Thursday, December 12, 2013

New SmartConnect Build Available

SmartConnect 2013 Service Pack 1 HF3 Updates
We have a new build for everyone today!
This release of SmartConnect enhances existing features and fixes a couple of outstanding bugs. It is available for immediate download on our website: http://www.eonesolutions.com/Downloads/SmartConnect.aspx

This update for SmartConnect 2013 has addressed the following areas:
Global Variables – In previous versions of SmartConnect 2013 you would need to initialize at least one Global Variable in order to work with any of the others. With this release, you are able to access any of the System or User Defined Global Variables in any Task or Calculated field.
Run SQL Task Parameters – You can now add multiple parameters or data source fields into a Run SQL Task. Previously it would only read the first occurrence.
WCF REST Web Service – We added some additional functionality to report errors back via the return XML coming from our web service calls.
Custom Nodes – Some customers have experienced an issue when they upgrade from a version previous to SmartConnect 2013, indicating that the mapping for their custom eConnect nodes will be removed. With this new version, all you will need to do is run the System Maintenance a second time and all custom nodes will be available.
Excel 2013 32bit and 64bit Add-in – These new Excel Add-ins were actually released last month but I wanted to highlight them again as many of you may not know they exist. They offer some great features like pulling back your existing maps and the ability to pull back data or the columns you need from the map setup. We will present a video on the new Excel Add-in in the coming months.

Our next Service Pack, slated for the first quarter of 2014, has over 30 features and I’ll tell you more in an upcoming article. As always, I love to hear your feedback on what we should put into our next versions of SmartConnect or any of the eOne products.

Thanks,

Chris Dew
Director of Product Management


Wednesday, December 11, 2013

How to Add Remit To Address ID to SmartConnect

David Youngquist, our support and eOne product guru, shares his tips on adding the Remit to Address ID to SmartConnect.

These steps will work for any eConnect parameter that is included in the eConnect SDK, but does not show up in SmartConnect.  

1. First find out the Element Name that you need to add to SmartConnect.  In this case we want to add the Remote to Address ID to the Payables Transaction Node.  From the SDK, the correct format is this.  
  


2. Open SmartConnect and go to the Maintenance tab.  Click on Node Maintenance on the far right.  



3. In the Node Maintenance Window, find the Node you need to add the parameter to and double click on it.



4. Scroll all the way to the bottom and click Add Field.

5. In the new line that gets added, type in the parameter name exactly like it shows in the eConnect documentation. Match the data type to what the eConnect SDK says. In this case it’s a string.  


6. Click Save on the “Create / Update Node” window, then click Save on the “Microsoft Dynamics GP Node Maintenance” window.  

7. Your map will now have the field available to map.  

Has this article been helpful? Let us know which tech articles are your favorite! Leave a comment below. 

Tuesday, October 1, 2013

Release Info on SmartConnect 2013, Service Pack 1


SmartConnect 2013 Service Pack 1
 
We are very excited to release SmartConnect today!

Service Pack 1 for SmartConnect 2013 has over 40 new features added along with several fixes. Here are a few of the really exciting features and the download below:
http://www.eonesolutions.com/Downloads/SmartConnect.aspx

Multiple Datasources – You can use the feature to pull data from an Excel Sheet, a SQL Table and CRM all at one time without creating calculated fields.

View Event Logs inside of SmartConnect – This feature will give a SmartConnect user access to view the Windows Event Log messages from across machines on the network directly inside of the program.

Folder Real-Time Triggers – Now you can have a map trigger immediately after you place the integration file in a directory. Scheduling this before was pretty good but now it runs right away.

Extender eConnect Nodes – The GP2013 Extender Nodes are REALLY nice now. It will allow you pick your window and it actually bring back the fields you have on that window. This makes mapping Extender information even easier than before. Additionally, you can add as many Extender windows and forms as you want.

Web Service as a data source or destination (we had destination before) – The ability to add any web service that has a defined WDSL as a datasource was added with this release. We had previously added the ability to use a web service as a destination and with this new functionality, we can pull or push information right from inside of SmartConnect. If you are on Dynamics GP 10, 2010 or 2013 , using MS CRM or SalesForce, you will find that this version will give you a great experience as you upgrade.  

Chris Dew
Director of Product Management


Wednesday, April 3, 2013

Convergence Proves Again That GP is Still The Very Best Mid Market ERP Available

Convergence in New Orleans: 11,000 people, 4 days, extreme working hours, no sleep, 1000 smiles, some new friendships and way too many beverages.

My big take away from New Orleans this year is that there is absolutely no doubt that Microsoft Dynamics and specifically GP and CRM provide one of the very best mid-market solutions available. Here are a few of my thoughts as to why I reached that conclusion:

1. GP is Experienced: and has been around forever meaning it is tried, tested and an extremely solid solution. Fully functional and relatively bug free.

2.  GP customers just love it: Some folks seem to be even too passionate (a little over the top) about their software! I met thousands of customers that think their GP solution is just awesome. I want to clarify this a little - as every one of the people that love GP - put a lot of effort into making it work to suit their business. They invest time and effort into their systems and use it to do way more than just basic accounting functions.  If you want any software solution to do everything for you without putting in an effort - you will be sorely disappointed no matter how much software you purchase. ERP and CRM are complex, they must be configured, must be maintained and most of all must be deeply understood if you are going to reap the benefits.

3. WebClient:  I believe that too many people are getting hung up in the cloud. That said - the new GP web client is providing access to critical ERP functionality via a browser for those that need it. Microsoft sinking plenty of dollars into this as the delivery mechanism for GP. CRM already has a world class browser and cloud delivery.

4. Mid Market Flexibility: The happy clients I met were not small businesses. These companies are mid to large enterprises with complex needs, complex solutions and clever people to deliver them.  Many of these companies were amazed at the value for money they receive vs. a large scale SAP type ERP solution. If you are a small company wanting a generic solution that does your accounting  - then GP is probably not for you. (Go and buy NetSuite).

5. ISV community: Some call this a downside, I believe it is awesome. The ISV development community for GP and CRM is deep, experienced and passionate. This community is the envy of most other ERP solutions. The ERP that tries to build in functionality to fit every situation ' is really dreaming'. The knowledge required to truly nail these more niche solutions is something that a large ERP solution (including Microsoft) can not and do not possess (leading to half baked software releases).  If you need some extra functionality - there is an App for that.  These ISV's have been around for a long time and have deep domain knowledge in their chosen solutions. They all integrate seamlessly and closely with Microsoft Dynamics (especially as more of them take on SmartConnect as the integration tool of choice).

6. Ease of Integration:  Every business has some very business specific solution in place. It might be a point of sale system, a transaction website, an industry specific CRM or billing engine, warehouse or any number of point software solutions. This makes GP the back end core for all these systems - and with tools like SmartConnect it becomes a very simple process to integrate data in and out.

7. Clever hard working people:  This is perhaps the best and most important factor - the people I met were smart, they had good ideas, were creative and knew how to get things done. Software is no use to anyone unless it fits into the daily process of your business, and that's where people fit in.

 8. Community: The willingness to both learn and share was amazing. Groups like GPUG (GP user group) do an amazing job in connecting people who are working on the same types of businesses with similar needs and similar solutions.  Learning from others and learning their lessons the easy way is just super.  Other ERP solutions I look at would do anything for a strong user community like GP and CRM has.

You will notice that many of the points above are about people rather than technology. The GP technology is current and as good an anything in the market - but it is the people that make it a success. I for one - will continue to invest my money in my business building solutions for the Dynamics range. There is a long future for GP, and other products will come and go while creating a buzz, but GP will remain a technology leader with the best network of people supporting it.