USP_DATAFORMTEMPLATE_EDIT_PAYMENT_TERM
The save procedure used by the edit dataform template "Payment Term 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(20) | IN | Payment term |
@DESCRIPTION | nvarchar(100) | IN | Description |
@INCLUDEDISCOUNT | bit | IN | Include discount for payment within a discount period |
@DISCOUNTPERCENT | decimal(20, 4) | IN | Discount percent |
@DISCOUNTDAYS | smallint | IN | Discount period days |
@PAYMENTDUECODE | tinyint | IN | Payment due |
@DAYSDUE | smallint | IN | Number of days |
@DAYOFMONTHDUE | smallint | IN | Day of month |
@MONTHDUECODE | smallint | IN | Month |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PAYMENT_TERM
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(20),
@DESCRIPTION nvarchar(100),
@INCLUDEDISCOUNT bit,
@DISCOUNTPERCENT decimal(20,4),
@DISCOUNTDAYS smallint,
@PAYMENTDUECODE tinyint,
@DAYSDUE smallint,
@DAYOFMONTHDUE smallint,
@MONTHDUECODE smallint
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
if @PAYMENTDUECODE=1 -- day of month
set @DAYSDUE=COALESCE(@DAYSDUE,0); -- Infinity does not allow nulls in the db, yet it passes them in in my sprocs. Great.
if @INCLUDEDISCOUNT=0
begin
set @DISCOUNTPERCENT=COALESCE(@DISCOUNTPERCENT,0);
set @DISCOUNTDAYS=COALESCE(@DISCOUNTDAYS,0);
end
begin try
-- handle updating the data
update dbo.PAYMENTTERM set
NAME = @NAME,
DESCRIPTION = @DESCRIPTION,
INCLUDEDISCOUNT = @INCLUDEDISCOUNT,
DISCOUNTPERCENT = @DISCOUNTPERCENT,
DISCOUNTDAYS = @DISCOUNTDAYS,
PAYMENTDUECODE = @PAYMENTDUECODE,
DAYSDUE = @DAYSDUE,
DAYOFMONTHDUE = @DAYOFMONTHDUE,
MONTHDUECODE = @MONTHDUECODE,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = getdate()
where ID = @ID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;