Great Plains Integration

Document created by gbockelmann Employee on Aug 2, 2012
Version 1Show Document
  • View in full screen mode
Apply these connector best practices to your process development.
Installation

     Prerequisites setup

     Setup COM+ account DB permissions

     When the Connector runs in two server mode, the eConnect COM+ application uses SQL Server integrated security to connect to the eConnect business objects. During the installation of eConnect, you need to supply a domain user account for the COM+ application. This domain user account needs to be added to the DYNGRP group on your SQL Server. To set up the user account, perform the following steps:

  1.           Launch "SQL Server Enterprise Manager" and go to the DYNAMICS database.
              
         
  2.           Right click User under the database DYNAMICS and choose New Database User....
              
         
  3.           Add the domain user account to the DYNGRP database role.
              
         

     Make sure DTC is running

  1.           Launch the Services console by going to Start >> Run and typing services.msc. Verify the Distributed Transaction Coordinator service is running.
              
         

     Setup Functional Currency in MS-Dynamics GP

     eConnect requires a functional currency to be set up for Microsoft Dynamics GP, even if multicurrency is not being used. To set up a functional currency, do the following:

  1.           Open the Multicurrency Setup window in Microsoft Dynamics GP.
              From the menu bar, choose Tools >> Setup >> Financial >> Multicurrency. This example designates US dollars as the functional currency.
              Unable to render embedded object: File (MultiCurrency.bmp) not found.
  2.           Complete check links when needed.
              If a message prompts you to run check links for the multicurrency table, you should do so. To run check links, go to File >> Maintenance >> Check Links. Select the series and tables to check. Click OK.

     Common Connection Issues and Troubleshooting

     Error: The partner transaction manager has disabled its support for remote/network transactions

     When making a request to eConnect, you may get the following exception:

cli.System.Transactions.TransactionException: The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025)
        at cli.System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(Unknown Source)
        at cli.System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(Unknown Source)
        at cli.Microsoft.Dynamics.GP.eConnect.eConnectMethods.eConnect_Requester(Unknown Source)
        at server.eConnect.request(eConnect.java:38)
        at java.lang.reflect.Method.invoke(Method.java:434)
        at gnu.java.rmi.server.UnicastServerRef.incomingMessageCall(UnicastServerRef.java:394)
        at gnu.java.rmi.server.UnicastServer.incomingMessageCall(UnicastServer.java:279)
        at gnu.java.rmi.server.UnicastServer.dispatch(UnicastServer.java:235)
        at gnu.java.rmi.server.UnicastConnection.run(UnicastConnection.java:219)
        at java.lang.Thread.run(Thread.java:744)
        at java.lang.VMThread.run(VMThread.java:76)
        at java.lang.VMThread$1.Invoke(VMThread.java:334)
        at cli.System.Threading.ThreadHelper.ThreadStart_Context(Unknown Source)
        at cli.System.Threading.ExecutionContext.Run(Unknown Source)
        at cli.System.Threading.ThreadHelper.ThreadStart(Unknown Source)
Caused by: cli.System.Runtime.InteropServices.COMException: The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025)
        ... 12 more

Solution:
     First verify that the "Distribute Transaction Coordinator" Service is running on both the database server computer and the client computer.

  1.           Go to Start >> Administrative Tools >> Services.
  2.           Turn on the "Distribute Transaction Coordinator" Service if it is not running

     If DTC is running and the Boomi Atom is not on the same computer as the database server, perform the following steps on the computer running the database server

  1.           Go to Start >> Administrative Tools > Component Services.
  2.           On the left navigation tree, go to Component Services >> Computers >> My Computer (you may need to double click and wait as some nodes need time to expand).
  3.           Right click My Computer and select Properties.
  4.           Go to the MSDTC tab
  5.           Click Security Configuration
  6.           Make sure you check "Network DTC Access", "Allow Remote Client", "Allow Inbound/Outbound", "Enable TIP" (Some options may not be necessary.)
  7.           The service will restart.
  8.           Try to connect from Boomi AtomSphere.
  9.           YOU MAY NEED TO ALSO REBOOT YOUR SERVER IF IT STILL DOES NOT WORK

     On your client computer, use the same procedure to modify the "Security Configuration" settings. Make sure you check the "Network DTC Access" and "Allow Inbound/Outbound" options. Restart the service, and reboot the computer if necessary.

     On your SQL server service manager, click the "Service" dropdown, select "Distribute Transaction Coordinator." It should be also running on your server computer.

     Error: The transaction has already been implicitly or explicitly committed or aborted.

     When the local client machine's IP address changes, you may get the following exception:

Starting call eConnect....cli.System.Transactions.TransactionException: The transaction has already been implicitly or explicitly committed or aborted.
        at cli.System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(Unknown Source)
        at cli.System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(Unknown Source)
        at cli.Microsoft.Dynamics.GP.eConnect.eConnectMethods.eConnect_Requester(Unknown Source)
        at server.eConnect.request(eConnect.java:78)
        at java.lang.reflect.Method.invoke(Method.java:434)
        at gnu.java.rmi.server.UnicastServerRef.incomingMessageCall(UnicastServerRef.java:394)
        at gnu.java.rmi.server.UnicastServer.incomingMessageCall(UnicastServer.java:279)
        at gnu.java.rmi.server.UnicastServer.dispatch(UnicastServer.java:235)
        at gnu.java.rmi.server.UnicastConnection.run(UnicastConnection.java:219)
        at java.lang.Thread.run(Thread.java:744)
        at java.lang.VMThread.run(VMThread.java:76)
        at java.lang.VMThread$1.Invoke(VMThread.java:334)
        at cli.System.Threading.ThreadHelper.ThreadStart_Context(Unknown Source)
        at cli.System.Threading.ExecutionContext.Run(Unknown Source)
        at cli.System.Threading.ThreadHelper.ThreadStart(Unknown Source)
Caused by: cli.System.Runtime.InteropServices.COMException: The transaction has already been implicitly or explicitly committed or aborted (Exception from HRESULT: 0x8004D00E)
        ... 12 more

Solution:
     This is because the MSDTC cannot correctly resolve the local host's new (modified) IP address via the DNS server (the DNS server may be holding on to a stale IP reference). Restore your old IP or check the DNS settings to make sure the GP DB server can correctly resolve the client host name via DNS.

     Troubleshooting

     Because the Great Plains application consists of many different modules including eConnect, .NET, Microsoft SQL server, DCOM, MSDTC, etc. initial configuration and troubleshooting can be more involved than with other applications and connectors.

     Most Great Plains connection issues are related to permissions: user permissions and database permissions.

     High-level diagnostic steps:

  1.           Verify Boomi Connection configuration
  2.           Verify database port
  3.           Check the user has the right password and permission
  4.           Check the database has the right permissions

     User Permissions: to use eConnect, a user (domain user) needs to have right permission to connect to Great Plains. Please perform the following steps to make sure the user permission is correct.

  1.           Login to the Windows machine which contains your Boomi Atom.
  2.           Go to Start >> Run and type services.msc and click OK to launch the Services console.
  3.           Verify that the "Distributed Transaction Coordinator" service is started.
  4.           Go to Start >> Run and type dcomcnfg and click OK to launch the Component Services console.
  5.           Go to Console Root >> Component Services >> Computers >> My Computer.
  6.           Right click My Computer and choose Properties...
  7.           Go to the Default Properties tab and verify that Enable Distributed COM on this computer is checked.
              
         
  8.           Go to the MSDTC tab and click Security Configuration. Verify that the "Network DTC Access", "Allow Remote Clients", "Allow Inbound", "Allow Outbound", and "Enable Transaction Internet Protocol (TIP) Transaction" options are checked.
              
         
  9.           Under the My Computer folder, right click COM+ Applications and choose Properties...
  10.           Click Identify and verify that the user and password are correct and have not been expired or locked from Windows user management tools. The user configured here should be the same user configured in the Boomi Great Plains Connection. To make sure the password and the user account is right, you can retype the password and click Apply. If it is incorrect, it will display an error.
              
         
  11.           After resetting the Identity, you may need to "Shut Down" and "Start" the eConnect COM+ application by clicking the right mouse button as shown below:
              
         

     Database permissions: eConnect uses the user configured in the above "Identity" tab to connect to the MS SQL server. The user must also be granted the proper permissions on the database side.

  1.           Login to the MS SQL server (this guide illustrates the process for SQL Server 2005).
  2.           Start the "SQL Server Configuration Manager" and go to SQL Server 2005 Network Configuration >> Protocols for <server name> >> TCP/IP*. Right click TCP/IP and choose Properties.
              
         
  3.           On the Protocol tab, verify Enabled is set to "Yes". On the IP Addresses tab, in the IPAll section, verify the port is specified in either the TCP Dynamic Ports or TCP port.
              
         
  4.           Start "Microsoft SQL Server Management Studio Express", right click your database instance, and choose Properties.
              
         
  5.           Go to Security and verify "SQL Server and Windows Authentication mode" is checked.
              
         
  6.           Setup the necessary database permissions for the user. Please refer to the above section "Setup COM+ account DB permission" for details.

Attachments

    Outcomes