USP_DATAFORMTEMPLATE_EDIT_CREDITMEMO
The save procedure used by the edit dataform template "Credit Memo 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. |
@VENDORID | uniqueidentifier | IN | Vendor |
@CREDITMEMONUMBER | nvarchar(60) | IN | Credit memo number |
@PURCHASEORDERID | nvarchar(20) | IN | PO number |
@AMOUNT | money | IN | Credit memo amount |
@DATE | datetime | IN | Credit memo date |
@POSTDATE | datetime | IN | Post date |
@POSTSTATUSCODE | tinyint | IN | Post status |
@BANKACCOUNTID | uniqueidentifier | IN | Bank account |
@REMITADDRESSID | uniqueidentifier | IN | Remit to address |
@DESCRIPTION | nvarchar(100) | IN | Credit memo description |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_CREDITMEMO(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@VENDORID uniqueidentifier,
@CREDITMEMONUMBER nvarchar(60),
@PURCHASEORDERID nvarchar(20),
@AMOUNT money,
@DATE datetime,
@POSTDATE datetime,
@POSTSTATUSCODE tinyint,
@BANKACCOUNTID uniqueidentifier,
@REMITADDRESSID uniqueidentifier,
@DESCRIPTION nvarchar(100)
)
as
set nocount on;
declare @CURRENTDATE datetime;
begin try
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
if @POSTSTATUSCODE = 3 and @POSTDATE is not null
set @POSTDATE = null;
if @AMOUNT <= 0
raiserror('ERR_NOT_ALLOW_ZEROAMOUNT', 13, 1);
exec dbo.USP_FINANCIALTRANSACTION_EDIT @ID, @CHANGEAGENTID, @VENDORID, @CREDITMEMONUMBER, @AMOUNT, @DATE, @POSTDATE, @POSTSTATUSCODE, @DESCRIPTION;
exec dbo.USP_FINANCIALTRANSACTIONSCHEDULE_UPDATE @ID, @CHANGEAGENTID, @AMOUNT, @DATE
exec USP_CREDITMEMO_VALIDATE @ID,@REMITADDRESSID,@BANKACCOUNTID
-- handle updating the data
update dbo.CREDITMEMO set
PURCHASEORDERID = @PURCHASEORDERID,
BANKACCOUNTID = @BANKACCOUNTID,
REMITADDRESSID = @REMITADDRESSID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID;
if exists (select ID from dbo.FINANCIALTRANSACTION1099DISTRIBUTION where FINANCIALTRANSACTIONID = @ID)
exec dbo.USP_UPDATE1099DISTRIBUTION @ID, @AMOUNT;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;