Script Error on Dynamics GP Homepage

Microsoft Dynamics GPDuring a recent upgrade of Microsoft Dynamics GP, the client supplied a link to be used for a repurposed Intelligent Edge section on the home page. However, once their Intranet site link had been added, users started getting a script error like the below:

Internet Explorer Script Error

An error has occurred in the script on this page
Line: 320

Char: 6

Error: The system cannot find the file specified
Code: 0
URL: file:///D:/Documents%20and%20Settings/gptestuser/Local%20Settings/Temp/1/tmp10.tmp
Do you want to continue running scripts on this page?

I wasn’t able to get a screenshot of the error at the time, and the above is taken from Microsoft KB article which covered this issue in Q31.

The solution is to create a UserData folder in each users %appdata%\Microsoft\Internet Explorer\. Once we did this, the error did cease to be displayed.

Management Reporter Upgrade Fails The Users Can’t Connect

Microsoft Dynamics GPI recently did a Microsoft Dynamics GP upgrade for a client which included Management Reporter. During the upgrade of Management Reporter to the latest hotfix, we found that the upgrade of the legacy connector failed every time. We spent quite a bit of time looking into the problem and eventually got it to install correctly.

When legacy connector was first added, it was added using the FQDN of the SQL Server Instance (SQL01.example.com\GP), the upgrade failed every time we tried to use the FQDN, but when we switched to just the machine name (SQL01\GP), the upgrade was successful.

Management Reporter has been used by this client since the release of the 2012 version and it has been upgraded previously without issue, so I am unsure of what had changed in this version.

That was not the end of the story though. When I tested Management Reporter was working fine, it was. However, I’d logged in using the sa account. When users started logging in they were finding that they were unable to connect to the GP company database:

Management Reporter unable to connect

Unable to connect to the 'Example Limited' company.

The connection to the Microsoft Dynamics GP database failed. Contact your system administrator.

I’d seen this error message before and it is because the System DSN used by Dynamics GP was using the FQDN, but now the legacy connector in Management Reporter i using the server name so the password encryption will be different.

I didn’t want to remove the legacy connector and try to install it again as I was pretty sure we’d have the same problem as previously. Instead I decided to have a go at updating the connection used by Management reporter which is stored in the Reporting.ControlCompany table and which I noted I’d done in the previous bog post.

However, I didn’t post the SQL I’d used, so I needed to recreate it. The two highlighted sections are the server name which needed to be changed and to what:

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
UPDATE Reporting.ControlCompany SET GLEntityConnectionInformation = REPLACE(CAST(GLEntityConnectionInformation AS VARCHAR(8000)), 'SQL01\GP', 'SQL01.example.com\GP') GO

Obviously, take a backup of the database before running the script and test that it has worked correctly before allowing users back into Management Reporter.

Recent ISC Software Webinar: Lesser Used Modules In Microsoft Dynamics GP

ISC Software SolutionsIn our most recent webinar, we took a look at Lesser Used Modules In Microsoft Dynamics GP. In this webinar, we took a look at some of the lesser known, but very useful modules in Microsoft Dynamics GP. If you want to catch up on this, or any other, webinar, you can do so here.

  1. Introduction
  2. Licensing
  3. Available Modules
  4. Lesser User Modules
  5. Conclusion

Introduction ^

Microsoft Dynamics GP is a mature enterprise resource planning (ERP) system which has lot of functionality available. I find when working with client that many of them are familiar with the core modules such as General, Purchase and Sales Ledgers as well as Purchase and Sales Order Processing and Fixed Asset Management, but don’t know much of what is available outside of these modules. this is why in this webinar, we took a look at some of the lesser used modules in Microsoft Dynamics GP so we can give people an insight into the functionality available to them within the licensing they already own.

Much of the focus was on modules in the a href=’#lesser-used-starter-pack’>Starter Pack as all clients on Dynamics GP 2013 or later have access to this, but we did also take a look at some of the functionality in the Extended Pack.

Continue reading “Recent ISC Software Webinar: Lesser Used Modules In Microsoft Dynamics GP”

Error Purchasing Requisition in Microsoft Dynamics GP

Microsoft Dynamics GPI’ve been working with a client to create a new standalone Microsoft Dynamics GP test system. We copied the databases to the new SQL Server and were progressing through several tasks making sure everything was aligned and working correctly as they have a number of add-ins which needed to be installed.

One user testing the purchasing module encountered an error when trying to transfer a purchase requisition to purchase order:

Error produced when purchasing a purchase requisition

The request failed with HTTP status 404: Not Found.

The error was produced because the details for the Reporting Services Reports in Reporting Tools Setup had not been updated and the reports deployed; the links were still to the live server SSRS implementation which was inaccessible to the new sandboxed test environment.

Once the links were updated and redeployed the error went away.

Microsoft Dynamics GP 2016 Now Out of Mainstream Support

Microsoft Dynamics GPA couple of days ago, I posted about the updated Microsoft Dynamics GP roadmap which goes through 2028. One item which is worth noting, is that Microsoft Dynamics GP 2016 RTM and 2016 R2 are both out of mainstream support as of yesterday and those versions are now in extended support.

This means that critical security issues found will be fixed, but no feature enhancements or other bugs will be added or fixed. This does of course include changes to the VAT Daybook module which are very important to users in the UK with the ever changing requirements from HMRC for MTD.

If you are using Dynamics GP 2016, I would recommend contacting your partner to discuss an upgrade to a version under mainstream support. If you are in the UK it is important you do this as you will only get updates to the MTD functionality if you are on the latest build of Microsoft Dynamics GP and under the Modern Lifecycle policy.

For those clients with MTD requirements, but who, for whatever reason cannot upgrade at the moment, ISC have an add-on available for all versions of Microsoft Dynamics GP which will support the MTD submissions to HMRC. If you’d like to discuss requirements in this area, please use the contact form below.

Microsoft Dynamics GP Roadmap to 2028 and Beyond

Microsoft Dynamics GPTerry Heley on the Dynamics GP Support and Services Blog posted an article on Friday on the exciting future of Microsoft Dynamics GP and giving a Lifecycle Update. As part of the article she inked to the published Lifecycle (Roadmap) for Microsoft Dynamics GP which extends to 2028 and beyond for Microsoft Dynamics GP.

The published roadmap also shows the end of mainstream and extended support for versions older versions of the product which predate the Modern Lifecycle:

Microsoft Dynamics GP Roadmap through to 2028

In brief:

  • 2013 and 2013 R2 are out of mainstream support and in extended support until 11/4/2023.
  • 2015 and 2015 R2 are out of mainstream support and in extended support until 14/4/2025.
  • 2016 and 2016 R2 are out of mainstream support on 13/7/2021 and in extended support until 7/4/2026.
  • 2018 and 2018 R2 in mainstream support until 10/1/2023 and in extended support until 7/4/2026.

Microsoft Dynamics GP is now under the Modern Lifecycle and has the same commitment from Microsoft as Dynamics 365. The Modern Lifecycle means there should be more frequent updates to Microsoft Dynamics GP with at least three updates a year in January, June/July and October.

Microsoft will continue to keep adding new features and improving it based on direct feedback from users. The best way to make sure you continue to benefit from the improvements is to keep up-to-date on upgrades and use the latest version of Microsoft Dynamics GP.

The key takeaway from the published Lifecycle is that Microsoft Dynamics GP is not going anywhere and development will continue under the Modern Lifecycle policy with multiple releases each year.

Validate and Insert/Update Vendor Emails in Microsoft Dynamics GP from a Text File

Microsoft Dynamics GPI’ve previously posted a script which could be used to update emails in Microsoft Dynamics GP from a tab delimited text file. I’ve recently been working on a project with a client and created a variation on that script which works only for vendor emails, but validates the data before inserting or updating to ensure that the data is valid.

The original script took it on trust that the data was correct, but this tie we had some concerns about the quality of data being provided so I added validation to ensure the vendor and vendor address both existed before any data was inserted or updated; if there were any errors found, the errors were presented to the user to fix and then rerun the script.

The highlighted section is the path to the text file being uploaded; regardless of where you are running SSMS, this path and file must exist on the SQL Server itself.

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
/* CREATE TEMP ERROR TABLE */ CREATE TABLE #Errors ( Error VARCHAR(1000) ,ROW_ID INT IDENTITY ) GO /* CREATE TEMP TABLE FOR DATA */ CREATE TABLE #SY01200_IMPORT ( VENDORID VARCHAR(100) ,ADRSCODE VARCHAR(100) ,EmailToAddress VARCHAR(1000) ,EmailCcAddress VARCHAR(1000) ,EmailBccAddress VARCHAR(1000) ) GO /* BULK INSERT */ BULK INSERT #SY01200_IMPORT FROM 'c:\temp\email.txt' WITH ( FIELDTERMINATOR = '\t' ,ROWTERMINATOR = '\n' ,FIRSTROW = 2 ) GO /* VALIDATE DATA */ -- validate creditors INSERT INTO #Errors (Error) ( SELECT DISTINCT 'Vendor does not exist: ' + CAST(SYI.VENDORID AS VARCHAR(100)) FROM #SY01200_IMPORT AS SYI LEFT JOIN PM00200 AS ['PM Creditor Master File'] ON ['PM Creditor Master File'].VENDORID = SYI.VENDORID WHERE ['PM Creditor Master File'].VENDORID IS NULL ) GO --validate creditor addresses INSERT INTO #Errors (Error) ( SELECT DISTINCT 'Vendor address does not exist: ' + CAST(SYI.VENDORID AS VARCHAR(100)) + ' / ' + CAST(SYI.ADRSCODE AS VARCHAR(100)) FROM #SY01200_IMPORT AS SYI LEFT JOIN PM00300 AS ['PM Creditor Addresses'] ON ['PM Creditor Addresses'].VENDORID = SYI.VENDORID AND ['PM Creditor Addresses'].ADRSCODE = SYI.ADRSCODE WHERE ['PM Creditor Addresses'].VENDORID IS NULL ) GO /* UPDATE EXISTING DATA IF NO ERRORS */ IF (SELECT COUNT(*) FROM #Errors) = 0 UPDATE SY SET SY.EmailToAddress = ISNULL(SY_I.EmailToAddress, '') ,SY.EmailCcAddress = ISNULL(SY_I.EmailCcAddress, '') ,SY.EmailBccAddress = ISNULL(SY_I.EmailBccAddress, '') FROM SY01200 SY INNER JOIN #SY01200_IMPORT AS SY_I ON SY_I.VENDORID = SY.Master_ID AND SY.Master_Type = 'VEN' AND SY.ADRSCODE = SY_I.ADRSCODE GO /* INSERT NEW DATA IF NO ERRORS */ IF (SELECT COUNT(*) FROM #Errors) = 0 INSERT INTO SY01200 ( Master_Type ,Master_ID ,ADRSCODE ,EmailToAddress ,EmailCcAddress ,EmailBccAddress ,INETINFO ) ( SELECT 'VEN' ,VENDORID ,ADRSCODE ,ISNULL(EmailToAddress, '') ,ISNULL(EmailCcAddress, '') ,ISNULL(EmailBccAddress, '') ,'' FROM #SY01200_IMPORT WHERE (SELECT COUNT(Master_ID) FROM SY01200 WHERE Master_Type = 'VEN' AND Master_ID = #SY01200_IMPORT.VENDORID AND ADRSCODE = #SY01200_IMPORT.ADRSCODE) = 0 ) GO /* OUTPUT ERRORS */ IF (SELECT COUNT(*) FROM #Errors) > 0 SELECT Error FROM #Errors ORDER BY ROW_ID GO /* DROP TEMP TABLES */ DROP TABLE #SY01200_IMPORT GO DROP TABLE #Errors GO

Upcoming Microsoft Dynamics GP Webinars from ISC Software

ISC Software SolutionsEvery month at ISC Software I present a webinar on Microsoft Dynamics GP and related products. We typically have the next three upcoming monthly webinars I’ll be delivering scheduled.

We run these webinars on a monthly basis, with occasional extra webinars added to the schedule so it is worth checking the Webinar Schedule page every so often.

The upcoming webinars are:

Lesser Used Modules in Dynamics GP
In July is Lesser Used Modules in Dynamics GP; Explore some of the lesser used modules of Microsoft Dynamics GP and how they can improve processes.

Tue, July 20th, 2021 4:00 PM – 4:45 PM BST

This webinar will look at the modules included in the Microsoft Dynamics GP Starter and Extended Packs, picking out some of the modules which can save time but which aren’t as commonly used.

Register Here

Microsoft Dynamics GP Workflow
In August is Microsoft Dynamics GP Workflow; Discover how workflow can be used to require documents and master record changes to be approved, and enforce segregation of duties.

Tue, August 17th, 2021 4:00 PM – 4:45 PM BST

This webinar will look at the workflow approval types available in Dynamics GP and how they can be used to require documents or master record changes, or document submission to be approved. It will then delve further into the types of steps and routings available within workflow.

Register Here

Getting More From Dynamics GP
In September is Getting More From Dynamics GP; Learn how to get more out of Microsoft Dynamics GP.

Tue, September 14th, 2021 4:00 PM – 4:45 PM BST

Watch while an experienced consultant shows you some tips and tricks to improve your use of Dynamics GP using standard functions and features available now.

Register Here

SQL Script to Assign All Bins to All Items in Microsoft Dynamics GP

Microsoft Dynamics GPI try to do as much through the front-end of Microsoft Dynamics GP as possible in order that the correct business logic be applied to the changes as possible. However, sometimes doing it that way takes far too much time. Recently when working with a particular client, we needed to assign all bins to all items.

Bins were being being introduced so there were no bins currently assigned, which meant a simple SQL script could be created using CROSS JOIN which produces a resultset where each item umber in the Item Master (IV00101) table was paired with the location code/bin number combination in the Site Bin Master (IV40701) table and inserted into Item Site Bin Priorities (IV00117).

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
INSERT INTO IV00117 --Item Site Bin Priorities (IV00117) ( ITEMNMBR ,LOCNCODE ,Priority ,BIN ,MINSTOCKQTY ,MAXSTOCKQTY ) --VALUES ( SELECT ['Item Number'].ITEMNMBR ,['Site Bin Master'].LOCNCODE ,ROW_NUMBER() OVER(PARTITION BY ['Item Number'].ITEMNMBR, ['Site Bin Master'].LOCNCODE ORDER BY ['Item Number'].ITEMNMBR, ['Site Bin Master'].LOCNCODE, ['Site Bin Master'].BIN) AS Priority ,['Site Bin Master'].BIN ,0 AS MINSTOCKQTY ,0 AS MAXSTOCKQTY FROM IV00101 AS ['Item Number'] --Item Master (IV00101) CROSS JOIN IV40701 AS ['Site Bin Master']--Site Bin Master (IV40701) ) GO

If any assignments exist in the IV00117 table the script will fail with a duplicate key error; the script also assigns priority based on the alphabetical order of the site/bin number combinations which may not be suitable in all contexts.

Microsoft Dynamics GP Workflow Navigation Lists Not Working Correctly After Upgrading

Microsoft Dynamics GPI’ve been involved with a number of upgrade projects recently where we were both upgrading the client to the latest version of Microsoft Dynamics GP, but also introducing some new functionality such as workflow for approvals.

Quite a few of these clients are long time users of Dynamics GP who started on version 9 or before. This means that in most cases, when introducing workflow, we find that the Not Submitted and Pending Approval navigation lists don’t work. By this, I mean they do not display any data.

This issue was covered back in 2017 by Derek Albaugh on the Dynamics GP Support and Services Blog.

The blog post includes scripts to clear down the List View Master (SY07220) and List View Filters (SY07230) tables whether you have custom navigation lists or not. These tables are like the Menu Master (SY07110) table which repopulate when you log back into Dynamics GP.

For most of the clients we have found that even if there are custom navigation lists, we need to delete the contents of the two tables and recreate the customisations rather than removing only the defaults, as Dynamics GP crashes whenever we tried to access a navigation list after removing the defaults.