Showing posts with label Integration. Show all posts
Showing posts with label Integration. Show all posts

Thursday, November 6, 2014

Excel to GP – GL Transactions with Analytical Accounting

I know Mahmoud M. AlSaadi very well! He is a colleague and friend, I know very well his experience in Excel and SQL, I been watching Mahmoud last few months hardly collecting his experiences to make something and expected the thing to be big, he finally worked out his master piece and it was really amazing finding such a process in Dynamics GP.

He has created some refreshable sheets on a workbook that reads data directly from your GP database, and used this to validate a default sheet that represents your new GP GL Transaction Entry! Instead of manually creating transactions with complicated Analytical Accounting information, you just fill the Excel and his tool will automatically generate the macro needed to fill transactions inside GP.

Needless to say, it is a free tool that is shared on his blog post below:

http://mahmoudsaadi.blogspot.com/2014/11/analytical-accounting-entry-excel-to.html

I would advise you watch the below video and go to the download page to get your copy:

I would say good job Mahmoud! Looking to see you with us at the MVPs board soon.


Regards,

--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
http://www.di.jo

Sunday, June 24, 2012

Microsoft Dynamics GP Excel Paste is now Online

 

Production version of Microsoft Dynamics GP Excel Paste is now released and the development team has updated the website to integrate PayPal!

Download Fabrikam copy now or purchase your company version now from the below link:

http://www.dynamicsinnovations.com/GPExcelPaste.aspx

Below is the pricing table for the tool:

Core Financial Modules (GL, CM, DTA) 350$
Accounts Payables and Receivables (AR, AP) 300$
Sales Order Processing (SOP) 400$
Purchase Order Processing (POP, POR, POE) 400$
Inventory Control (IV, IVC) 300$
Payroll (UPR) 300$
Full Package – All Modules 1,300 $

Enjoy!

Regards,
--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
www.mohdaoud.com

Wednesday, June 20, 2012

Excel Paste for “Any Screen” in Microsoft Dynamics GP

 

Last few days, we have released a tool to paste data from Excel into Dynamics GP GL Transaction Entry form and published the tool for all users with no charge.

From that day, the development team in DI has decided to go further with this and tried to enhance the dynamicity of the tool to go beyond what we have developed and develop a tool for sale but worth payment, so end users can define the paste path and how to paste columns in Dynamics GP.

In addition they wanted to make this for all GP forms not only GL Transaction Entry, and going from there below what we have developed.

If you would like to watch this live on what we have done using excel paste for forms with scrolling windows, please take a look into the following video:

Purchase Order Excel Paste

So what if you do not have scrolling window and you want to paste from excel into “Cards”? We have included this we well! Check below video on how to paste customers:

Customer Card Excel Paste

Initially, users will need to analyze what fields need to be included in the paste operation, for example let us take the purchase order screen as an example:

image

I have picked the integration path that I need on the screen and been ready to setup my Excel Paste using the following setup screen:

image

End user will be able to define what they just analyzed using the above screen, they just select Form Name, Window Name and start selecting fields one by one.

Once finalizing the setup, copy data from an excel like the below:

image

And just paste on the purchase order screen:

image

Enjoy!!!

Regards,
--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
www.mohdaoud.com

Wednesday, May 4, 2011

eConnect Error: The argument type `SqlClient` cannot be converted into parameter type `Microsoft.Dynamics.GP.eConnect.EnumTypes+ConnectionStringType`.

 

After upgrading one of my customers from GP 10.0 to GP 2010, I noticed an error in eConnect adapter developed to integrate receiving, the error was:

The argument type `SqlClient` cannot be converted into parameter type `Microsoft.Dynamics.GP.eConnect.EnumTypes+ConnectionStringType`.

image

While investigating this out, I noticed that I have upgraded the eConnect on the client’s server but didn’t upgraded the .Net solution DLL to the new eConnect!

Upgrading the eConnect DLL on my solution resolved the problem!

Regards,
--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
www.mohdaoud.com

Wednesday, March 2, 2011

Who’s editing this transaction?

 

Dynamics GP manages transactions locking by saving the “ID” of the transaction’s being edited in the SQL (SY00800, SQL00801 and DEX_LOCK in tempdb) to avoid any deadlocks in the database.

However, when a user tries to open one of the locked transactions, it will be notified that the transaction is currently locked by another user:

Michael D Johnson posted a solution for this. Now, you can download the free Record Lock Tracing add-on for Dynamics GP (Tested on v10 and GP2010) that will replace this generic message with a message that includes the specific user that has the record locked:

Well done Michael!

Regards,
--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85
me@mohdaoud.com
www.mohdaoud.com

Friday, December 17, 2010

Integration Manager Menu is Disabled inside Dynamics GP?!?

I found a question in the Dynamics Forum about this subject and answered Mariano Gomez, Mariano detailed all the steps required to fix this up, follow Mariano steps in this article if you found an issue about this subject.

Regards,
--
Mohammad R. Daoud MVP - MCT
MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85 
me@mohdaoud.com
www.mohdaoud.com

Tuesday, September 28, 2010

Export and Import Integration Manager Integrations – Dynamics GP

Have you wondered how to move integrations from one location to another? Have you tried to export the integration and it didn’t work? Follow steps below:

1. Open Integration Manager and go to Tools –> Create Database:

image

2. Save the database in a known location.

3. Go to File –> Export Integrations, and select the file you just generated.

4. Copy the file to the other PC and import it.

Enjoy!

Regards,
--
Mohammad R. Daoud - CTO
MVP, MCT, MCP, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85 
mohdaoud@gmail.com
mohdaoud.blogspot.com

Friday, April 16, 2010

Integration Manager Scripts without hard coding the Database Name

Good method by Touchstone blog, to write SQL Scripts within your Microsoft Dynamics GP Integration and perform some database operations without having to hard code the database name.

Checkout the article here.

Regards,
--
Mohammad R. Daoud - CTO
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85 
mohdaoud@gmail.com
mohdaoud.blogspot.com

Saturday, February 20, 2010

Group Transactions in Integration Manager

Mariano came across a question he got on how to group transactions by date in Integration Manager, checkout how did he resolve this here.

Regards,
--
Mohammad R. Daoud - CTO
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85 
mohdaoud@gmail.com
mohdaoud.blogspot.com

Sunday, January 31, 2010

Integration Manager Basics

Interesting article about Integration Manager, it explains the processes in details with images on each required step, checkout this article @ Q Factor Blog.

Regards,
--
Mohammad R. Daoud - CTO
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
+962 - 79 - 999 65 85 
mohdaoud@gmail.com
mohdaoud.blogspot.com

Saturday, November 21, 2009

Debug Integration Manager Process

Another interesting post from WAQAS, about integration manager debugging, check it out below:

http://waqasb.blogspot.com/2009/11/integration-manager-10-debugging.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Thursday, October 15, 2009

Practical Example on Dynamics Continuum Integration Library: GL Transaction Entry Integration

I got allot of questions on how to use Dynamics Continuum API for Microsoft Dynamics GP, so I decided to post this practical lesson on how to perform forms level integration between any application or data source and GL Transaction Entry form:

References:

In order to start working on the API, we need first to add Reference to Dynamics Continuum Integration Library to our application:

image

Now we have three main functions/methods that we need to use:

 

Functions/Methods:

1. ExecuteSanscript: Function executes Dexterity code and return the result, expects two parameters and returns integer that the status was successfully completed or not:

ExecuteSanscript("Script" as String, ByRef "ErrorMessage" As String)

2. SetDataValue: Function sets value in any "fully qualified" field name, expects two parameters and returns integer that the status was successfully completed or not:

SetDataValue("Field Name" as String, Value as String)

3. MoveToField: Moves the cursor to the field, expects only the field name as the parameter, almost equivalent to "focus field" command in Dexterity:

MoveToField("Field Name" as String)

 

Concept:

To proceed with our task, we'll need first to understand how it works, we'll need to imagine that a user is working on the form and follow all the steps need to be done, for example, the user will go to date field, fill the date and leave the field so the system run all validations on date field leave, technically speaking "MoveToField" will need to be called first, then "SetDataValue" and finally "ExecuteSanScript" to run the required scripts on leaving the field.

 

Code Snippets:





 




'Define the main object


Dim objGPApp As New Dynamics.Application


 


'Variable to Handle Returned Errors Flag


Dim intErrorValue As Integer


'Variable to Handle Returned Errors Messages


Dim strErrorMessage As String


 


'Other Needed Variables


Dim strBatchID As String = "Dataset Name"


Dim SourceDocument As String = "Source Document"


Dim TrxDate As String = "01012009"


Dim ReferenceID As String = "Sample"


Dim dsDetails As DataSet


'------------------------------------------------------------------------------


'Open the GL Transaction Entry Form


intErrorValue = objGPApp.ExecuteSanscript("open form 'GL_Transaction_Entry';", strErrorMessage)


 


'------------------------------------------------------------------------------'


'Add/Update Batch to make sure its exist


'Open Batch Entry Form


intErrorValue = objGPApp.ExecuteSanscript("run script  'Expansion Button 1' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage)


 


'Fill Batch Number


intErrorValue = objGPApp.SetDataValue("'Batch Number' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry'", strBatchID)


 


'Run Batch Number Script


intErrorValue = objGPApp.ExecuteSanscript("run script 'Batch Number' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry';", strErrorMessage)


 


'Fill Origin


intErrorValue = objGPApp.SetDataValue("'Origin' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry'", 1)


 


'Go To Batch Comment Field


intErrorValue = objGPApp.MoveToField("'Batch Comment' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry'")


intErrorValue = objGPApp.ExecuteSanscript("run script 'Batch Comment' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry';", strErrorMessage)


 


'Save Batch


intErrorValue = objGPApp.ExecuteSanscript("run script 'Save Button' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry';", strErrorMessage)


 


'Close form


intErrorValue = objGPApp.ExecuteSanscript("close form 'GL_Batch_Entry';", strErrorMessage)


' End Batch


'------------------------------------------------------------------------------'


 


'Add/Update Source Document  to make sure its exist


'Open Source Document Form


intErrorValue = objGPApp.ExecuteSanscript("open form 'SY_Source_Document_Setup';", strErrorMessage)


 


'Move to Source Document Field


intErrorValue = objGPApp.MoveToField("'Source Document' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup'")


 


'Set Field Value


intErrorValue = objGPApp.SetDataValue("'Source Document' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup'", SourceDocument)


 


'Run Field Script 


intErrorValue = objGPApp.ExecuteSanscript("run script 'Source Document' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup';", strErrorMessage)


 


'Go To Description Field


intErrorValue = objGPApp.MoveToField("'Source Document Description' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup'")


'Set Data Value in Description Field


intErrorValue = objGPApp.SetDataValue("'Source Document Description' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup'", SourceDocument)


 


'Run Field Script 


intErrorValue = objGPApp.ExecuteSanscript("run script 'Source Document Description' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup';", strErrorMessage)


'Save 


intErrorValue = objGPApp.SetDataValue("'Save Button' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup'", 1)


'Close Form


intErrorValue = objGPApp.ExecuteSanscript("close form 'SY_Source_Document_Setup';", strErrorMessage)


'End Source Document Adding


'------------------------------------------------------------------------------'


 


'Now we are sure that the batch number and source document are both exist, 


'so we can use both of them in our form 


intErrorValue = objGPApp.MoveToField("'Batch Number' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Batch Number' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'", strBatchID)


intErrorValue = objGPApp.ExecuteSanscript("run script 'Batch Number' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage)


 


intErrorValue = objGPApp.MoveToField("'Source Document' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Source Document' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'", SourceDocument)


intErrorValue = objGPApp.ExecuteSanscript("run script 'Source Document' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage)


'------------------------------------------------------------------------------'


'Proceed with Journal Header Fill


'Reference


intErrorValue = objGPApp.MoveToField("'Reference' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Reference' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'", ReferenceID)


intErrorValue = objGPApp.ExecuteSanscript("run script 'Reference' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage)


 


'Transaction Date -You need to make sure that you passed the date 


'in the correct format-


intErrorValue = objGPApp.MoveToField("'TRX Date' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'TRX Date' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'", TrxDate)


intErrorValue = objGPApp.ExecuteSanscript("run script 'TRX Date' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage)


'End of Journal Header


'------------------------------------------------------------------------------'


'Journal Details: in this example, I considered the data is already filled in 


'a dataset called dsDetails with the following columns:


'(AccountNumber, AccountType ('Credit', 'Debit'), AccountAmount, LineDescription)


'------------------------------------------------------------------------------'


'Loop through all details


For Counter As Integer = 0 To dsDetails.Tables(0).Rows.Count - 1


    With dsDetails.Tables(0).Rows(Counter)


'Start with Account Number


intErrorValue = objGPApp.ExecuteSanscript("focus field 'Account Number' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.MoveToField("'Account Number' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Account Number' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'", .Item("AccountNumber"))


intErrorValue = objGPApp.ExecuteSanscript("run script 'Account Number' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


 


'Check the account type, credit or debit


If Trim(.Item("AccountType")).ToLower = "Debit".ToLower Then


'Incase of Debit, fill debit with the amount 


intErrorValue = objGPApp.ExecuteSanscript("focus field 'Debit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.MoveToField("'Debit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Debit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'", .Item("AccountAmount"))


intErrorValue = objGPApp.ExecuteSanscript("run script 'Debit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.ExecuteSanscript("focus field 'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.MoveToField("'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'")


 


Else


'Incase of credit, fill credit field with the amount 


intErrorValue = objGPApp.ExecuteSanscript("focus field 'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.MoveToField("'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'", .Item("AccountAmount"))


intErrorValue = objGPApp.ExecuteSanscript("run script 'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


End If


 


'Fill the distribution reference field 


intErrorValue = objGPApp.ExecuteSanscript("focus field 'Description' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.MoveToField("'Description' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Description' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'", .Item("LineDescription"))


intErrorValue = objGPApp.ExecuteSanscript("run script 'Description' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


 


'Move the scrolling window to the next line


intErrorValue = objGPApp.ExecuteSanscript("Window_ScrollScrollingWindow(window 'Transaction_Scroll' of form 'GL_Transaction_Entry', SCROLLTYPE_NEXT);", strErrorMessage)


 


End With


Next


 


'Save the Journal


intErrorValue = objGPApp.ExecuteSanscript("run script 'Save Button' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage) 


 


'Close GL Transaction Entry Form


intErrorValue = objGPApp.ExecuteSanscript("close form 'GL_Transaction_Entry';", strErrorMessage)


'------------------------------------------------------------------------------'


 



That's it! Let me know if you have any issues or inquiries about the above code, I will be more than happy to help.


Regards,

--


Mohammad R. Daoud


MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS


CTO


+962 - 79 - 999 65 85


Dynamics Innovations


daoudm@dynamicsinnovations.com


http://www.dynamicsinnovations.com

Friday, October 9, 2009

Dynamics GP/ CRM Adapter Issues

Guys in Rose Business Solutions were excited about the CRM adapter and went direct for the testing upon the release! they have few comments that worth being in your mind next time you need to install and test the adapter, checkout Steve post below:

http://www.rosebizinc.com/gpblog/2009/10/lessons-learned-crm-40-adapter-for-gp.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Microsoft Dynamics CRM - GP Adapter Released

The official blog of Microsoft Dynamics GP was officially released the CRM adapter for GP, as per their description to the implementation they have informed as that its "Wizard driven installation", check the complete information about the adapter here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Tuesday, September 29, 2009

Import Transactions Distributions Using Integration Manager

Another interesting question on the newsgroup, about importing transactions distributions using Integration Manager, I been in such issue where the distributions were not imported at all during the integration, after further investigations I found that the default value for Distribution Options integration was set to "Use Default" instead of "Use Source Recordset" as shown in the image below:
image
Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Wednesday, September 23, 2009

Friday, September 18, 2009

Integration Manager Customizations!

Guys,

Did you know that you can keep Microsoft Dynamics GP visible when running Integration created by Integration Manager and watch the transactions pushed inside GP windows a record after record?

This could be fact by turning "ShowDynamics=True" in Integration Manager INI file.

Find the complete list of parameters and explanations @ Mariano blog post below:

http://dynamicsgpblogster.blogspot.com/2009/09/integration-manager-10-ini-settings.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Saturday, October 25, 2008

Microsoft Great Plains Integration with Legacy Systems

Microsoft Great Plains Integration with Legacy Systems


If you are developer who is asked: how do we implement Great Plains integration/interface with your legacy or other system – read this and you will have the clues on where to look further.

1. Great Plains Integration Manager - this is rather end-user tool - it is very intuitive, it validates 100% of business logic, brings in/updates master records (accounts, employees, customers, vendors. etc.) brings in transactions into work tables. The limitation of Integration Manager - it does use GP windows behind the scenes without showing them - so it is relatively slow - you can bring 100 records - but when you are talking about thousands - it is not a good option. By the way you can program Integration Manager with VBA.

2. eConnect – it is type of Software Development Kit with samples in VB.Net. Obviously the development environment should be Visual Studio.Net. eConnect will allow you to integrate master records - such as new customers, vendors, employees, etc., plus you can bring transactions into so called Great Plains work tables (eConnect doesn't allow you to bring open or historical records - you need to post work records in Great Plains, the same limitation applies to Integration Manager above) eConnect is rather for ongoing integration. It was initially created for eCommerce application integration to Great Plains.

3. SQL Stored Procedures. Obviously you have unlimited control and possibilities with SQL queries. You need to know Great Plains tables structure and data flow. Launch Great Plains and go to Tools->Resource Description->Tables. Find the table in the proper series. If you are looking for the customers – it should be RM00101 – customer master file. If you need historical Sales Order Processing documents – they are in SOP30200 – Sales History Header file, etc. Do not change existing tables - do not create new fields, etc. Also you need to realize that each GP table has DEX_ROW_ID - identity column. Sometimes it is good idea to use inbound/outbound XML in the parameters - then you can deploy web service as a middle party between two systems.

4. Data Transformation Services (DTS) – Good tool for importing your third party data into staging tables in GP - then you can pull them in using either stored procs of Integration Manager. You can also deploy this tool for EDI export/import.

5. Great Plains Dexterity Custom Screens. Sometimes users prefer to have seamlessly integrated into GP interface custom screens - for parameters settings and initiating integration. Dexterity is a good option, however remember - it is always better to create new custom screen versus customizing existing one - due to the future upgrade issues. Also - Dexterity is in phasing our by Microsoft Business Solutions.

6. Modifier/VBA custom buttons on the existing screens - alternative to Dexterity is you are comfortable with VBA and ADO.

7. MS Access – if you are doing one time conversion and your legacy has old ODBC compliant platform - you can use MS Access to create linked tables there - or import into MS Access.

8. SQL Linked Servers – you can do direct SQL queries to other ODBC compliant platform via SQL Linked Server (including ORACLE, UNIDATA, Pervasive SQL, Ctree, etc) - you may need to familiarize yourself with OPENROWSET command in Transact SQL. This is also good option if you need cross-platform Crystal Report - pulling data from SQL Server and third party databases on the same report.

9. Warning - do not place existing GP tables into Replication! - you will have upgrade issues.

By Andrew Karasev

Regards,
--
Mohammad R. Daoud
MCP, MCBMSP, MCTS, MCBMSS
Software Development Manager
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com/

Related Posts:

Related Posts with Thumbnails