USP_DATAFORMTEMPLATE_ADD_PAYMENT_TERM

The save procedure used by the add dataform template "Payment Term Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@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_ADD_PAYMENT_TERM
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
    @NAME nvarchar(20),
    @DESCRIPTION nvarchar(100) = '',
    @INCLUDEDISCOUNT bit = 0,
    @DISCOUNTPERCENT decimal(20,4) = 0.0,
    @DISCOUNTDAYS smallint = 0,
    @PAYMENTDUECODE tinyint = 0,
    @DAYSDUE smallint = 0,
    @DAYOFMONTHDUE smallint = 1,
    @MONTHDUECODE smallint = 1
)
as

set nocount on;

if @ID is null
    set @ID = newid()

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


declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()

begin try
    -- handle inserting the data

    insert into dbo.PAYMENTTERM
        (ID, NAME, DESCRIPTION, INCLUDEDISCOUNT, DISCOUNTPERCENT, DISCOUNTDAYS, PAYMENTDUECODE, DAYSDUE, DAYOFMONTHDUE, MONTHDUECODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    values
        (@ID, @NAME, @DESCRIPTION, @INCLUDEDISCOUNT, @DISCOUNTPERCENT, @DISCOUNTDAYS, @PAYMENTDUECODE, @DAYSDUE, @DAYOFMONTHDUE, @MONTHDUECODE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0