The Inside Microsoft Dynamics GP blog has started a series Feature of the Day posts for Microsoft Dynamics GP 2018 R2 on which I am following and adding commentary. The series index for this series of posts is here.
The eleventh Feature of the Day is increase Dynamics GP password maximum length.
This feature see the maximum length of the password usable with Dynamics GP increased from 15 to 21 characters.
Microsoft say that the length of the password in SQL is 21 and this has been matched that so now the maximum password length is the same for Dynamics GP.
I'm not sure where in SQL the length is 21, as in Dynamics GP 2018 RTM, the password length on Users Master (SY01400) is 15 keyable characters; SQL Server supports password lengths of 128 characters.
While 21 characters is an improvement over 15, it would have been nice to see even longer passwords supported.
In this series I am taking a look at how macros can be used to update data in Microsoft Dynamics GP.
In the last post in this series, I showed how to merge the data into the macro template; another approach I have used a few times is to write a SQL query which returns the data already in the macro. This is done by embedding the macro file into the SQL Query:
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 2.0 UK: England & Wales (CC BY-NC-SA 2.0 UK).
SELECT '# DEXVERSION=16.00.0034.000 2 2
CheckActiveWin dictionary ''default'' form ''Enter_User_Names'' window ''Enter_User_Names''
TypeTo field ''User ID'' , ''' + RTRIM(USERID) +'''
MoveTo field ''User Name''
MoveTo field Password
TypeTo field Password , ''' + LEFT(RTRIM(REPLACE(USERNAME,' ','')),14) + '1' + '''
MoveTo field ''(L) Confirm Password''
TypeTo field ''(L) Confirm Password'' , ''' + LEFT(RTRIM(REPLACE(USERNAME,' ','')),14) + '1' + '''
CommandExec dictionary ''default'' form ''Enter_User_Names'' command ''Save Button_w_Enter_User_Names_f_Enter_User_Names''
NewActiveWin dictionary ''default'' form ''Enter_User_Names'' window ''Enter_User_Names''
ActivateWindow dictionary ''default'' form ''Enter_User_Names'' window ''Enter_User_Names'''
USERID <> 'sa'
USERID <> 'DYNSA'
USERID NOT LIKE 'LESSON%'
Continue reading "Microsoft Dynamics GP Macros: Macro By SQL"
In the previous two posts, I stepped through the installation and configuration of SSRS. To deploy the Microsoft Dynamics GP SSRS reports to the SSRS server there is one last piece of configuration which needs to be completed.
There is a setting in the web.config file which needs to be added for the reports to deploy successfully. I have previously blogged about that setting here. The only change in the path will be the version number in the folder name will be higher.
Once you have completed that step you can then move onto deploying the SSRS reports in Dynamics GP; this post was written on Dynamics GP 2010 R2, but the process for deploying them is the same in Dynamics GP 2015.
Now that Microsoft Dynamics GP 2015 RTM is available, I thought I could follow my usual pattern of posting a series of posts o how to install and configure both Dynamics GP, but also the additional products which ship with it. You can find the series index for these posts here. I am assuming you already have your server built with Windows and SQL Server for this series.
In this second post, I am going to take a look at the server install where the system database is created. To do this, run GP Utilities from the Start screen and log in using the sa account:
Continue reading "Hands On With Microsoft Dynamics GP 2015 RTM: Server Installation"
Now that Microsoft Dynamics GP 2015 RTM is available, I thought I could follow my usual pattern of posting a series of posts o how to install and configure both Dynamics GP, but also the additional products which ship with it. You can find the series index for these posts here. I am assuming you already have your server built with Windows, an Active Directory Domain, SQL Server and SSRS for this series.
In this first post, I'll be taking a look at the installation of the Dynamics GP 2015 RTM desktop client which, since the abolition of the server components prior to the release of Dynamics GP 10, needs to be done on at least one machine in order to deploy the system database.
Once you have downloaded an unpacked the media for Dynamics GP 2015 RTM, open the folder and double click on the setup.exe to launch the Microsoft Dynamics GP2015 setup utility. In the Install section click on Microsoft Dynamics GP and choose Install:
Continue reading "Hands On With Microsoft Dynamics GP 2015 RTM: Desktop Client Installation"
The Inside Microsoft Dynamics GP blog started a series of Microsoft Dynamics GP 2013 R2 Feature of the day posts the other day. As they did with the Microsoft Dynamics GP 2013 Feature of the Day posts they are doing them as short posts containing a PowerPoint slide show. I am translating these from the PowerPoints into posts; you can find my series index here.
The seventeenth Feature of the Day covered is Azure Backups.
The SQL backup and restore windows in Dynamics GP 2013 R2 have been enhanced to allow backups to be stored on Azure. I've noticed the same problem that MIcrosoft have with backups; namely that people will make a backup of the SQL databases and then leave them on the same server. This is pointless from a disaster recovery point of view as if something happens to the server you have lost both the database and the backups.
But, as of 2013 R2 the backups can be transferred to Azure storage. The Company Backup window (
) has been enhanced to allow Azure to be selected as the backup location and a path specified:
Continue reading "MDGP 2013 R2 Feature of the Day: Azure Backups"
this is a simple script, but I've written it about four times now so I figured I'd post it so I can find it easily next time I lose my local copy.
Perfect Image are resellers of the Advanced Bank Reconciliation module from Nolan Business Solutions (along with the other add-ons they've written for Dynamics GP) and I often need to demo this replacement for the standard Bank Rec module.
One item I typically show is the auto-Propose function which matches transactions against statement lines in the Reconcile Bank Transactions window ( ).
To do this I need to be able to import statement lines which match the transactions in Dynamics GP; the easiest way of doing this is to extract the transactions.
This can be done with a very simple SQL script:
Once the data has been extracted it can be imported during the demo using the standard ABR Import Statement routine.
I've just finished doing some maintenance on one of my development servers and encountered a problem where I could not restart the SQL Server. The development server was a virtual machine running on VMWare which had a second virtual HDD installed for SQL Server to store the database and log files. This disk had been provisioned at 200GB and over time had acquired a lot of files, such as database backups, which became unnecessary and had filled the 200GB.
I needed to get some of the space back on the VM host so I stopped the SQL Server, copied the SQL mdf and log files to a new HDD, deleted the SQL HDD and then set the drive letter of the new HDD to that of the old one.
I then tried to start SQL Server and received the following error:
Windows Event Viewer - FCB::Open failed: Could not open file E:\SQL208RTM\Live\DYNAMICS.mdf for file number 1. OS error: 5(failed to retrieve text for this error. Reason: 15105).
Continue reading "SQL Server Cannot Start Following Maintenance"
A while ago I posted about a problem with a collation conflict on a couple of columns in the Tax table. It seems I posted about how to fix the problem, but it seems I didn't post how I found the problem columns.
I did this with a fairly simple SQL script:
DECLARE @Collation SYSNAME SET @Collation = 'SQL_Latin1_General_CP1_CI_AS'
TABLE_NAME AS 'Table'
,COLUMN_NAME AS 'Column'
,DATA_TYPE AS 'Data Type'
,COLLATION_NAME AS 'Collation Name'
DATA_TYPE IN ('varchar','char','nvarchar','nchar','text','ntext')
COLLATION_NAME <> @Collation