USP_DATAFORMTEMPLATE_EDIT_GROUPSALESPAYMENTDEFAULTDEPOSIT

The save procedure used by the edit dataform template "Group Sales Payment Default Deposit Edit Data 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.
@DEPOSITREQUIRED bit IN Deposit required
@DEPOSITTIMEVALUE smallint IN Due date
@DEPOSITTIMECODE tinyint IN
@DEPOSITTYPECODE tinyint IN Type
@DEPOSITAMOUNT money IN Value
@DEPOSITPERCENT decimal(5, 2) IN Value

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GROUPSALESPAYMENTDEFAULTDEPOSIT (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @DEPOSITREQUIRED bit,
                    @DEPOSITTIMEVALUE smallint,
                    @DEPOSITTIMECODE tinyint,
                    @DEPOSITTYPECODE tinyint,
                    @DEPOSITAMOUNT money,
                    @DEPOSITPERCENT decimal(5,2)
                )
                as

                    set nocount on;

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    begin try
                        if @DEPOSITTYPECODE = 1 and @DEPOSITPERCENT = 0.00
                            raiserror('BBERR_INVALIDPERCENT', 13, 1)

                        if @DEPOSITTYPECODE = 1
                            set @DEPOSITAMOUNT = 0
                        else
                            set @DEPOSITPERCENT = 0.00


                        update dbo.GROUPSALESDEFAULT set
                            DEPOSITREQUIRED = @DEPOSITREQUIRED,
                            DEPOSITTIMEVALUE = @DEPOSITTIMEVALUE,
                            DEPOSITTIMECODE = @DEPOSITTIMECODE,
                            DEPOSITTYPECODE = @DEPOSITTYPECODE,
                            DEPOSITAMOUNT = case @DEPOSITTYPECODE when 0 then @DEPOSITAMOUNT else 0 end,
                            DEPOSITPERCENT = case @DEPOSITTYPECODE when 1 then @DEPOSITPERCENT else 0 end,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where ID = @ID
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                return 0;