Customization Maintenance: “Unable to open customizations dictionary”

Microsoft Dynamics GPI ‘ve been involved in quite a few upgrades recently and have had a few issues arise. One of them was on one site after I had installed Microsoft Dynamics GP, the web client and web services and also Management Reporter.

I did some work to upgrade the customised forms and reports and then imported them through Customisation Maintenance (Microsoft Dynamics GP menu » Tools » Customisation » Customisation Maintenance). Or at least I tried to as I got an error with the SOP_Entry form:

Errors

Continue reading “Customization Maintenance: “Unable to open customizations dictionary””

Changing The Logical File Names Of A SQL Database

Microsoft Dynamics GPWhen a database is created, it has a logical name assigned to it which will match the physical name. However, when working with Microsoft Dynamics GP, we often create both a live and test database and then populate the settings in the live database and replicate over the top of the test one.

Or on occasion we have created a template database which then gets copied when a new company is created (this method is often used for clients who have a substantial amount of setup in third party modules which the PSTL Company Copy doesn’t cater for.

The problem with both of these is that when a database is restored elsewhere it brings it’s logical name with it; meaning a mismatch between the logical and physical names which causes problems when backing up and restoring databases.

However, all is not lost; it is possible to change the logical name of a database using a simple SQL script. The script, below, has two ALTER DATABASE commands, one for the data file and the other for the log file.

I am changing the logical name from GPST15R2 to GPSP15R2 on both files (see highlighted text):

/*
Created by Ian Grieve of azurecurve|Ramblings of a Dynamics GP Consultant (https://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).
*/
ALTER DATABASE
	P15R2
MODIFY FILE 
	(
	NAME = [GPST15R2Dat.mdf]
	,NEWNAME = [GPSP15R2Dat.mdf]
	)
 GO
 ALTER DATABASE
	P15R2
MODIFY FILE 
	(
	NAME = [GPST15R2Log.ldf]
	,NEWNAME = [GPSP15R2Log.ldf]
	)
GO

As always when running a SQL script against a database, make sure you have a good backup and perform a test afterward to make sure there are no problems.

Integration Manager Error: Error Executing Script ‘Before Integration’ Line 17: – Object required: ‘gpObj’

Microsoft Dynamics GPOne of Perfect Image’s clients is merging with another organisation and I’ve been onsite a few times to help them configure the new companies and import data. One of the items on my list was to use Integration Manager to import the new chart of accounts. While doing this I used VBA to extend the integration to map between the chart of accounts in the new system to the new format and numbering wanted in Microsoft Dynamics GP.

It was when I came to test the integration with the mapping active that I encountered my problem:

ERROR: Error Executing Script 'Before Integration' Line 17: - Object required: 'gpObj'

Show/Hide Error Message

ERROR: Error Executing Script 'Before Integration' Line 17: - Object required: 'gpObj'
Error Executing Script 'Before Integration' Line 17: - Object required: 'gpObj'
Object required: 'gpObj'
Integration Failed
Integration Results
    0 documents were read from the source query.
    0 documents were attempted:
        0 integrated without warnings.
        0 integrated with warnings.
        0 failed to integrate.

Continue reading “Integration Manager Error: Error Executing Script ‘Before Integration’ Line 17: – Object required: ‘gpObj’”

Navigation List Error: “Cannot insert the value NULL into column ‘VENDNAME'”

Microsoft Dynamics GPThis came up a few days ago at a client site during an upgrade being done by a colleague and then again when I was running a training session.

When I was doing the training I was explaining what a Temporary Creditor (or Vendor for the American readers) was and why I hated them so much. As I was talking I was showing that even through the temporary creditor itself had been deleted, the history for it remained.

It was when I tried to open the Payables Transactions navigation list that I got the below error:

Cannot insert the value NULL into column 'VENDNAME'

Microsoft Dynamics GP

[Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot insert the value NULL into 'VENDNAME', table 'tempdb.dbo.##181163', column does not allow nulls. INSERT fails.[Microsoft][SQL Server Native Client 11][SQL Server]Cannot insert the value

Continue reading “Navigation List Error: “Cannot insert the value NULL into column ‘VENDNAME’””

eConnect Incoming Queue In Microsoft Dynamics GP 2015 Does Not Work

Microsoft Dynamics GPI did an upgrade of a client from Microsoft Dynamics GP 2010 R2 to Dynamics GP2015 recently and encountered a problem with eConnect.

This particular client uses the eConnect incoming queue to integrate journals and payables invoices into Dynamics GP from a housing management system.

After installing eConnect and configuring the incoming queue I set about doing a test to ensure it was working.

Unfortunately, it didn’t.

Continue reading “eConnect Incoming Queue In Microsoft Dynamics GP 2015 Does Not Work”

SQL Trigger To Delete EFT Bank Information When The Vendor Is Deleted

Microsoft Dynamics GPA while ago I came across a bug in the Creditor (or Vendor for my American readers) Maintenance window where when a creditor is deleted the EFT information is not deleted; this has caused problems for a number of clients and I finally decided I needed to do something about it.

The result is a SQL trigger on the Creditor Master (PM00200) table; when a creditor is deleted the trigger runs and deletes all records in the Address Electronic Transfer Funds Master (SY06000) table are then deleted:

CREATE TRIGGER dbo.utr_AZRCRV_DeleteSY06000 ON dbo.PM00200 AFTER Delete AS
	/*
	Created by Ian Grieve of azurecurve|Ramblings of a Dynamics GP Consultant (https://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).
	*/
	DELETE
		['Address Electronic Transfer Funds Master']
	FROM
		SY06000 AS ['Address Electronic Transfer Funds Master']
	INNER JOIN
		deleted
			ON
				deleted.VENDORID = ['Address Electronic Transfer Funds Master'].VENDORID
GO

This the avoids the possibility of a new creditor record being linked to a different creditors bank details. As always with a script (especially one which deletes information, make sure it is tested and you’re happy with how it works before releasing live.