Sample post submit stored procedure to create email when serial numbers received

Sample post submit stored procedure to create email when serial numbers received

This example stored procedure sends an email notification when serial numbers are received on a purchase order.

  1. CREATE PROCEDURE Panatrack_PostTrxReceivingNotify
  2. @TrxOid UNIQUEIDENTIFIER
  3. AS

  4. DECLARE @message AS VARCHAR(MAX)
  5. DECLARE @Start_SourceLineNumber BIGINT
  6. DECLARE @End_SourceLineNumber BIGINT
  7. DECLARE @CC_Email NVARCHAR(50)

  8. SELECT @Start_SourceLineNumber = MIN(SourceLineNumber),@End_SourceLineNumber = MAX(SourceLineNumber)
  9. FROM PanatrackerGP6_TrxReceivingUnit with(nolock)
  10. WHERE TrxReceivingOid = @TrxOid

  11. --PRINT @Start_SourceLineNumber
  12. --PRINT @End_SourceLineNumber

  13. -- PO Receipt Header
  14. SELECT @message = N'Purchase receipt: ' + R.TransactionCode + ' for Vendor: ' + VENDNAME + CHAR(13)+CHAR(10)
  15. FROM PM00200 V with(nolock)
  16. INNER JOIN PanatrackerGP6_TrxReceiving R with(nolock) ON V.VENDORID = R.VendorCode
  17. WHERE R.Oid = @TrxOid

  18. -- Loop over each receipt line item
  19. WHILE @Start_SourceLineNumber <= @End_SourceLineNumber
  20. BEGIN
  21. SELECT @message = @message + 'Item Number: ' + ItemCode + ' - Qty: ' + CAST(ReceivedQuantity AS NVARCHAR(10)) + ' ' + ItemDescription + CHAR(13)+CHAR(10)
  22. FROM PanatrackerGP6_TrxReceivingUnit with(nolock)
  23. WHERE TrxReceivingOid = @TrxOid AND SourceLineNumber = @Start_SourceLineNumber

  24. SET @Start_SourceLineNumber = @Start_SourceLineNumber + 16384
  25. END

  26. --PRINT @message

  27. IF EXISTS (SELECT * FROM PanatrackerGP6_TrxReceivingUnit with(nolock) WHERE TrxReceivingOid = @TrxOid AND TrackingOption = 2)
  28. BEGIN
  29. SET @CC_Email = 'serials@mycompany.com'
  30. END

  31. IF @message IS NOT NULL
  32. BEGIN
  33. SELECT @message

  34. EXEC msdb.dbo.sp_send_dbmail
  35. @profile_name = 'EMAIL1',
  36. @recipients = 'user1@mycompany.com; user2@mycompany.com',
  37. @copy_recipients = @CC_Email,
  38. @subject = 'PO Receipt',
  39. @body = @message;
  40. END
  41. GO

  42. GRANT EXEC ON Panatrack_PostTrxReceivingNotify TO DYNGRP
  43. GO