I had an issue reported with purchase requisitions the other day. I logged on and did a little testing and then, a short wile later, got an email from the client asking about some workflow approval emails some managers had received.
The email to the approvers did not contain the word “test” anywhere in either the subject or body. This lead to me having a horrible moment when I thought I might have done my testing on live; I was able to confirm quickly that I had not.
After this I decided I had better knock a quick script together which the client could incorporate into their live to test copy.
The script is more engineered than it might otherwise need to be as I have included code to only do the update when it is running against a test company (flagged with <TEST> at the end of the Company Name) and where the email subject isn’t already prefixed with the word TEST:
/*
Created by Ian Grieve of azurecurve|Ramblings of a Dynamics GP Consultant (https://www.azurecurve.co.uk)
This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int).
*/
UPDATE
['Email Messages']
SET
EmailMessageSubject = LEFT('TEST: ' + CAST(['Email Messages'].EmailMessageSubject AS CHAR(150)), 150)
FROM
SY04901 AS ['Email Messages']
INNER JOIN
DYNAMICS..SY01500 AS ['Company Master']
ON
['Company Master'].INTERID = DB_NAME()
WHERE
['Company Master'].CMPNYNAM LIKE '%<TEST>'
AND
LEFT(['Email Messages'].EmailMessageSubject, 4) <> 'TEST'
GO
As always, before running a script against a database, make sure you understand the scirpt and have a good backup of the database.
What should we write about next?
If there is a topic which fits the typical ones of this site, which you would like to see me write about, please use the form, below, to submit your idea.
2 thoughts on “SQL Script to Prefix Email Message Subjects with Test”