USP_DATAFORMTEMPLATE_EDIT_ASSIGNLETTERCODESPROCESS
The save procedure used by the edit dataform template "Assign Letters Process Edit Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@NAME | nvarchar(100) | IN | Name |
@DESCRIPTION | nvarchar(255) | IN | Description |
@IDSETREGISTERID | uniqueidentifier | IN | Selection |
@LETTERCODES | xml | IN | |
@CREATEOUTPUTIDSET | bit | IN | Create selection from results |
@OUTPUTIDSETNAME | nvarchar(100) | IN | Selection name |
@OVERWRITEOUTPUTIDSET | bit | IN | Overwrite existing Selection |
@ASSIGNALLLETTERCODES | bit | IN | Assign all letters |
@USEDATEFILTER | bit | IN | Only consider revenue added since last run |
@OUTPUTIDSETRECORDTYPEID | uniqueidentifier | IN | Selection type |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_ASSIGNLETTERCODESPROCESS
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@IDSETREGISTERID uniqueidentifier,
@LETTERCODES xml,
@CREATEOUTPUTIDSET bit,
@OUTPUTIDSETNAME nvarchar(100),
@OVERWRITEOUTPUTIDSET bit,
@ASSIGNALLLETTERCODES bit,
@USEDATEFILTER bit,
@OUTPUTIDSETRECORDTYPEID uniqueidentifier
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
begin try
if @ID is null
set @ID = NewID();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if @ASSIGNALLLETTERCODES = 0
if (select count(*) from dbo.UFN_ASSIGNLETTERCODESPROCESS_GETLETTERCODES_FROMITEMLISTXML(@LETTERCODES)) = 0
raiserror('Please enter at least one letter.', 13, 1);
update
dbo.ASSIGNLETTERCODESPROCESS
set
NAME = @NAME,
DESCRIPTION = @DESCRIPTION,
IDSETREGISTERID = @IDSETREGISTERID,
CREATEOUTPUTIDSET = @CREATEOUTPUTIDSET,
OUTPUTIDSETNAME = @OUTPUTIDSETNAME,
OVERWRITEOUTPUTIDSET = @OVERWRITEOUTPUTIDSET,
ASSIGNALLLETTERCODES = @ASSIGNALLLETTERCODES,
USEDATEFILTER = @USEDATEFILTER,
OUTPUTIDSETRECORDTYPEID = @OUTPUTIDSETRECORDTYPEID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
if @ASSIGNALLLETTERCODES = 0
exec dbo.USP_ASSIGNLETTERCODESPROCESS_GETLETTERCODES_UPDATEFROMXML @ID, @LETTERCODES, @CHANGEAGENTID, @CURRENTDATE;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;