USP_ROLESYNC_APPUSER_SYNCNAMES

Updates the display name for all APPUSER records.

Parameters

Parameter Parameter Type Mode Description
@CHANGEAGENTID uniqueidentifier IN
@USERSIDLIST xml IN

Definition

Copy


            create procedure dbo.USP_ROLESYNC_APPUSER_SYNCNAMES (@CHANGEAGENTID uniqueidentifier = null, @USERSIDLIST xml)
            as
            --Used by the RoleSync utility

            set nocount on;

            if @CHANGEAGENTID is null  
                exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

            declare @CURRENTDATE datetime;
            set @CURRENTDATE=getdate();

            BEGIN TRY
                --Parse and validate user name list

                declare @sids table (sid varbinary(85), username nvarchar(255))
                insert into @sids (sid,username)
                    select distinct USERSID, DISPLAYNAME from dbo.[UFN_SYSTEMROLE_GETUSERSIDLIST_FROMITEMLISTXML](@USERSIDLIST);

                --Update display names for any Appusers where the updated name is not null

                update dbo.APPUSER set DISPLAYNAME = NEWUSERS.USERNAME,
                    CHANGEDBYID = @CHANGEAGENTID, DATECHANGED = @CURRENTDATE
                from dbo.APPUSER
                    inner join @sids as NEWUSERS
                    on APPUSER.USERSID = NEWUSERS.SID
                where len(NEWUSERS.USERNAME) > 0;

                return 0;

            END TRY
            BEGIN CATCH
                exec dbo.USP_RAISE_ERROR;
                return 1;
            END CATCH