Copying Quick Links from One User to Another

Microsoft has come a decent ways to allow each user to customize their home login page.  For a long time there has been the feature for the first time that a user connects, they are prompted to select their “Role” that determines how their out of the box homepage will look & feel. 

With later versions of GP, there also came the ability to copy a user’s homepage settings from 1 user to another (along with every other setting from the original user).

However, Microsoft still hasn’t made it simple just to take an existing user’s quick links and apply them to another user.  From using the interface, you’d have to copy ALL user settings from one user to another using the “Users Maintenance” window OR you’d have to login to a certain user’s account and set their quick links OR provide them with instructions on setting them themselves. 

NO MORE! 

Using the script below…

you can define a copy from user (TestUser1) & a copy to user (TestUser2) and either replace the existing quicklinks or add to.

--Declare Variables

DECLARE
@CopyFromUserID CHAR(15), @CopyToUserID CHAR(15), @Count INT, @Delete CHAR(1)

 --Provide Values for Variables

--This is the section that MUST BE UPDATE

SELECT
@CopyFromUserID = 'TestUser1', @CopyToUserID = 'TestUser2', @Delete = 'N'
--Delete = Y means delete any existing quicklinks for copy to user, N = Append
Only

--This script will delete existing favorites if @Delete = Y

DELETE FROM
dbo.SY08140 WHERE userid = @CopyToUserID AND @Delete = 'Y'

--Start copy from one user to another

SELECT * INTO
#TempQuickLinks FROM sy08140 WHERE userid = @CopyFromUserID AND dsplname NOT IN
(SELECT DSPLNAME FROM dbo.SY08140 WHERE userid = @CopyToUserID) AND
@CopyToUserID IN (SELECT userid FROM SY01400)

SET @Count = 1

WHILE @Count <=
(SELECT COUNT(seqnumbr) FROM #TempQuickLinks)

begin

UPDATE
#TempQuickLinks SET SEQNUMBR = ISNULL((SELECT MAX(seqnumbr) + 1 FROM sy08140
WHERE USERID = @CopyToUserID),1)

INSERT
INTO SY08140 (USERID, SEQNUMBR, TYPEID, CmdID, CmdFormID, CmdDictID, DSPLNAME,
ScbTargetStringOne, ScbTargetStringTwo, ScbTargetStringThree, ScbTargetLongOne

,ScbTargetLongTwo,
ScbTargetLongThree, ScbTargetLongFour, ScbTargetLongFive)

SELECT
TOP 1 @CopyToUserID, SEQNUMBR, TYPEID, CmdID, CmdFormID, CmdDictID, DSPLNAME,
ScbTargetStringOne, ScbTargetStringTwo, ScbTargetStringThree, ScbTargetLongOne

,ScbTargetLongTwo,
ScbTargetLongThree, ScbTargetLongFour, ScbTargetLongFive FROM #TempQuickLinks
WHERE DSPLNAME NOT IN (SELECT dsplname FROM sy08140 WHERE USERID =
@CopyToUserID)

SET @Count = @Count
+ 1

END

DROP TABLE
#TempQuickLinks

--End copy from one user to another




--View ending results

SELECT * FROM
dbo.SY08140 WHERE userid = @CopyToUserID

Note: The script has only been used in limited GP 2015 R2 environments.  As always, it is recommended to run the script in a development environment before deploying to production.

This script might be useful when…
– Setting up a new user and wanting to setup their quicklinks based off another user in a similar role

– Setting up a new module and wanting to add quicklinks to all users based on your model user (say when setting up Fixed Assets & wanting to add an external link to the new GAAP Financial Leases requirements)

– Setting up a new SmartView favorite for certain users but also wanting to add the quicklink to their homepage

Have feedback or have you expanded the user of this script?  Let us know!

Share It
Share It
Tweet It
Picture of Kyle Malone, CPA
Kyle Malone, CPA

Dynamics GP Nut | GPUG All-Star 🏆 | Techo-Functional Consultant

Leave a Comment

Your email address will not be published. Required fields are marked *

30 Dynamics GP Tips & Tricks That You Cannot Live Without

Provide your email and we’ll send you our list of 30 things in GP that will have you feeling like

Send me 30 Tips & Tricks! (absolutely free)

Top-Tier Professional Consulting
Rates Lower Than The Others

Always non-billable introductory / discovery calls

$140 hour which includes ANY/ALL GP services:

  • GP Training
  • Module Implementation
  • Everyday Support
  • Report Development
  • Integration Development

We Want to See You Get Value From Your Investment In Dynamics GP!

Contact Us

ALaCarteGP, LLC | (740) 604-0099 | Madisonville, LA