This week’s Tech Tuesday is from our Senior Technical Consultant, Chris Hanson, who will show us the easiest method to tracking the Source Company in a Real-Time Map. One of our features in SmartConnect is a real-time data source that allows maps to automatically execute when a certain event is triggered. When using a GP real-time source you can setup that source once to be used across every
This morning I been thinking about the new security structure for Dynamics GP web-client user who does not have SQL Users, and how these users will interact with SQL Server, I had to go through this as I have a client who’s running a very strict policy in granting SQL permissions for domain users. Getting through this, I have created few users with multiple scenarios as below: The first user linked to domain account called that “TEST1”, but didn’t check “Web Client user only (no SQL Server Account)” The second user linked to domain account called that “TEST2”, and checked the “Web Client user only (no SQL Server Account)” option. I have noticed that the first case created an “SQL User Account” called “TEST1” and didn’t granted the domain user any access to the database, and the second didn’t create any users which been a mystery to me understanding which user will be used to access the SQL Server! To test this I have modified the GL00100 table and added a new column called “UserName” –this is for testing only, you cannot do this on GP tables!- and set the default value for this column to be “SUSER_SNAME()” function which returns the user who’s currently logged in and started my testing by creating new accounts! Logged in by TEST1 to the web client and created a new account, the result was somehow wired, the user who was recorded was “DYNSA” Logged in by TEST2 to the web client and created a new account, the result was the same, the user who was recorded was “DYNSA” as well
Dynamics GP 2013 R2 upgrade: The following SQL statement produced an error: exec wfDeployClrAssemblies
During the upgrade process to Dynamics GP 2013 R2 with one of my customers we got the error in the subject, the issue is with dropping one of the SQL level Assemblies called “System.DirectoryServices” that been used by “Microsoft.Dynamics.GP.WorkflowGP.WorkflowEngine”. The “System.DirectoryServices” assembly is being used by the Workflow module in Dynamics GP, if you have workflow installed you will not be able to drop this reference as you will be having another assembly depending on this and the other assembly is being used by 7 functions and stored procedures.
You might need to change the currency index for one of your currencies, I needed this during a consolidation project for multiple DYNAMICS databases and needed to change the currency index field for all company tables, take a look into the below script, I have used the “Information_Schema” to get all columns that are called “ CURRNIDX” and updated these using SQL Cursor, considering that I taking a backup for each table before doing the operation: DECLARE @Statement VARCHAR (8000) DECLARE @TABLENAME VARCHAR (500) DECLARE CURR Cursor FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = ‘ CURRNIDX ‘ AND COLUMN_DEFAULT IS NOT NULL OPEN CURR FETCH NEXT FROM CURR INTO @TABLENAME WHILE @@FETCH_STATUS = 0 BEGIN SET @Statement = ‘ SELECT * INTO ‘ + @TABLENAME + ‘ _BAK FROM ‘ + @TABLENAME EXEC (@Statement) SET @Statement = ‘ UPDATE ‘ + @TABLENAME + ‘ SET CURRNIDX = NEW CURRENCY ID WHERE CURRNIDX = OLD CURRENCY ID ‘ EXEC (@Statement) FETCH NEXT FROM CURR INTO @TABLENAME END CLOSE CURR DEALLOCATE CURR Regards, — Mohammad R. Daoud MVP – MCT MCP, MCBMSP, MCTS, MCBMSS +962 – 79 – 999 65 85 email@example.com http://www.di.jo
A couple of weeks back I needed to consolidate two DYNAMICS databases and move companies from the first DYNAMICS to the second, this for sure requires Company IDs to be changed as it might be taken by another companies on the main DYNAMICS, to fix this once for all I have wrote the following script: DECLARE @Statement VARCHAR (8000) DECLARE @TABLENAME VARCHAR (500) DECLARE CURR Cursor FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = ‘ CMPANYID ‘ AND COLUMN_DEFAULT IS NOT NULL OPEN CURR FETCH NEXT FROM CURR INTO @TABLENAME WHILE @@FETCH_STATUS = 0 BEGIN SET @Statement = ‘ SELECT * INTO ‘ + @TABLENAME + ‘ _BAK FROM ‘ + @TABLENAME EXEC (@Statement) SET @Statement = ‘ UPDATE ‘ + @TABLENAME + ‘ SET CMPANYID = NEW COMPANY ID WHERE CMPANYID = OLD COMPANY ID ‘ EXEC (@Statement) FETCH NEXT FROM CURR INTO @TABLENAME END CLOSE CURR DEALLOCATE CURR Hope that this helps. Regards, — Mohammad R. Daoud MVP – MCT MCP, MCBMSP, MCTS, MCBMSS +962 – 79 – 999 65 85 firstname.lastname@example.org http://www.di.jo
One of my customers recently upgraded his environment to SQL 2012 and GP 2013 from windows 2003 and GP 9.0, upon installing Management Reporter with CU 9.0 that supports SQL 2012 I have realized that it cumulative update no longer supports windows XP, therefore I had to rollback my installation and install CU8 then re-imported my reports.
Dex.ini settings have always existed to provide developers and end-users with ways to set a number of preferences for their Microsoft Dynamics GP application without the need of additional development or customizations. With the release of Microsoft Dynamics GP 2013 and the web client, the Dex.ini now plays a key role in enabling (or disabling) certain elements rooted in the system’s architecture itself.