USP_DATAFORMTEMPLATE_EDIT_SALESDEPOSITPROCESS3

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@DEPOSITDATEOPTIONCODE tinyint IN
@DEPOSITDATE date IN
@TEMPLATES xml IN
@PAYMENTDATEOPTIONCODE tinyint IN
@PAYMENTDATE date IN

Definition

Copy

create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_SALESDEPOSITPROCESS3
(
    @ID uniqueidentifier
    ,@CHANGEAGENTID uniqueidentifier = null
    ,@NAME nvarchar(100)
    ,@DESCRIPTION nvarchar(255)
    ,@DEPOSITDATEOPTIONCODE tinyint
    ,@DEPOSITDATE date
    ,@TEMPLATES xml
  ,@PAYMENTDATEOPTIONCODE tinyint
  ,@PAYMENTDATE date
)
as

    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    begin try
        if @DEPOSITDATEOPTIONCODE != 3
            set @DEPOSITDATE = null;

        update dbo.SALESDEPOSITPROCESS set
            NAME = @NAME
            ,DESCRIPTION = @DESCRIPTION
            ,DEPOSITDATEOPTIONCODE = @DEPOSITDATEOPTIONCODE
            ,DEPOSITDATE = @DEPOSITDATE
      ,PAYMENTDATEOPTIONCODE = @PAYMENTDATEOPTIONCODE
      ,PAYMENTDATE = @PAYMENTDATE
            ,GROUPBYDATE = case when @DEPOSITDATEOPTIONCODE = 0 then 1 else 0 end
            ,CHANGEDBYID = @CHANGEAGENTID
            ,DATECHANGED = @CURRENTDATE
        where ID = @ID;

        update dbo.SALESDEPOSITTEMPLATE
            set INCLUDEINPROCESS = T.INCLUDEINPROCESS
        from dbo.UFN_SALESDEPOSITPROCESSTEMPLATES_FROMITEMLISTXML(@TEMPLATES) T
        inner join dbo.SALESDEPOSITTEMPLATE on T.ID = SALESDEPOSITTEMPLATE.ID;

    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;