The good news is that we haven't found any additional security roles or tasks records that are missing when upgrading to Microsoft Dynamics GP 2016 R2 then what we have seen in the past when upgrading to Microsoft Dynamics GP 2016!!!!


That being said, if you are upgrading from Microsoft Dynamics GP 2013 or Microsoft Dynamics GP 2015 to the new Microsoft Dynamics GP 2016 R2, there will be missing security role and task records, especially in regards to the new functionality in Microsoft Dynamics GP 2016, so the script attached below will need to be run against your DYNAMICS/system database, after making a backup, to verify that all of the security records are present in your SY10600, SY10700, SY09000 an SY09100 security tables.

As the Upgrade guide for Microsoft Dynamics GP 2016 R2 mentions, you will want to run these scripts after the upgrade has completed on all databases and a backup of the GP databases have been made.

A new installation of Microsoft Dynamics GP 2016 or Microsoft Dynamics GP 2016 R2 will already have all of these security records in the system tables, it is only when upgrading to these versions from Dynamics GP 2013 or Dynamics GP 2015 that this issue will occur. The reason for this is by design in that we would not roll down new security roles to an existing Microsoft Dynamics GP environment, which may cause issues with your current security design. Therefore, we have chosen to release these new security records as an INSERT script.

These scripts for Microsoft Dynamics GP 2016 / Microsoft Dynamics GP 2016 R2 missing security roles and security tasks records can be found here, and needs to be run against your DYNAMICS/security database:

MICROSOFT DYNAMICS GP 2016 YE 2020 SECURITY INSERT SCRIPTS.txt

This set of scripts includes the security scripts for Microsoft Dynamics GP 2013 R2, Microsoft Dynamics GP 2015, Microsoft Dynamics GP 2015 R2 from prior blogs, as well as Microsoft Dynamics GP 2016. You'll need to run this script whether you're upgrading from Microsoft Dynamics GP 2013 R2 or Microsoft Dynamics GP 2015/R2 to Microsoft Dynamics GP 2016/R2.

**NOTE: Because we've combined the INSERT scripts from the other blogs to be included in this one, you may see PRIMARY KEY errors referencing duplicated records trying to be inserted into the security tables. This can be ignored as it means that the record already exists in that table and the script will not overwrite anything that is already present.

For the SY10800 table, we found that inserting records into this table caused issues with the alternate/modified forms and reports window to show objects with neither the default, alternative or modified options marked, which caused 'dictionary not found' messages when users attempted to access windows or reports in the Microsoft Dynamics GP application.

To prevent this, we've modified the SY10800 script above to only add those records that have an ALTDICID value of 1493 (SmartList) or 2277 (Purchase Order Enhancements), both of which are core modules installed with the Microsoft Dynamics GP application.

For additional modules, we have the following scripts:

>>If you have Project Accounting (258) installed for Microsoft Dynamics GP 2016, run these scripts as well as the attached script file above:

GP16_YE_2020_258_Scripts.txt
Insert into SY10800 values ('DEFAULTUSER',0,151,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,155,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,160,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,162,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,202,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,210,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,224,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,247,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,257,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,266,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,267,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,316,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,326,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,382,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,383,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,385,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,386,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,390,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,395,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,406,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,469,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,526,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,591,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,662,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,663,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,664,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,665,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,666,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,684,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,685,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,686,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,687,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,688,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,698,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,701,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,704,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,705,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,708,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,733,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,734,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,734,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,735,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,736,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,737,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,768,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,770,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,774,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,775,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,777,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,780,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,789,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,793,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,807,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,808,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,809,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,817,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,818,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,827,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,828,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,829,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,832,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,839,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,849,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,851,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,852,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,868,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,880,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,887,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,887,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,888,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,888,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,890,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,895,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,953,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1064,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1153,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1155,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1163,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1164,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1165,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1166,23,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1273,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1414,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1434,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1741,2,258,0)
Insert into SY10800 values ('DEFAULTUSER',0,1749,2,258,0)

>>If you have HRM Solution Series (1911) installed for Microsoft Dynamics GP 2016, run these scripts as well as the attached script file above:

GP16_YE_2020_1911_Scripts.txt
Insert into SY10800 values ('DEFAULTUSER',0,192,23,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,208,23,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,303,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,305,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,307,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,315,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,317,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,319,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,321,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,323,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,325,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,349,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,350,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,1075,2,1911,0)
Insert into SY10800 values ('DEFAULTUSER',0,172,23,1911,0)

>>If you have Enhanced Intrastat (2788) installed for Microsoft Dynamics GP 2016, run these scripts as well as the attached script file above:

GP16_YE_2020_2788_Scripts.txt
Insert into SY10800 values ('DEFAULTUSER',0,480,2,2788,0)
Insert into SY10800 values ('DEFAULTUSER',0,482,2,2788,0)
Insert into SY10800 values ('DEFAULTUSER',0,639,2,2788,0)

>>Lastly, if you have VAT Daybook (3096) installed for Microsoft Dynamics GP 2016, run these scripts as well as the attached script file above:

GP16_YE_2020_3096_Scripts.txt
Insert into SY10800 values ('DEFAULTUSER',0,492,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,494,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,505,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,507,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,536,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,538,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,545,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,547,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,567,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,569,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,580,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,582,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,612,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,614,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,625,23,3096,0)
Insert into SY10800 values ('DEFAULTUSER',0,627,23,3096,0)

This will keep the SY10800 table from getting records for ALTDICID values for features that are not actually installed for your Microsoft Dynamics GP application, which should prevent the 'dictionary not loaded' messages from occurring after these security scripts are run.

If you believe you are experiencing an issue due to running these scripts, please make us aware of it via the comments on this blog, let us know through the Microsoft Dynamics GP Community Forums or through a support case, so we can verify it one way or the other.

Thank you and Happy Upgrading!!!