Archive for the ‘Dynamics GP Development’ Category

Management Reporter Dynamics GP Provider Wizard Not Displaying List of Dynamics GP System Databases

Tuesday, April 12th, 2011

If you are using Management Reporter with Microsoft Dynamics GP Provider (GP Provider), it is possible that you have encountered an issue with the GP Provider wizard not displaying the list of your GP system databases. The server name is good, your credentials are valid, but still, the list of GP system databases is empty.

 

Here is the trick. GP Provider has a DYNAMICS database filter built-it. In other words, if your GP system database is not named DYNAMICS, or if it does not contain DYNAMICS within its name, GP Provider will filter it out and you won’t be able to proceed. Keep in mind DYNAMICS should be in all capital letters.

New Microsoft Dynamics Development Landing Pages

Thursday, August 26th, 2010

In an effort to keep our web content relevant, up-to-date, and informative, we have recently gone through and updated our Microsoft Dynamics Development Services landing pages.

Below is a brief snapshot of the new content, along with the links to individual pages:

Microsoft Dynamics AX Custom Application Development: With a team of highly-qualified Microsoft Dynamics AX developers, Merit Solutions provides custom application development to both ISVs and Microsoft Dynamics AX clients, extending your team in regards to requirements analysis, technical design and development, and quality assurance testing of all software products. In the end, we measure success by our ability to deliver custom applications that will help organizations optimize performance and reduce costs.

Read more about our Microsoft Dynamics AX Development services.

Microsoft Dynamics GP Migrations: Users migrating to Microsoft Dynamics GP often want to improve the structure of existing processes and line-of-business applications. Typically these businesses have grown and become more complex in their business process needs. Using the migration tools available from Microsoft, Merit Solutions can help organizations plan and implement an efficient migration from systems like QuickBooks, Peachtree, and legacy systems. Our methodology preserves data, enhances security, improves reporting, and minimizes business disruption by designing and following an efficient migration plan.

Read more about our Microsoft Dynamics GP Development services.

Microsoft Dynamics CRM Integrations: For companies interested in integrating front- and back-end business operations, Merit Solutions provides seamless Microsoft Dynamics CRM integration that brings together sales, marketing, accounting, supply chain, and more. We have extensive experience with Microsoft Dynamics CRM integrations to Microsoft Dynamics, SAP, Oracle, and other 3rd party ERP Systems. Merit Solutions also provides cost-effective integrations with external sites, hosted either in-house or at the hosting partner.

Read more about our Microsoft Dynamics CRM Development services.

Microsoft SharePoint Development: Merit Solutions provides Microsoft SharePoint development and deployment services to companies in need of extended portal functionality. Our integration, training, and consulting services help companies through new intranets, workflows, collaboration, document management, and custom portal solutions. We also have extensive experience developing SharePoint-based features and solutions, including 21 CFR Part 11 SharePoint Document Management.

Read more about our Microsoft SharePoint Development services.

We hope you enjoy the new content. Feel free to make suggestions by commenting on this blog article!

“Purchase Order Processing Setup Information is Missing or Damaged”

Wednesday, May 12th, 2010

While working with Microsoft Dynamics GP, I came into a situation where I was not able to open the Purchase Order Entry window regularly, following the path:

Transactions -> Purchasing -> Purchase Order Entry

Instead, I got the warning:

Microsoft Dynamics GP POP Error

After researching on the internet, I found some instructions to repair it. I tried the instructions, but still nothing happened.

Then, I tried the following steps and it worked. So, if you get this message, try these easy steps. They do not require a lot of time or any new settings, and they might be helpful.

  1. Open the Purchase Order Processing window, using the following path:
    Microsoft Dynamics GP -> Tools -> Setup -> Purchasing -> Purchase Order Processing
  2. Open the Purchase Order Processing Setup Options window clicking the Options button on the Purchase Order Processing window.
  3. Click the OK button on the Purchase Order Processing Setup Options window and the window will be closed.
  4. Open the PA Purchase Order Processing Setup Options window clicking the Project button on the Purchase Order Processing window.
  5. Click the OK button on the PA Purchase Order Processing Setup Options window and the window will be closed.
  6. Click the OK button on the Purchase Order Processing window and the window will be closed.

Now, the Purchase Order Entry window should be accessible.

Rounding in Receivings Transaction Entry Window During a Conversion Between Currencies

Thursday, April 22nd, 2010

During work with the Receivings Transactions Entry window, we can be met with a situation when we receive 100 items in Canadian Dollars on WIREHOUSE site, and when we go through the Purchase Receipts Inquiry we get two lines, one line with receiving 99 at one unit cost and one line with receiving 1 item at another unit cost.

After receiving the items, the unit cost is translated from Canadian dollars into American dollars and rounded in two decimals. Also, it translates the total cost from Canadian into American dollars, and after receiving the quantity of 99 items at one cost, it rounds the last item to fit the total cost. That is why the last item is represented in a new line.

Look at the following example:
1. Open the window Receivings Transactions Entry like: Transactions -> Purchasing -> Receivings Transactions Entry

2. Enter the new Receipt Number and some Vendor related to Z-C$ (Canadian dollar) currency.

 

3. Click the button near the Currency ID and set the Exchange Rate to 0.9456270.

4. Enter some Item Number in the scrolling window and make Qty Shipped to be 100.

5. Set the Unit Cost to 1.54 and fill Site ID.

6. Now click the Post button.

7. Open the Purchase Receipts Inquiry window like: Inquiry -> Inventory -> Receipts

8. Chose the same Item Number as in Receivings Transaction Entry window.

9. Choose the same Site ID as in the Receivings Transaction Entry window.

10. Scroll the scrolling window to the bottom, click the expand button and the expected one line will be represented as two lines, one which displays 99 items bought by one cost and one line item with the same item bought by another cost. 

Process of Creating and Deleting tables from SQL through Dexterity

Tuesday, March 30th, 2010

During a table upgrade, we are met with the task of creating and deleting tables on SQL using Dexterity code.

The process of deleting tables requires deleting both the table and its stored procedures, but the process of creating tables does at the same time create a table and its stored procedures on SQL. Also, if we try to create the stored procedures after creating a table, the result will be failed.

The whole process of creating a table is done in one line:

open table TableName;

 

The following few lines will try to create stored procedures:

 

l_result = Table_CreateProcedures(ProductID, table CSCIVCatalogNotes);

if l_result <> 0 then

                error “Stored procedures were not successfully created for table CSCIVCatalogNotes.”;

end if;

However, if we try to create stored procedures after we create the table on SQL, we will always get the error message. The main reason is that stored procedures are already created.

The process of deleting a table from SQL requires deleting stored procedures:

local long          status;

status = Table_DropProcedures(ProductID, table NameOfTheTable);

If the value of the variable status is equal to 0, stored procedures are successfully deleted and now we need to delete the table from SQL. We can do it this way:

Local text sCode;

Local long status;

status = SQL_Connect(SQL_connection);

if (status = 0) then

                            sCode = ” use ” + DatabaseName;

                            sCode = sCode + ” drop table PhisicalNameOftheTable “;

                            status = SQL_Execute(SQL_connection, sCode);

                            {— If status is equal to 0 the table is successfully deleted. —}

end if;

status = SQL_Terminate(SQL_connection);

The whole story is important especially for a process of upgrading tables, because if we do not delete stored procedures and just drop and create tables, some of the old stored procedures can stay and mix with the new ones, so real damage can be made.

System Password Reset in Microsoft Dynamics GP

Friday, December 4th, 2009

On a recent project I was on, we needed to access areas of Dynamics GP that were protected with a system password. However, we didn’t know the password on that particular environment, so I needed a way to reset it. I looked up for a solution and found an interesting answer.

I know that the system password is stored in SY02400 table and that this should be my point of interest. The query should be something like ‘UPDATE DYNAMICS..SY02400 SET PASSWORD =’. However, the interesting part is how to set the password to blank. The code segment “0×00202020202020202020202020202020″ represents “Blank” string in binary.

Therefore, in case you forgot your system password, just execute this query:
UPDATE DYNAMICS..SY02400 SET PASSWORD = 0×00202020202020202020202020202020

Using Temporary Tables in Pass Through SQL Code

Wednesday, December 2nd, 2009

During my work with a temporary table linked to the scrolling window, I came across a few problems. The first one was using the temporary table in pass through SQL code and the second one was the range of scripts and forms where the records from temporary table could be reached. I will explain the situations through the example below.

The mxCustomerContactsTempTable is a dexterity temporary table linked to the scrolling window. All necessary data for the mxCustomerContactsTempTable table are loaded from the mxCustomerContacts table, but this table needs one more field - ‘Customer Name’ – to be filled. As we have a ‘Customer Number’ in the mxCustomerContactsTempTable table, we can load data from table RM_Customer_MSTR table. If we go through the table record by record, lookup will be pretty slow. The better idea is to use the pass through SQL code.

Instead of using physicalname(table mxCustomerContactsTempTable) for retrieving a table name, we use the command Table_GetOSName(table CustomerContactsTempTable) for retrieving a name for the temporary table. The previous command will return only TEMP as a physical name and SQL would not recognize it.
The problem can occur if we have global script with pass-through SQL code and form which use that table by calling this script. In that case, records in the table will not be recognized and script will work with the empty table. The better option is to put all code related to temporary table in the same form. This way the script will fill the table with all needed data.

Dynamics GP Snap In Ideas

Thursday, August 13th, 2009

Based on the success of the Microsoft Dynamics AX 2009 Vendors Journal Snap In, developed by the Merit Solutions team and available as a free download, we are currently considering developing a Snap In for Microsoft Dynamics GP.

We received valuable feedback from Customers and Partners when we began the process of developing our Dynamics AX 2009 Snap In, and we are hoping to receive the same this time around!

What kind of Microsoft Dynamics GP Snap In do YOU want?

How can we enhance your work with Dynamics GP by seamlessly integrating it with other Microsoft Office products, like Word, Excel, and SharePoint?

Please use this as an open forum to discuss / debate ideas for a Microsoft Dynamics GP Snap In. Who knows, your idea may be the next Snap In we develop!

Adding Shortcuts to Dynamics GP 10.0 Navigation Pan by Coding

Friday, August 7th, 2009

In Microsoft Dynamics GP, we are able to add shortcuts to the navigation pan manually.

We got the idea to improve our Merit Solutions’ Starting Project, which we use as a base for all other projects created in Dexterity, and to write code for automatically adding shortcuts of new windows to the navigation pane during the installation process. It is possible to be done using procedures from syScBarObj form. However, we came up to a problem.

When it is done manually, shortcuts are added the same moment we add them. When it is done by coding, we need to reset the Dynamics GP window and shortcuts will be shown then.

We could not find other solutions, so we agreed that the best way for resolving the problem is asking a client if they want to add shortcuts and warning them that Dynamics GP needs to be restarted before using them.

Dictionary Control in Microsoft Dynamics GP

Monday, July 6th, 2009

The Dictionary Control is one of the features of Advanced Mode from the Support Debugging Tool.

To access the Advanced Mode features, you must have SQL administrator or database owner (dbo) privileges. If you do, then you can open the Dex.ini Settings window by selecting Dex.ini Settings from the Options button drop list on the main window of Support Debugging Tool and enabling Enable Debugger Advanced Mode Features option.

You can open the Dictionary Control window by selecting Dictionary Control from the Options button drop list on the main window of Support Debugging Tool.

Dictionary Control can be used to troubleshoot issues with third party dictionaries. You can effectively remove dictionaries from the system one-by- one until the issue stops. The last dictionary removed can be investigated.

You can use Trigger Status to disable Dexterity triggers for a specific Product in a similar fashion to the Customization Status window in Microsoft Dynamics GP. The added benefit of Dictionary Control is that it can remember the settings and automatically disable the product on the next login.

Dictionary Control can also disable alternate windows for third party dictionaries using the Alternate Status option. This does not change any security settings.

Using Dictionary Control to disable the triggers and alternate windows for a third party dictionary can produce the same effect as removing the dictionary from the Dynamics.set launch file without requiring any backups or manual editing.