Print 'Doing pre run Checks to ensure script not already run'; Select * from Script_History where Script_Name='ReleaseJuly2025Week2'; if @@ROWCOUNT!=0 BEGIN RAISERROR('THIS SCRIPT HAS ALREADY BEEN RUN ON THIS SERVER, CANNOT CONTINUE, PLEASE CONTACT DEV',11,1); RETURN; END GO -- create system function entry for SSB Reversals insert into System_Function(Description, Tool_Tip_Text, Allow_Check_List, Requires_Authentification, Function_Key_Word, RightSet, IsMenuBased) values ('Approve ssb reversals', 'None', 0, 1, 'SSB_Reversal', 1, 0); go -- link SSB Reversals system function to user profile INSERT INTO System_User_Function (System_User_ID, System_Function_ID, Right_Type_ID, Store_ID) SELECT u.System_User_ID, f.System_Function_ID, 5, CAST(d.Default_Value AS bigint) FROM [System_User] u CROSS JOIN (SELECT System_Function_ID FROM System_Function WHERE Function_Key_Word = 'SSB_Reversal') f CROSS JOIN (SELECT Default_Value FROM System_Default WHERE Default_Name = 'Main_Store_ID') d WHERE u.Global_User_ID IS NOT NULL -- prevents adding the rule to users that already have the linked system function AND NOT EXISTS (SELECT 1 FROM System_User_Function suf WHERE suf.System_User_ID = u.System_User_ID AND suf.System_Function_ID = f.System_Function_ID AND suf.Store_ID = CAST(d.Default_Value AS bigint)); go Print 'Insert into script history if everything else is cool'; Insert into Script_History (RunDate,Script_Name) Values (CURRENT_TIMESTAMP,'ReleaseJuly2025Week2'); IF @@ERROR != 0 BEGIN RAISERROR ('UNABLE TO CONTINUE WITH SCRIPT', 11, 1); RETURN; END GO