USP_CREDIT_DELETE
Executes the "Delete Credit" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being deleted. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the delete. |
Definition
Copy
CREATE procedure dbo.USP_CREDIT_DELETE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as begin
--mark all memberships as active
declare @MEMBERSHIPID uniqueidentifier;
declare memberships_cursor cursor LOCAL FAST_FORWARD for
select MEMBERSHIPID from CREDITITEM
inner join SALESORDERITEMMEMBERSHIP on CREDITITEM.SALESORDERITEMID = SALESORDERITEMMEMBERSHIP.ID
where CREDITID = @ID;
OPEN memberships_cursor
FETCH NEXT FROM memberships_cursor
INTO @MEMBERSHIPID
while @@FETCH_STATUS = 0
begin
exec dbo.USP_MEMBERSHIP_MARKACTIVE @ID = @MEMBERSHIPID, @CHANGEAGENTID = @CHANGEAGENTID
FETCH NEXT FROM memberships_cursor
INTO @MEMBERSHIPID
end
close memberships_cursor
deallocate memberships_cursor
--delete all credit payments
declare @CREDITPAYMENTID uniqueidentifier;
declare payments_cursor cursor LOCAL FAST_FORWARD for
select ID from dbo.CREDITPAYMENT where CREDITID = @ID;
OPEN payments_cursor
FETCH NEXT FROM payments_cursor
INTO @CREDITPAYMENTID
while @@FETCH_STATUS = 0
begin
exec USP_CREDITPAYMENT_DELETEBYID_WITHCHANGEAGENTID @CREDITPAYMENTID, @CHANGEAGENTID
FETCH NEXT FROM payments_cursor
INTO @CREDITPAYMENTID
end
close payments_cursor
deallocate payments_cursor
--delete the credit
exec USP_CREDIT_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID
return 0;
end